PHP 4.0 RC1 引入 Zend Engine 1.0、Session 支援、輸出緩衝等里程碑功能。本文記錄 Win2000 + IIS 5 下以 ISAPI 模式安裝 PHP 4 的歷史教程。
PHP 4.0 Release Candidate 1 Binaries for Win32 (非 Source code)C:\PHP4php.ini-dist → C:\WINNT\php.ini (通常無需修改即可運作)C:\PHP4\sapi\php4isapi.dll 至 C:\WINNT\system32\ (或保留原處,下方指定完整路徑)compmgmt.msc) → 服務和應用程式 → Internet Information Services → 預設網站 → 右鍵屬性PHPC:\PHP4\sapi\php4isapi.dllC:\PHP4\sapi\php4isapi.dll.php (含點號)net stop iisadmin /y net start w3svc
C:\Inetpub\wwwroot\hello.php:
<?php echo "Hello, World!"; ?>
瀏覽 https://localhost/hello.php。
| 模式 | 進程模型 | 效能 | 穩定性 |
|---|---|---|---|
| CGI (PHP 3) | 每請求啟動新進程 | 極低 | 進程隔離,崩潰不影響主進程 |
| ISAPI (PHP 4) | DLL 載入 IIS 進程內 | 高 | PHP 崩潰可能導致 IIS 崩潰 |
| FastCGI (PHP 5+) | 獨立進程池,Nginx/IIS 轉發 | 高 | 進程隔離,支援平滑重啟 |
PHP 4 ISAPI 時代結束於 PHP 5.3 移除 ISAPI 支援。現代 IIS 部署 PHP 僅需:
# 1. 安裝 PHP (含 php-cgi.exe)
# 2. 註冊 FastCGI
%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi /+[fullPath='C:\PHP\php-cgi.exe']
# 3. 映射 .php
%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/handlers /+[name='PHP_via_FastCGI',path='*.php',verb='*',modules='FastCgiModule',scriptProcessor='C:\PHP\php-cgi.exe',resourceType='Either']