WP4.1 - plugin-install.php给出“您没有足够的权限来访问此页面。”

时间:2015-01-21 16:12:49

标签: php wordpress

请参阅帖子末尾的修复

问题是无法再通过管理信息中心更新/安装插件。仪表板本身可以访问并且大多数功能 - 除了插件更新/安装(也没有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 - 这似乎是明智之举,因为依赖,等等等等。不。为了避免从仪表板更新软件包更新,打包器以足够的方式修改了源:

  1. 还禁止插件安装/更新
  2. 这样做没有任何暗示
  3. 的任何暗示
  4. 在标准更新中更改了行为
  5. 因此,snafu。具有核心验证校验和命令的toool wp-cli(https://trepmal.com/2014/02/22/getting-started-with-wp-cli/)对解决方案起了推动作用 - 非常推荐。

1 个答案:

答案 0 :(得分:1)

好的,500错误是不好的。 Apache告诉你,PHP做得太糟糕了,无法恢复。

首先想到的是,您的安全插件已更改了wp-content/uploadswp-content/plugins等目录的权限。你能上传主题吗?

以下是一些通用建议。

0:备份您的数据库和您的wp-content / uploads目录。备份任何自定义主题和插件。把它们放在安全的地方。

1:上面的php.ini设置不显示记录错误的位置。有时它是Apache错误日志,有时它是/var/log/messages确保您正在寻找正确的位置。

2:在现有网站的顶部重新安装WordPress。手动覆盖核心不应该伤害任何东西。可能是你在那里得到了一个损坏的PHP文件(我已经发生过这种情况)或者对导致问题的核心进行了一些修改。 (不太可能)

3:如果它仍在投掷500并且你无法看到哪里,那么尝试这是最后的努力

  • 转到http://getpantheon.com/register并设置免费帐户。 (不需要信用卡。是的,我为他们工作,不,这不是他们的广告。)
  • 将WordPress网站设置为沙箱
  • 逐个安装主题和插件。在每次安装之间进行测试。

    d:如果它仍然没有出现故障,请导入您的数据库。这很棘手,但听起来你是一名开发人员,所以你可以搞清楚。我在OSX上使用Sequel Pro来完成我的所有数据库工作。您还需要下载并使用Pantheon的cli工具(https://github.com/pantheon-systems/cli),以便您可以使用正确的URL更新数据库。)

现在#3是很多工作。在我的个人博客上,我花了大约15分钟的时间来完成它,但我已经这么做了很多次,我可以在睡梦中完成它。预计完成后需要60-90分钟,具体取决于您网站的大小。

如果您的网站在沙盒中正常运行,那么这就是一个益智游戏。在这一点上,尽管后方的疼痛很多,但我会:

  • 备份一切删除服务器上的所有内容(嗯, 处理这个网站的一切)
  • 一次重新安装一个,直到它正常工作,或者再次出错。

HTH,

= C =