解决方法:
确保所有文件属于Apache组和用户。Ubuntu里面,指的是www - data组和用户
chown -R www-data:www-data /path/to/webserver/www
接下来赋予www-data组的所有成员以读和写的权限。
chmod -R g+rw /path/to/webserver/www
现在mkdir()应该可以正常工作了。
来自:
http://stackoverflow.com/questions/5246114/php-mkdir-permission-denied-problem
追加:
在这之后,我们发现,平时用自己的账户的时候,www目录没有写权限,干什么都要sudo,怎么办?
把自己加入www-data组就可以,这是我的解决方法。
注意G一定大写,小写表示覆盖当前组
sudo usermod -G www-data yourUsername
然后注销登录即可。
这样一来,我发现自己不再sudoer之列了,也就是不能使用sudo su了,问题很严重。
解决办法是:
重启进入高级,recovery,挂到root,然后
mount -o remount,rw /
运行visudo,
然后在
User privillege specification 下面复制粘贴root开头的一行,把root改成自己的用户名就可以了,然后ctrl+x退出时选择y保存,这样我的问题就解决了。
本文介绍了解决PHP中mkdir函数因权限不足导致的问题的方法。首先确保所有文件属于Apache的www-data用户和组,并通过chown和chmod命令进行权限设置。为方便日常操作,将个人账户加入www-data组并调整sudoers配置。
1290

被折叠的 条评论
为什么被折叠?



