无法运行任何 PHP

无法运行任何 PHP

我经营着一个相当受欢迎的网站(我不是想吹牛,但我有 20,000 名用户想要访问。我不想让他们再等了。)它已经停机近一个月了,而我一直在努力找出问题所在。基本上,我无法运行任何 PHP。这一切都发生在我们将我的帐户转移到 CPanel 之后,这样我就可以自己管理事情,而无需我的网络管理员的帮助。我喜欢拥有 CPanel 访问权限,但我无法运行任何 php。

我重新上传了网站,恢复了 1.3TB 的数据库,创建了新的子域,更改了所有权,修复了权限,使 CPanel 中的一切都完美无缺。但是,我在运行网站时只收到 500 错误。PHP 根本不起作用,甚至连简单的回显都不起作用。

我创建了新的 .php 文件并尝试了,但仍然不行。当我在 WAMP 和 XAMPP 中运行网站时,它运行正常(我猜)但我看不到网站,它只是抱怨找不到数据库,因为 $database 变量设置为 localhost。

我和我的网络管理员尝试了所有方法。HTML 运行良好。我几乎被困在这里。如果您想亲自查看 500 错误:capecraft.capturedhdtv.com/capes/site/demo.php。

任何解决方案都将不胜感激。此外,我们还尝试过删除 .htaccess 之类的方法。

此外,我的日志什么都没告诉我。FTP 中的 error_log 只告诉我很久以前在设置过程中犯的错误,例如 404.shtml 不存在,因为我忘记复制它。cpanel 中的错误日志没有告诉我与我的问题相关的任何信息。只是告诉人们试图访问的文件不存在,例如服务器上没有的图片(与网站完全无关)

CPanel 日志:如果您看到 .png 和丢失的 IP 或部分目录,我出于安全目的将其删除。

[Fri Feb 24 03:35:14 2012] [error] [client ] File does not exist: /home//public_html/capes2/404.shtml
[Fri Feb 24 03:35:14 2012] [error] [client ] File does not exist: /home//public_html/capes2/.png
[Fri Feb 24 03:35:13 2012] [error] [client ] File does not exist: /home//public_html/capes2/404.shtml
[Fri Feb 24 03:35:13 2012] [error] [client ] File does not exist: /home//public_html/capes2/.png
[Fri Feb 24 03:35:10 2012] [error] [client ] File does not exist: /home//public_html/500.shtml
[Fri Feb 24 03:35:10 2012] [error] [client ] SoftException in Application.cpp:357: UID of script "/home//public_html/capes/site/sup/tests/action-acceptance.php" is smaller than min_uid
[Fri Feb 24 03:35:09 2012] [error] [client ] File does not exist: /home//public_html/capes2/404.shtml
[Fri Feb 24 03:35:09 2012] [error] [client ] File does not exist: /home//public_html/capes2/.png
[Fri Feb 24 03:35:09 2012] [error] [client ] File does not exist: /home//public_html/capes2/404.shtml
[Fri Feb 24 03:35:09 2012] [error] [client ] File does not exist: /home//public_html/capes2/.png
[Fri Feb 24 03:35:06 2012] [error] [client ] File does not exist: /home//public_html/capes2/404.shtml
[Fri Feb 24 03:35:06 2012] [error] [client ] File does not exist: /home//public_html/capes2/J.png
[Fri Feb 24 03:35:01 2012] [error] [client ] File does not exist: /home//public_html/capes2/404.shtml
[Fri Feb 24 03:35:01 2012] [error] [client ] File does not exist: /home//public_html/capes2/.png
[Fri Feb 24 03:34:57 2012] [error] [client ] File does not exist: /home//public_html/capes2/404.shtml

答案1

说实话?雇个人来管理你的服务器。如果你有 1.3结核病数据库,cPanel 不适合您。考虑到数据量,您需要一个经过充分优化的 MySQL 服务器才能获得接近可接受的性能。cPanel 并不完全适合大型网站(它严重限制了您可以更改的服务器端设置数量,而不会破坏其他设置)。

但是,您的实际问题可能是文件权限。cPanel 以这样一种方式配置 PHP,如果权限太开放,它将无法运行(这在共享服务器上是完全合理的,而 cPanel 就是为此设计的)。将所有文件 CHMOD 为 644,将所有目录 CHMOD 为 755(请参阅http://djlab.com/2009/06/cpanel-suphp-chmod-all-files-644-and-all-folders-755/

答案2

你的 whm 有一个名为最低 uid 的设置,它的默认值是 500,在 Linux 中,一旦你创建一个账户来使用 cpanel,每个用户都有一个唯一的编号,称为 uid法里德此帐户的 uid 将为 500,下一次将设置为 501,依此类推。对于任何用户,您都可以使用此 ssh 命令检查用户 uid:

id -u username

出于安全原因,whm 配置了 apache 服务器以不执行文件中的任何 php 脚本,该文件的所有者的 uid 小于 whm 中设置为 500 的最小 uid。

因此,如果你使用 scp/ftp 上传你的网站文件,请使用用户例如所有这些文件的所有权设置为,因此请检查此用户 uid 是否小于 500(顺便说一下用户 uid 默认为 0)使用此 ssh 命令将所有者 uid 更改为大于 500 的值:

usermod -u 1000 username

或者使用此 ssh 命令将文件所有权更改为另一个用户:

 chown -R username:username  /home/username/public_html/

答案3

首先检查 PHP 解释器是否正常工作的一个简单方法是在命令行上运行它,

php yourphpscript.php

如果上述命令抛出脚本的输出,那么几乎可以确认您的 PHP 解释器运行正常。

其次,内部服务器错误肯定会记录到 Apache error_log 中。您提供的代码片段似乎并未表明任何内部服务器错误实例。

更好的方法是运行带有 -f 选项的 tail 来跟踪日志文件,然后访问您的网站 URL。记录的任何错误/消息都会显示在屏幕上,

tail -f /path/to/apache/error_log 

.htaccess 中的输入不正确也可能导致 500 内部服务器错误。

相关内容