突然所有的。php文件在我的服务器导致内部服务器错误。
我不知道它是否相关,但它是在我更新yum时开始的。
即使空白的。php文件也会导致错误。我已经移动了我所有的网站内容,只尝试了一个空的。php文件,仍然给出了相同的错误。
也没有。htaccess文件。
我该怎么办?=/
(同一服务器上的其他站点工作正常)
Apache和php日志似乎没有更新。Apache的最后一个版本是今天发布的,但与这个问题没有任何关系。PHP的最后一个是四月
更新我发现每个域都有自己的Apache日志。
这里是这个特定网站的内容
[Thu Jul 28 22:04:02 2011] [error] [client 173.245.56.24] Premature end of script headers: cgi_wrapper
[Thu Jul 28 22:04:02 2011] [error] [client 173.245.56.168] suexec policy violation: see suexec log for more details
[Thu Jul 28 22:04:02 2011] [error] [client 173.245.56.168] Premature end of script headers: cgi_wrapper
[Thu Jul 28 22:04:02 2011] [error] [client 103.22.200.144] suexec policy violation: see suexec log for more details
[Thu Jul 28 22:04:02 2011] [error] [client 103.22.200.144] Premature end of script headers: cgi_wrapper
[Thu Jul 28 22:04:02 2011] [error] [client 103.22.200.150] suexec policy violation: see suexec log for more details
[Thu Jul 28 22:04:02 2011] [error] [client 103.22.200.150] Premature end of script headers: cgi_wrapper
[Thu Jul 28 22:04:03 2011] [error] [client 173.245.56.168] suexec policy violation: see suexec log for more details
[Thu Jul 28 22:04:03 2011] [error] [client 173.245.56.168] Premature end of script headers: cgi_wrapper
[Thu Jul 28 22:04:04 2011] [error] [client 199.27.128.138] suexec policy violation: see suexec log for more details
[Thu Jul 28 22:04:04 2011] [error] [client 199.27.128.138] Premature end of script headers: cgi_wrapper
[Thu Jul 28 22:04:04 2011] [error] [client 103.22.200.246] suexec policy violation: see suexec log for more details
[Thu Jul 28 22:04:04 2011] [error] [client 103.22.200.246] Premature end of script headers: cgi_wrapper
我不确定,但有时它可能与文件的权限有关。在我使用的web主机上,如果权限没有设置为655,它将给出505;777将给出一个500内部服务器错误。我的猜测是,在PHP发行版的YUM更新中,他们做了类似的事情,但这只是猜测。简而言之,检查文件权限,如果它们不是655,然后尝试将它们更改为655。
尝试阅读日志。请记住,许多主机在超载时抛出500内部服务器错误,即使php没有问题。当我或同一服务器上的其他人超额收费时,我的共享主机帐户就会发生这种情况
如果等待服务器变得不那么忙或者你没有看到日志,那么你应该真的和你的主机支持人员谈谈,这似乎与PHP本身无关,至少与你这边无关。
在https://support.exabytes.com/kb/a3479/500-internal-server-error-information.aspx:
权限错误,可由组
写一个错误的权限错误可能看起来像这样:
[Sun Jun 05 12:03:22 2012] [error] [client 66.249.72.82] SoftException in Application.cpp:601: Directory "/home/exampleuser/public_html" is writeable by group
在本例中,文件夹对文件夹的权限设置过高。要纠正这个错误,需要将权限从"777"更改为"755"。
目录和文件夹应该是755。cgi-bin文件夹下的可执行脚本必须是755。图片、媒体和文本文件(如HTML)应该是644.
Files - 644CGI脚本- 755目录- 755您可以使用文件管理器修改权限,位于cPanel的"文件"类别,FTP客户端,或使用SSH/Bash中的chmod命令。
错误的。htaccess,无效的代码,命令或语法
在.htaccess
文件("。htaccess")中,您可能添加了措辞糟糕或冲突的行。解决这个问题的最佳方法是注释掉.htaccess.
你可以通过在开头加上#来注释掉.htaccess中的一行。在做任何更改之前,最好保存文件的原始副本。
例如,如果.htaccess看起来像这样:
DirectoryIndex default.html
AddType application/x-httpd-php5 php
然后尝试这样做:
DirectoryIndex default.html
#AddType application/x-httpd-php5 php
虚线和以php_flag开头的行是最常见的错误。如果不能确定哪一行有问题,则注释掉每一行。
其他常见的。htaccess错误
FollowSymlinks
错误可能如下所示:
[Sun Jun 05 12:07:10 2011] [alert] [client 66.249.72.82] /home1/examplec/public_html/.htaccess: Option FollowSymlinks not allowed here
在这个例子中,这个错误很容易修复;在指定的文件中,使用允许的指令——在这种情况下使用"SymlinksIfOwnerMatches"而不是"FollowSymlinks",或者完全删除该行。
语法不封闭
错误可能如下所示:
[Sun Jun 05 12:11:38 2011] [alert] [client 66.249.72.82] /home1/examplec/public_html/.htaccess: /home1/examplec/public_html/.htaccess:3: <IfModule>ExampleRule/Module> was not closed.
同样,解决方案是简单地修复语法,或者删除它。在这种情况下,结束";指令得当,把规则放到自己的行上去解决问题。
这些只是一些常见的例子,可能是由错误的。htaccess参数引起的。您遇到的错误可能会有所不同,但通常错误消息具有足够的描述性,无需进一步调查即可从中确定错误。
php.ini配置不正确
ForceType
当你使用的文件与(或不)扩展名不同,然后为该文件类型的正常扩展名,你可以在你的。htaccess文件中使用ForceType来明确服务器如何处理该文件(或文件夹中的所有文件)(这适用于服务器没有phpsuexec)。
一个例子:当你有一个名为"item"的文件(就像Nucleus使用的FancyURL的),并希望它被服务器解析为php,你使用以下代码在你的。htaccess文件:
ForceType application/x-httpd-php
但是,因为我们的服务器使用phpsuexec,这将导致内部服务器错误。为了解决这个问题,你可以简单地使用SetHandler而不是ForceType,所以你的。htaccess文件变成:
SetHandler application/x-httpd-php
php_value
在没有phpsuexec的服务器上,可以使用.htaccess文件中的php_value语句来更改php的设置(实际上覆盖php.ini中的设置)。在使用phpsuexec的服务器上,这也会导致服务器错误。为了解决这个问题,你可以使用一个php.ini文件,你把它放在同一个文件夹中,你会把你的。htaccess文件。在php.ini文件中,您可以更改所有php值。您只需将想要修改的值放入该文件中。例如,如果您想将short_open_tag设置为Off,您将使用short_open_tag?= off在你的。htaccess文件中。使用php.ini文件,结果如下:
[PHP]
short_open_tag = Off