WordPress中"无法将上传的文件移动至"错误的解决方法

yipeiwu_com5年前PHP代码库

今天在网页上传图片到博客,结果提示:“无法将上传的文件移动至 /home/wwwroot/wp-content/uploads/2013/”,郁闷了,认为是权限问题,修改了文件,都改成了777的权限,但是还是不可以写入,图片无法上传。
索性,我查看了我的网站根目录文件夹的权限,显示是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了,但是依旧不能上传,可以考虑是不是文件属主的问题。

相关文章

解析php框架codeigniter中如何使用框架的session

里面有两种session的使用方法:1是php的原始的session使用方法,这个很简单,$_SESSION['name']="name",然后在需要的地方显示:echo $_SESSI...

php跨站攻击实例分析

本文实例讲述了php跨站攻击的原理与防范技巧。分享给大家供大家参考。具体方法分析如下: 跨站攻击就是利用程序上的一些细节或bug问题进行的,那么我们要如何耿防止跨站攻击呢?下面就以一个防...

php简单截取字符串代码示例

本文实例讲述了php简单截取字符串的方法。分享给大家供大家参考,具体如下: //截取摘要 public static function mbsubstr($str){ $strl...

PHP函数strip_tags的一个bug浅析

PHP 函数 strip_tags 提供了从字符串中去除 HTML 和 PHP 标记的功能,该函数尝试返回给定的字符串 str 去除空字符、HTML 和 PHP 标记后的结果。 由于 s...

Windows下编译PHP5.4和xdebug全记录

实际上我最终目的是编译得到支持 PHP5.4 的 php_xdebug.dll,而在此之前,成功编译 PHP5.4 是必须的。 编译环境以及相关软件包: 1.Microsoft Visu...