在我的本地测试服务器上,我使用 PHP 5.4。然而,在实时主机上,我目前仅限于 PHP 5.3,并且必须在 .htaccess 中指定它(否则默认为 5.2)。
所以我可以添加:
# Use PHP 5.3
Action application/x-hg-php53 /cgi-sys/php53
AddHandler application/x-hg-php53 .php
它在实时主机上运行良好,但会破坏本地测试服务器。
是否可以使用类似 mod_rewrite 的东西有条件的根据域指定 PHP 版本?或者,还有更好的方法? .htaccess 文件被跟踪(git),如果可能的话我想保持这种方式。
我认为有人问同样的问题here,但我没有实现动态部署方法(除了 git 推/拉过程中的一些简单的 bash 之外)。
无法使用 mod_rewrite 动态地执行此操作。
你可以尝试指向你的Action
到一个中立的 php 包装器,可以检测它是否需要运行cgi-sys/php53
或 PHP 5.4 版本。大致如下:
Action php-cgi /cgi-sys/php-wrapper.cgi
AddHandler php-cgi .php
然后在cgi-sys/php-wrapper.cgi
文件,类似:
#!/bin/sh
# check if this is the php 5.3 environment
if [ -x "/path/to/cgi-sys/php53" ]; then
# execute php 5.3
export PHPRC=/path/to/php5.3/rc
exec /path/to/cgi-sys/php53
else
# else, run php 5.4
export PHPRC=/path/to/php5.4/rc
exec /path/to/cgi-sys/php54
fi
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)