最新消息:

nginx下解决wordpress提示“无法将上传的文件移动至 XX”

Linux运维 大步 3259浏览 0评论

nginx wordpress 解决 无法 上传 文件 移动

今天在网页上传图片到博客,结果提示:“无法将上传的文件移动至 /home/wwwroot/wp-content/uploads/2013/”,郁闷了,认为是权限问题,修改了文件,都改成了777的权限,但是还是不可以写入,图片无法上传。以前看到一篇文章说是

 

上传功能使用php程序完成,也就是php-fpm进程的用户去写wordpress的上传目录。
但是上传目录位于nginx的html目录下且属主是nginx的运行用户。
也就是说用www去写root用户的文件夹,当然写不了。
自己可以分别用    ps -ef|grep 用户名  和    ps -ef|grep php-fpm  来分别查看用户分别调用了哪些进程
解决方法:
1.修改nginx.conf中的user指令为www用户。
 2.重启nginx
我的情况也是这个原因导致的,因为这是我半重装wordpress后才出现的问题。索性,我查看了我的网站根目录文件夹的权限,显示是www ,www  ,而用ps aux|grep nginx 显示的是nobody 的身份运行nginx的子程序,ps aux|grep php-fpm,显示的也是nobody。同时发现,我网站里的其他的文件和文件夹的权限却是root,root。这可能是因为我上次直接用root身份拷贝导致的,所以,无法用nobody的身份修改root的文件。
方法如下:
第一步:
先分别将nginx和php-fpm子程序的运行身份变成www,用户组group也变成www。
修改nginx.conf文件,将user nobody nobody;改成user www www;
运行命令:service nginx restart              //重启nginx
修改php-fpm.conf,将其中的
user = nobody
group = nobody
改成:
user = www
group =www
运行命令:service php-fpm reload   //重启php-fpm
第二步:
修改所有文件夹和文件为www,www
#chown -R www:www  /wwwroot
再次上传图片,提示成功上传了,问题解决了。
网上还有一些其他的方法,比如将图片修改成英文名,或者修改文件夹为777。其实很多情况下权限是777了,但是依旧不能上传,可以考虑是不是文件属主的问题。
nginx下解决wordpress提示“无法将上传的文件移动至 XX”
nginx  wordpress  解决  无法 上传 文件 移动

转载请注明:大步's Blog » nginx下解决wordpress提示“无法将上传的文件移动至 XX”

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (2)

  1. 学习了
    davidqu4年前 (2013-04-14)Reply
SiteMap