【发布时间】:2017-08-03 11:06:22
【问题描述】:
我有一个非常古老的大型 WordPress 网站来修复和开发它。在我修复了一些错误后,我在该子域全局收到了一个 Internal Server Error 500 错误(也适用于 wp-admin、wp-login、index.php 等)。
注意:我无法访问服务器上的error.log。
我为尝试解决此问题而采取的步骤:
首先,我检查了
.htaccess文件,将其删除,然后使用 WordPress 默认值手动重新创建它,但没有帮助。其次,我通过添加
php.ini文件来增加PHP 限制,并且还在wp-config.php中定义了限制,但没有任何改变。然后我停用了所有插件(重命名插件目录),但仍然没有。
我从新安装的 WordPress 更新了
wp-admin、wp-includes目录和其他一些核心文件。我意识到目录和文件权限错误。我设置了 644(用于文件)和 755(用于目录)权限。还是报错。
我将phpMyAdmin中的
home和site url选项修改为子域。之后我决定重新安装整个 WordPress 来解决这个问题,当我在上传和画廊。它们大多是某种后门。幸运的是 Apache 没有在我的机器上运行。
毕竟,我在 FTP 服务器上创建了一个额外的备份目录,并将旧的 WordPress 站点移到其中。我将最新的 WordPress 上传到服务器上的原始站点位置,并设置
wp-config.php文件。但我仍然收到Internal Server Error 500错误。
更新:我尝试使用以下代码设置WP_DEBUG:
// Enable WP_DEBUG mode
define('WP_DEBUG', true);
// Enable Debug logging to the /wp-content/debug.log file
define('WP_DEBUG_LOG', true);
// Disable display of errors and warnings
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors',0);
它不会将debug.log 保存到wp-content 目录中。
在.htaccess中也使用了这段代码:
php_flag display_startup_errors on
php_flag display_errors on
php_flag html_errors on
php_flag log_errors on
php_value error_log / <root>/public_html/PHP_errors.log
总之,我猜问题出在 MySQL 数据库上,但我希望我错了。它非常大,不知道这可能是什么问题。也许wp_options 表中有一些东西。我不知道。
我使用 WinSCP 进行 FTP,使用 Notepad++ 和 Eclipse 进行编辑。
【问题讨论】:
-
Tried everithing是的,当然。除了读取error.log... -
-
检查你服务器上的error.log,这样你就可以解决你的问题了。
-
我无权访问日志,但 try & catch 是个好主意。我试试看。
-
尝试在 wp-config.php 中将 debug 选项设置为 true 作为 define( 'WP_DEBUG', true );并阅读错误日志 - 它们通常位于服务器上的 /var/log/apache2 上(或基于操作系统的其他位置)。
标签: php mysql wordpress .htaccess internal-server-error