我使用apache2和libapache2-mod-php5 5.3.3-7运行Debian Linux。
我有一个需要php4的VirtualHost。 所以我研究并编译了php4-cgi。
但是,我似乎无法:
这是我的php4-cgi映射(在一个php4虚拟主机中):
ScriptAlias /php4 /usr/local/php4/bin <Directory /usr/local/php4/bin> Options +ExecCGI +FollowSymLinks </Directory> <Directory /www/test> AddHandler php4-cgi-script .php Action php4-cgi-script /php4/php Options +ExecCGI </Directory>
这是行不通的,mod-php5仍然运行在这个vhost /目录中的所有.php文件。 如果我将上面的AddHandler中的文件扩展名从.php更改为.php4,那么.php4文件会按照预期运行php4-cgi,但是我不能将应用程序中的所有文件都更改为.php4。
我想也许我可以在我的虚拟主机或目录中禁用mod-php5的映射,然后执行我的cgi-config(如上所述),但在不同的上下文中这些组合不起作用:
RemoveHandler .php RemoveType .php php_flag engine off (this seems to even disable my php4-cgi so that wont work)
唯一的其他地方我可以find任何映射在/etc/mime.types,但注释掉相关的行并重新启动apache2不影响mod-php5的.php映射。
我尽可能地search,现在对我来说是个谜。
任何帮助或方向将不胜感激。
默认情况下,大多数Linux发行版的mod_phpconfiguration将位于conf.d /和/或mods-available /下的apache目录中(例如:/etc/apache2/conf.d/php5.conf或/ etc / apache2 / mods -available / mod-php5),这是处理程序被全局定义到服务器范围的地方。
你将不得不改变你的configuration来启用每个虚拟主机的php5 / php4,或者在全局服务器范围中定义一个不同的扩展名,例如php4处理程序的.php4,这取决于你有多less个虚拟主机可能会或可能不会有吸引力的。
你可以使用ScriptAlias和Action – 我已经写了一段时间了,在这里做这个: http : //tales.itnobody.com/2009/05/running-parallel-versions-of-php-part-2 html的
你最终的目标是:
ScriptAlias /php5.3 /path/to/php/bin Action application/php5.3 /php5.3/php-cgi