我的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