.htaccess php_value display_errors 设置因错误 500 而中断

Posted

技术标签:

【中文标题】.htaccess php_value display_errors 设置因错误 500 而中断【英文标题】:.htaccess php_value display_errors settings breaks with error 500 【发布时间】:2013-05-02 20:19:17 【问题描述】:

我为带有 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.

Google 的解决方案,人们说 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 例如:

过期活动在 ExpiresDefault "访问加 10 年" 文件匹配>

500 错误消失,php_value 指令正常工作。

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

【问题讨论】:

【参考方案1】:

首先应该是

php_flag   display_errors       Off

不喜欢

 php_value   display_errors       Off

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

【讨论】:

更改为php_flag display_errors off 并没有解决问题。正如我所说,我将 PHP 作为 Apache 模块运行并在 .htaccess 文件中设置 php_flag 应该可以工作。 如果是关于flag display_errors,你可以把这一行(在远程服务器上调试你的php代码)放在同一目录的php.ini中。例如。我将以下两行放在 php.ini 文件中:display_errors = On error_reporting = -1

以上是关于.htaccess php_value display_errors 设置因错误 500 而中断的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 AllowOverride 指令来允许 .htaccess 文件覆盖 php_value (Apache2)

.htaccess php_value display_errors 设置因错误 500 而中断

apache中的php_value auto_prepend_file如何与php一起使用它总是留在内存中吗?

session 存redis

区分WORDPRESS user_loginuser_nicenameuser_displayname

UFUN函数UF_MODL UF_DISP UF_OBJ(name_switch) ( UF_DISP_ask_name_display_statusUF_DISP_set_name_displ(