WordPress async-upload.php 403 错误

Posted

技术标签:

【中文标题】WordPress async-upload.php 403 错误【英文标题】:WordPress async-upload.php 403 error 【发布时间】:2016-02-22 23:16:30 【问题描述】:

对于我的一位客户,我已应要求将他们的网页移至 VPS。但我是一名网络开发人员,不擅长服务器配置。

由于权限配置错误,在我看来,我无法在媒体库中获取图像,没有错误或某事。此外,当我尝试上传一个新文件时,它会完成 Uploading 过程,但会卡在 Processing 过程中并在 async-upload.php 上出现 403 错误。

我已经尝试了 wp-contentwp-content/uploads755777 权限,不能解决问题。

任何帮助将不胜感激。

编辑:添加了日志。

这些来自 requests.log

*.252.164.35 - - [20/Nov/2015:18:14:48 -0500] "GET /xml_feed/********.php HTTP/1.1" 200 1861
*.252.164.35 - - [20/Nov/2015:18:14:51 -0500] "GET /xml_feed/*****.php HTTP/1.1" 200 394
*.252.164.35 - - [20/Nov/2015:18:14:52 -0500] "GET /xml_feed/***.php HTTP/1.1" 200 359
*.253.241.91 - - [20/Nov/2015:18:14:50 -0500] "POST /wp-admin/async-upload.php HTTP/1.1" 200 11
*.253.241.91 - - [20/Nov/2015:18:14:53 -0500] "POST /wp-admin/async-upload.php HTTP/1.1" 403 3214

编辑 2: 授予所有文件夹 777 权限,现在我可以重新安装我的 WP 设置并从面板更新我的插件,但媒体库问题仍然存在,异步-upload.php 仍然给出 403 错误。

【问题讨论】:

检查 Apache 日志,通常在 /var/log/httpd 中寻找线索。 403 表示您被禁止查看资源。还要检查 /etc/httpd/conf 中的 htaccess 文件和虚拟主机配置 @Grasshopper 感谢您的回复。我编辑了我的帖子,添加了日志。 @Grasshopper 我的 xml_feed 请求和 WP 的新媒体请求之间存在 IP 差异。会不会是问题的原因? 授予所有文件夹 777 权限,现在我可以重新安装我的 WP 设置并从面板更新我的插件,但媒体库问题仍然存在,async-upload.php 仍然给出 403 错误。 【参考方案1】:

我的问题与数据库上的 auto_increment 问题有关。

这是为我解决的问题:

DELETE FROM wp_termmeta  WHERE meta_id=0;
DELETE FROM wp_terms  WHERE term_id=0;
DELETE FROM wp_term_taxonomy  WHERE term_taxonomy_id=0;
DELETE FROM wp_commentmeta  WHERE meta_id=0;
DELETE FROM wp_comments  WHERE comment_ID=0;
DELETE FROM wp_links  WHERE link_id=0;
DELETE FROM wp_options  WHERE option_id=0;
DELETE FROM wp_postmeta  WHERE meta_id=0;
DELETE FROM wp_users  WHERE ID=0;
DELETE FROM wp_posts  WHERE ID=0;
DELETE FROM wp_usermeta  WHERE umeta_id=0;

ALTER TABLE  wp_termmeta ADD PRIMARY KEY(meta_id);
ALTER TABLE  wp_terms ADD PRIMARY KEY(term_id);
ALTER TABLE  wp_term_taxonomy ADD PRIMARY KEY(term_taxonomy_id);
ALTER TABLE  wp_commentmeta ADD PRIMARY KEY(meta_id);
ALTER TABLE  wp_comments ADD PRIMARY KEY(comment_ID);
ALTER TABLE  wp_links ADD PRIMARY KEY(link_id);
ALTER TABLE  wp_options ADD PRIMARY KEY(option_id);
ALTER TABLE  wp_postmeta ADD PRIMARY KEY(meta_id);
ALTER TABLE  wp_users ADD PRIMARY KEY(ID);
ALTER TABLE  wp_posts ADD PRIMARY KEY(ID);
ALTER TABLE  wp_usermeta ADD PRIMARY KEY(umeta_id);

ALTER TABLE wp_termmeta CHANGE meta_id meta_id  BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT;
ALTER TABLE wp_terms CHANGE term_id term_id  BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT;
ALTER TABLE wp_term_taxonomy CHANGE term_taxonomy_id term_taxonomy_id  BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT;
ALTER TABLE wp_commentmeta CHANGE meta_id meta_id  BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT;
ALTER TABLE wp_comments CHANGE comment_ID comment_ID  BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT;
ALTER TABLE wp_links CHANGE link_id link_id  BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT;
ALTER TABLE wp_options CHANGE option_id option_id  BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT;
ALTER TABLE wp_postmeta CHANGE meta_id meta_id  BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT;
ALTER TABLE wp_users CHANGE ID ID  BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT;
ALTER TABLE wp_posts CHANGE ID ID  BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT;
ALTER TABLE wp_usermeta CHANGE umeta_id umeta_id  BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT;

取自here

【讨论】:

【参考方案2】:

当我更改服务器时,我在我的数据库中使用了查找和替换文件夹结构 /folder_name/public_html/blog -> /srv/www/html/blog。这个工具很好用interconnect。我最初尝试在记事本中使用查找和替换,但

SELECT * FROM wp_posts WHERE ID = '0' AND post_type = 'attachment';

SELECT ID, COUNT(*) c FROM wp_posts GROUP BY ID HAVING c > 1;

【讨论】:

【参考方案3】:

似乎是一个错误配置的插件导致了这个问题。主题可以关闭。

【讨论】:

请考虑提供有关此主题的更多信息。您目前为遇到同样问题的人提供了一条死胡同。

以上是关于WordPress async-upload.php 403 错误的主要内容,如果未能解决你的问题,请参考以下文章

wordpress怎样安装主题

什么是WordPress?

wordpress是啥

如何安装Wordpress

如何进行wordpress的二次开发

wordpress怎样搭建网站