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

Apache 下 PHP 以 CGI 與模塊兩種模式運行的配置差異

     編輯:PHP 綜合知識

環境版本

  • PHP 5.0.0b4
  • Apache 2.0.49 (Win32)

模式一:CGI 模式

每次請求啟動獨立 `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

關鍵差異總結

Windows 實踐建議

  • 開發/測試環境:CGI 便於配置熱重載
  • 生產環境:模塊模式 + OPcache 獲得最佳性能
  • Apache 2.4 + PHP 7/8:使用 `php7apache2_4.dll` / `php8apache2_4.dll`
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
維度CGI模塊
進程模型每請求一進程常駐內存,共享進程
性能較低 (進程創建開銷)高 (無進程創建)
隔離性強 (崩潰不影響 Apache)弱 (模塊崩潰可能拖垮 Apache)
配置生效修改 php.ini 即時生效需重啟 Apache
線程安全無需考慮需 Thread Safe 版 PHP (ZTS)