今天在网页上传图片到博客,结果提示:“无法将上传的文件移动至 /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使用flock实现文件加锁的方法
本文实例讲述了PHP使用flock实现文件加锁的方法。分享给大家供大家参考。具体分析如下:flock在官方文档里的解释是:flock()允许你执行一个简单的可以
PHP+MYSQL中文乱码问题
从MySQL4.1开始引入多语言的支持,但是用PHP插入的中文会出现乱码.无论用什么编码也不行.解决这个问题其实很简单.1.在建表的时候设置编码类型为gb2312_ch
搭建基于Docker的PHP开发环境的详细教程
现在很多开发者都使用Vagrant来管理他们的虚拟机开发环境,Vagrant确实很酷,不过也有不少缺点(最主要的是它占用太多的资源)。在容器技术、Docker和