请参阅帖子末尾的修复
问题是无法再通过管理信息中心更新/安装插件。仪表板本身可以访问并且大多数功能 - 除了插件更新/安装(也没有wordpress更新条目)。 我对网站的先前历史知之甚少,因为问题是在事后给我的。
我很确定文件系统权限(linux主机)没问题。试图删除所有插件(重命名目录)和.htaccess,无济于事。但是,安装插件better-wp-security并且我怀疑它在db中做了一些更改(wp_config.php中的内容很少,除了前缀更改)可能是罪魁祸首。 调用plugin-install.php时,webserver(apache)日志显示500错误:
192.168.0.1 - - [21/Jan/2015:12:56:52 +0100] "GET /wp-admin/themes.php?page=install-plugins HTTP/1.1" 500 1351 "http://xxx.yyy.zzz/wp-admin/" "Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36"
error_log很清楚。在显示的500对应中没有出现错误。实际上,即使log_errors = On,error_log中也会出现很少的错误。 php.ini有:
error_reporting = E_ALL & ~E_DEPRECATED
display_errors = Off
display_startup_errors = Off
log_errors = On
log_errors_max_len = 1024
ignore_repeated_errors = Off
track_errors = Off
html_errors = Off
mssql.min_error_severity = 10
即使将wp的调试标志设置为true,我也无法获得更多信息。
我手动重新插入了ID 1用户(wp-better-admin已删除),没有任何更改。 DISALLOW_FILE_EDIT未定义。
现在怎么办?
编辑: TL,DR:安装了一个新的wordpress,它可以工作。不要从OS包管理器安装wordpress。使用wordpress.com tarball。
我正在使用的机器是Centos6服务器。从EPEL存储库安装了Wordpress - 这似乎是明智之举,因为依赖,等等等等。不。为了避免从仪表板更新软件包更新,打包器以足够的方式修改了源:
答案 0 :(得分:1)
好的,500错误是不好的。 Apache告诉你,PHP做得太糟糕了,无法恢复。
首先想到的是,您的安全插件已更改了wp-content/uploads
或wp-content/plugins
等目录的权限。你能上传主题吗?
以下是一些通用建议。
0:备份您的数据库和您的wp-content / uploads目录。备份任何自定义主题和插件。把它们放在安全的地方。
1:上面的php.ini设置不显示记录错误的位置。有时它是Apache错误日志,有时它是/var/log/messages
确保您正在寻找正确的位置。
2:在现有网站的顶部重新安装WordPress。手动覆盖核心不应该伤害任何东西。可能是你在那里得到了一个损坏的PHP文件(我已经发生过这种情况)或者对导致问题的核心进行了一些修改。 (不太可能)
3:如果它仍在投掷500并且你无法看到哪里,那么尝试这是最后的努力
逐个安装主题和插件。在每次安装之间进行测试。
d:如果它仍然没有出现故障,请导入您的数据库。这很棘手,但听起来你是一名开发人员,所以你可以搞清楚。我在OSX上使用Sequel Pro来完成我的所有数据库工作。您还需要下载并使用Pantheon的cli工具(https://github.com/pantheon-systems/cli),以便您可以使用正确的URL更新数据库。)
现在#3是很多工作。在我的个人博客上,我花了大约15分钟的时间来完成它,但我已经这么做了很多次,我可以在睡梦中完成它。预计完成后需要60-90分钟,具体取决于您网站的大小。
如果您的网站在沙盒中正常运行,那么这就是一个益智游戏。在这一点上,尽管后方的疼痛很多,但我会:
HTH,
= C =