我正在Site5上托管我的登台和制作服务器,这是一个相对优秀的主机IMO。问题不在于它们的质量,而在于与PHP版本相关的问题。
我们的开发服务器使用的是PHP 5.3,这是一个很好的版本,5.4太新了,我们不想使用它的功能,还不够广泛。
问题是,Site5默认使用PHP 5.2,但您可以使用HTACCESS AddHandler语句更改为5.3。在Site5上工作正常,但是当我们将该语句保留在HTAccess文件中时,我们的开发服务器崩溃。
如果您使用SVN / Git来部署您的网络应用程序,您知道您始终在任何地方保留相同的文件,因此它会受到伤害,我似乎无法找到任何关于AddHandler的HTACCESS文件的条件语句。我可以轻松地在重写引擎上写条件,但我找不到任何看起来像这样的行为:
#<If SERVERNAME == "targethost.com">
# PHP 5.3 configuration for site5
# AddHandler application/x-httpd-php53 .php
#</If>
任何人都有解决方案吗?
答案 0 :(得分:2)
我有同样的问题,无法在.htaccess中找到解决方案。您可能已经看到了this种解决方案,但它对我不起作用。
由于我使用Capistrano在Site5托管上部署我的应用程序,因此我决定在每次部署完成时通过向部署设置文件添加一行来更改.htaccess,该文件只运行shell命令:
run "echo 'AddHandler application/x-httpd-php53 .php' >> #{release_path}/public/.htaccess"
注意:#{release_path}是我应用的根路径。
我问过Site5对此的支持,但不幸的是他们不能建议我。
答案 1 :(得分:2)
自Apache 2.4起,您可以在.htaccess文件中使用此表达式:
<If "%{HTTP_HOST} == 'example.com'">
AddHandler application/x-httpd-php53 .php
</If>
https://httpd.apache.org/docs/2.4/expr.html#examples
请注意,这在Apache 2.2中不起作用。