我正在尝试在测试服务器上复制网站。但是,在测试服务器上,.php
文件不会被解释。我发现原因是文档根目录中的.htaccess
文件。内容:
# Use PHP5 Single php.ini as default
AddHandler application/x-httpd-php5s .php
RewriteEngine On
#RewriteRule ^$ index.php [QSA]
RewriteRule ^(.*)$ /web/$1
如何配置Apache2 / PHP5以支持处理程序application/x-httpd-php5s
?是否有任何软件包可以使这个处理程序可用?
更新:它可能是Bluehost.com特有的处理程序。我正在调查这个......
更新2:为了避免更改.htaccess
文件,这会导致不一致,我向Apache添加了一个处理程序“application / x-httpd-php5s”:
AddHandler application/x-httpd-php5s .php
Action application/x-httpd-php5s /cgi-bin/php5
但是,该处理程序在生产服务器上的行为不会像生成服务器那样导致PHP解释器在文档根目录中使用php.ini
并将其用于所有子目录。例如,一个有点丑陋的解决方法是将php.ini
符号链接到测试服务器上的全局php.ini
。
答案 0 :(得分:8)
我一直在使用Bluehost。 你所说的只是加载的php.ini文件。
AddHandler application / x-httpd-php5s .php
为该服务器上托管的所有网站加载一个php.ini文件。 php.ini文件通常位于public_html文件夹中。
如果您将其更改为;
AddHandler application / x-httpd-php5 .php
然后服务器将在与.htaccess文件相同的文件夹中查找php.ini。
5之后的“s”表示单身。
答案 1 :(得分:2)
AddHandler application / x-httpd-php5s是源处理程序。
您所要做的就是将其更改为AddHandler application/x-httpd-php5 .php
答案 2 :(得分:0)
出于性能原因,我已经说服我的客户远离Bluehost。所以现在对我们来说这不是问题。但是,从我所看到的情况来看,我很确定x-httpd-php5s
这是一个Bluehost特定的处理程序。