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-content 和 wp-content/uploads 的 755 和 777 权限,不能解决问题。
任何帮助将不胜感激。
编辑:添加了日志。
这些来自 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 错误的主要内容,如果未能解决你的问题,请参考以下文章