我的apache2和PHP5.2作爲模塊安裝在httpd.conf:不同 「的LoadModule php5_module」 爲apache的虛擬主機指令
LoadModule php5_module "c:/php/php5apache2_2.dll"
PHPIniDir "C:/php/"
另外我有PHP5.3在C:/ php53文件夾。
是否可以爲不同的虛擬主機使用不同的模塊?
現在我必須更改LoadModule和PHPIniDir指令並重新啓動apache。
我的apache2和PHP5.2作爲模塊安裝在httpd.conf:不同 「的LoadModule php5_module」 爲apache的虛擬主機指令
LoadModule php5_module "c:/php/php5apache2_2.dll"
PHPIniDir "C:/php/"
另外我有PHP5.3在C:/ php53文件夾。
是否可以爲不同的虛擬主機使用不同的模塊?
現在我必須更改LoadModule和PHPIniDir指令並重新啓動apache。
我敢肯定,你不能同時加載兩個版本的PHP到Apache。 但是可以使用mod_fcgid來運行兩個不同版本的PHP。
我現在沒有Windows機器,所以我不能驗證它是否有效。 無論如何,我發現一些說明如何在這裏從Windows上設置FastCGI和PHP http://fuzzytolerance.info/blog/apache-mod_fcgid-and-php-on-windows/
有一個例外,如果你想運行不同的版本。 你不應該添加FCGI東西在全局部分,但每個虛擬主機部分,而不是
它應該是這個樣子:
<VirtualHost *:80>
ServerName site1
ServerAdmin [email protected]
DocumentRoot "c:/www/site1"
<Directory "c:/www/site1/web">
Options +ExecCGI
AllowOverride All
## FastCGI stuff
AddHandler fcgid-script .php
FcgidInitialEnv PHPRC "c:/php52"
FcgidWrapper "c:/php52/php-cgi.exe" .php
AddType application/x-httpd-php .php
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
然後設置FcgidInitialEnv PHPRC所以php.ini文件所在的目錄, FcgidWrapper添加到該PHP版本的php-cgi.exe文件中。
您必須對所有您希望運行PHP的VirtualHost重複此步驟。但是現在您可以爲每個主機定製PHPRC路徑和可執行文件,以便可以運行不同的版本並讓它們使用不同的配置。
我按照這些指示,出現了一個問題: ''''''''''''''FcgidInitialEnv'不允許在'
加載所需的所有模塊,將它們分配給不同的處理程序,並將.php設置爲與每個虛擬主機中所需的PHP版本關聯的處理程序進行分析。您無法有選擇地加載不同的模塊,因爲一個Apache進程將爲所有主機提供請求。 – 2011-03-03 07:41:34
嘿Dan,你能給我們介紹一下你提出的這個配置的例子嗎? – 2013-03-12 20:12:40