首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP TS/NTS、VC6/VC9 版本差異詳解:如何根據執行模式(ISAPI/FastCGI)選擇正確套件

     編輯:PHP 綜合知識

版本命名解碼

代碼含義說明
VC6Visual Studio 6 編譯舊版 Apache 官方僅提供 VC6 版
VC9Visual Studio 2008 編譯效能較佳,需搭配 VC9 版 Apache(如 Apachelounge)
TS (Thread Safe)線程安全執行時檢查線程安全,適合 ISAPI 模式
NTS (Non Thread Safe)非線程安全無線程檢查,效能較高,適合 FastCGI 模式

PHP 兩大執行模式

ISAPI (Internet Server API)

  • 以 DLL 形式載入,常駐記憶體,多請求共用進程。
  • 需線程安全 → 選擇 TS 版本。
  • Apache 設定:
LoadModule php5_module "C:/php/php5apache2_2.dll"
AddType application/x-httpd-php .php .php5 .phtml

FastCGI

  • 單線程處理請求,進程池管理,隔離性好。
  • 無需線程安全 → 選擇 NTS 版本(官方不建議生產環境用 NTS,但 FastCGI 下常用)。
  • Apache 設定:
ScriptAlias /php/ "C:/php/"
Action application/x-httpd-php "/php/php-cgi.exe"
AddType application/x-httpd-php .php

<Directory "C:/php/">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>

選擇建議

  1. Windows + Apache 模組模式 → VC11/VC15 TS(視 PHP 版本)。
  2. Windows + Nginx/IIS FastCGI → VC11/VC15 NTS。
  3. Linux:通常自行編譯或使用發布套件,無 VC6/VC9 概念。

常見誤區

  • ❌ 以為 VC9 就比 VC6 快 → 必須搭配同編譯器的 Apache。
  • ❌ 直接在 Action 指向 php-cgi.exe 絕對路徑 → 需用 ScriptAlias 別名。
  • ❌ 忽略目錄權限 → FastCGI 需額外 <Directory> 授權。

XAMPP 預設使用 ISAPI + TS 版本,升級時請對應版本號與線程模型。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved