3

我使用 Apache 2.4.3 和 PHP 5.4.7 为 Windows 安装了新的 XAMPP 版本 1.8.1。

我的网站都没有工作,返回 HTTP 错误 500(内部服务器错误)。我将原因追溯到这个 .htaccess 行

php_value display_errors 关闭

当我评论它时,网站工作。我有其他 php_value 命令可以正常工作。php_value error_reporting -1.

谷歌的解决方案,人们说 PHP 必须作为动态共享对象(DSO)加载。阿帕奇模块。在我的情况下是这样(httpd-xampp.conf):

加载文件“/xampp/php/php5ts.dll”
LoadModule php5_module "/xampp/php/php5apache2_4.dll"

所以这不是造成问题的原因。

php_value display_errors off为了我的团队中的其他人,我更喜欢保留在 .htaccess 文件中的解决方案。

请帮忙

== 新发展 ==

在评论了使用 mod_expires.c 并且写得不好的 .htaccess 文件的不相关部分之后,又名。正确的方法是把它放在 if 例如:

<IfModule mod_expires.c>
   过期活动在
   <FilesMatch "\.(gif|jpg|jpeg|tif|tiff|bmp|png|js|css|ico)$">
       ExpiresDefault "访问加 10 年"
   </文件匹配>
</IfModule>

500 错误消失并且 php_value 指令有效。

因此,如果您处于类似情况,请评论或删除所有不相关的行并尝试找出问题所在。

4

1 回答 1

4

首先应该是

php_flag   display_errors       Off

不喜欢

 php_value   display_errors       Off

但是,我们的服务器按照 PHP 开发人员的建议(不是作为 Apache 模块)以“CGI 模式”运行 PHP,因此您不能在 .htaccess 文件中使用“php_value”或“php_flag”命令。如果您尝试这样做,您将看到“内部服务器错误”消息。

于 2013-05-08T14:42:08.263 回答