每次請求啟動獨立 `php-cgi.exe` 進程,隔離性好,效率較低。
# httpd.conf 添加
ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php-cgi.exe"
PHP 作為 Apache 模塊常駐內存,性能顯著優於 CGI。
# httpd.conf 添加 (Apache 1.x)
LoadModule php5_module "c:/php/sapi/php5apache.dll"
AddModule mod_php5.c
AddType application/x-httpd-php .php
# Apache 2.x (無需 AddModule)
LoadModule php5_module "c:/php/sapi/php5apache2.dll"
AddType application/x-httpd-php .php
| 維度 | CGI | 模塊 |
|---|---|---|
| 進程模型 | 每請求一進程 | 常駐內存,共享進程 |
| 性能 | 較低 (進程創建開銷) | 高 (無進程創建) |
| 隔離性 | 強 (崩潰不影響 Apache) | 弱 (模塊崩潰可能拖垮 Apache) |
| 配置生效 | 修改 php.ini 即時生效 | 需重啟 Apache |
| 線程安全 | 無需考慮 | 需 Thread Safe 版 PHP (ZTS) |