WP4.1 - 插件安装.php给出“您没有足够的权限来访问此页面


WP4.1 - plugin-install.php gives "You do not have sufficient permissions to access this page."

请参阅帖子末尾的修复程序

问题是插件无法再通过管理仪表板更新/安装。仪表板本身可以访问,并且大部分功能齐全 - 除了插件更新/安装(也没有wordpress更新条目)。我对该网站的先前历史知之甚少,因为问题是在事后交给我的。

我很确定文件系统权限(linux 主机)没问题。 尝试删除所有插件(重命名目录)和 .htaccess,但无济于事。但是,安装了更好的 wp-security 插件,我开始怀疑它在数据库中所做的一些更改(除了前缀更改之外,wp_config.php中几乎没有什么更改)可能是罪魁祸首。Web服务器(apache)日志在调用插件安装.php时显示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 个对应关系中没有显示任何错误。实际上,error_log中很少出现错误,即使使用 log_errors=On。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,它可以工作。不要从操作系统包管理器安装 wordpress。使用 wordpress.com 压缩包。

我正在使用的机器是一台 Centos6 服务器。WordPress是从EPEL存储库安装的 - 这似乎是明智的做法,因为依赖关系,等等。不。为了避免从仪表板更新包,打包程序以足够方便的方式修改了源,以便:

  1. 还禁止插件安装/更新
  2. 这样做时不要给任何关于正在发生的事情的暗示
  3. 在标准更新中更改行为

因此出现了混乱。toool wp-cli,(https://trepmal.com/2014/02/22/getting-started-with-wp-cli/)及其核心验证校验和命令对解决方案很有帮助 - 高度推荐。

好的,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进行我所有的DB工作。您还需要下载并使用万神殿的 cli 工具 (https://github.com/pantheon-systems/cli),以便您可以使用正确的 URL 更新您的数据库)

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

如果您的网站在沙盒中正常工作,那么这是一个难题。在这一点上,尽管后方很痛苦,但我会:

  • 备份所有内容 删除服务器上的所有内容(好吧,与本网站有关的所有内容)
  • 一次重新安装一个,直到它正常工作,或者再次出错。

呵呵,

=C=