我不是服务器管理员,但确实有一些使用 Linux 服务器的经验,主要是 Django 和 Nginx。我们公司有人因个人原因突然离职,我们有一个使用 PHP 的网站,其中两个页面显示我需要修复的内部服务器错误消息。
我已经在这里和 Google 上进行了相当多的搜索,并尝试了一些方法但仍然卡住,这些是页面的 URL(域名已删除):
http://dev.mydomain.com/user/login/index.php
http://dev.mydomain.com/ew-admin/submit.php
我首先在 Apache 错误日志中对 index.php url 进行 grep 搜索,发现了以下内容:
[Fri Mar 10 06:15:51.083887 2017] [core:error] [pid 24087] [client 121.97.206.98:54740] AH00124: Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace., referer: http://dev.mydomain.com/user/login/index.php
然后在谷歌搜索这些错误后,我发现了这个线程:
https://stackoverflow.com/questions/19071324/request-exceeded-the-limit-of-10-internal-redirects
这是我的 .htaccess 文件
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
我尝试将 SO 线程中建议的行添加到 .htaccess 文件中,但似乎没有任何改变。
因此接下来我检查了存储这些文件的文件和文件夹权限,它们没有设置为 755,因此我将它们更改为那样,但仍然出现内部服务器错误。
我应该知道 public_html/ 目录中有这两个目录:
dev/old_mydomain/dev
dev/ 目录是空的,而 old_mydomain/dev 目录似乎有这两个显示错误的 url 的文件,所以我尝试将所有文件从 old_mydomain/dev 移动到空的 dev/ 目录,因为 url 有“dev。”子域,但这也不起作用,所以我将文件移回。
我也在 old_mydomain/dev 目录中发现了一个 error_log,其中有以下内容,但是它似乎在去年夏天就停止记录错误了,而且我知道这两个 URL 在几个月前还正常工作:
[21-Jul-2016 11:45:20 UTC] PHP Warning: fsockopen(): unable to connect to toolbarqueries.google.com:80 (Network is unreachable) in /home/mydomain/public_html/dev/pagerank.php on line 85
[29-Jul-2016 06:03:09 UTC] PHP Warning: mysql_connect(): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111) in /home/mydomain/public_html/dev/hide/init.php on line 14
[30-Jul-2016 13:22:40 UTC] PHP Warning: mysql_connect(): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111) in /home/mydomain/public_html/dev/hide/init.php on line 14
[31-Jul-2016 10:38:20 UTC] PHP Warning: mysql_connect(): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111) in /home/mydomain/public_html/dev/hide/init.php on line 14
[07-Aug-2016 13:32:34 UTC] PHP Warning: fsockopen(): unable to connect to toolbarqueries.google.com:80 (Network is unreachable) in /home/mydomain/public_html/dev/pagerank.php on line 85
[08-Aug-2016 20:37:55 UTC] PHP Warning: mysql_connect(): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111) in /home/mydomain/public_html/dev/hide/init.php on line 14
[09-Aug-2016 23:58:17 UTC] PHP Warning: mysql_connect(): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111) in /home/eatonweb/public_html/dev/hide/init.php on line 14
[11-Aug-2016 00:04:53 UTC] PHP Warning: mysql_connect(): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111) in /home/mydomain/public_html/dev/hide/init.php on line 14
[16-Aug-2016 22:27:06 UTC] PHP Warning: mysql_connect(): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) in /home/mydomain/public_html/dev/hide/init.php on line 14
[17-Aug-2016 23:57:40 UTC] PHP Warning: mysql_connect(): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) in /home/mydomain/public_html/dev/hide/init.php on line 14
这就是我能想到的所有调试方法,现在我很困惑,任何帮助都将不胜感激!
答案1
因此在一些帮助下找到了问题,似乎 dev.mydomain.com 中没有 .htaccess 文件,因此使用了根目录中的 .htaccess,其配置不同,这导致了服务器错误。