【发布时间】:2012-06-11 07:14:41
【问题描述】:
当我使用 .htaccess 进行以下 PHP 设置时,我在访问网站时收到 500 Internal Server Error。
.htaccess 文件中的代码:
php_flag display_errors off
php_flag log_errors on
.htaccess文件的文件权限为644
我知道上面的代码是正确的。但是当它显示500 Internal Server Error 时,我也尝试了不同的代码(很可能是错误的),但没有任何效果。尝试的不同代码是:
php_value display_errors off
php_value log_errors on
和
php_value display_errors 0
php_value log_errors 1
500 Internal Server Error 的原因可能是什么?
在这个问题上向 cmets 学习后,我发现 .htaccess 上的 PHP 设置不适用于 FastCGI。因此,要更改 PHP 设置,我需要修改 php.ini 或者我需要在 php 代码中进行。当我无权修改 php.ini 文件并且我不想单独修改所有 PHP 文件时,是否有任何替代方法?
【问题讨论】:
-
您是否有权访问 Apache error.log 文件?
-
删除.htaccess文件时页面是否加载?
-
您实际上在 Apache 配置中使用
mod_php吗?如果您通过 CGI 或 FastCGI 运行 PHP,则无法通过.htaccess进行配置。 -
@Pekka 我正在寻找 Apache
error.log文件。目前我无法访问它。我会和我的托管公司谈谈这件事。 @JoeyT 是的,当我删除.htaccess文件或从.htaccess文件中删除代码时,它会加载。 @lanzz 是的,我认为这可能是问题所在。我目前不确定。我将与我的托管公司确认这一点。谢谢大家的帮助。 -
删除这些行并执行 phpinfo() 脚本。您可能已经获得了 CGI、suPHP 或 FastCGI 实现。这些不处理“php_value”指令,而是使用每个用户/请求的 php.ini 文件。围绕这个主题有很多问答。