PHP在Apache中一共有三種工做方式:CGI模式、Apache模塊DLL、FastCGI模式、php
1、CGI模式apache
PHP 在 Apache 2中的 CGI模式。編輯Apache 配置文件httpd.conf 以下:api
# PHP4 版寫法app
ScriptAlias /php/ "D:/php/" AddType application/x-httpd-php .php Action application/x-httpd-php "/php/php.exe"
# PHP5 版寫法ide
ScriptAlias /php/ "D:/php/" AddType application/x-httpd-php .php Action application/x-httpd-php "/php/php-cgi.exe"
2、Apache模塊模式spa
PHP 在 Apache 2中的 模塊模式。編輯Apache 配置文件httpd.conf 以下:code
# PHP4 版寫法blog
LoadModule php4_module "D:/php/php4apache2.dll" AddType application/x-httpd-php .php # 別忘了從 sapi 目錄中把 php4apache2.dll 拷貝出來!
# PHP5 版寫法進程
LoadModule php5_module "D:/php/php5apache2.dll" AddType application/x-httpd-php .php PHPIniDir "D:/php" # PHPIniDir 是用來指明php配置文件 php.ini 的路徑
3、FastCGI模式ip
Apache下的FastCGI模塊目前網上有兩個版本 mod_fastcgi 和 mod_fcgid。 推薦用 mod_fcgid。
使用 mod_fcgid 配置fastCGI模式
下載的 mod_fcgid,將壓縮包中的「mod_fcgid.so」文件複製到apache的「modules」目錄。打開Apache的httpd.conf 文件,在最後加入以下配置:
LoadModule fcgid_module modules/mod_fcgid.so <IfModule mod_fcgid.c> AddHandler fcgid-script .fcgi .php #php.ini的存放目錄 FcgidInitialEnv PHPRC "D:/PHP" # 設置PHP_FCGI_MAX_REQUESTS大於或等於FcgidMaxRequestsPerProcess,防止php-cgi進程在處理完全部請求前退出 FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 1000 #php-cgi每一個進程的最大請求數 FcgidMaxRequestsPerProcess 1000 #php-cgi最大的進程數 FcgidMaxProcesses 5 #最大執行時間 FcgidIOTimeout 120 FcgidIdleTimeout 120 #php-cgi的路徑 FcgidWrapper "D:/PHP/php-cgi.exe" .php AddType application/x-httpd-php .php </IfModule>
修改DocumentRoot 路徑的配置爲:
<Directory "D:/WWW"> Options Indexes FollowSymLinks ExecCGI Order allow,deny Allow from all AllowOverride All </Directory>