2012-01-16 338 views
2

我想解决这个错误,但我没有运气。PHP权限被拒绝的错误

Warning: mkdir() [function.mkdir]: Permission denied in Users/myuser/Sites/mysite.me/git/framework/libs/smarty/sysplugins/smarty_internal_write_file.php 

我不断收到mkdir() [function.mkdir]: permission denied错误在一个特定的文件夹。我已经确定通过linux的chmod 777 foldername,它仍然没有工作。我通过XAMPP在本地机器上执行此操作。我也确保从GUI的角度确保它是为每个人阅读和写入的。我仍然没有运气。思考?

我得到一个警告为mkdirchmodtouchrenameinclude

+3

请记住,您还需要在父目录上使用'+ x' - 你有吗? – derobert 2012-01-16 17:18:11

+0

我正在使用Mac OS X Lion。 smarty的父目录有drwxrwxrwx。我将如何添加+ x? – wowzuzz 2012-01-16 17:20:07

+0

检查您的父目录权限,特别是htdocs – 2012-01-16 17:20:18

回答

1

对于任何人谁从那里这里结束了:

https://stackoverflow.com/questions/12801733/php-upload-outside-web-root-permission-denied-to-mkdir被标记为精确复制此线程。该主题也被交叉发布到AWS论坛,其中received an answer


这就是说,在这里接受的答案居然是错误。 (可能不是错误错误,但仍然有些错误。)解决此问题的更好方法是让Apache进程的所有者/组匹配您希望Apache的目录的所有者/组(并反过来,PHP )能够写入。

这样,您授予访问特定受管用户而不是打开太宽泛的文件系统权限。

0

为mkdir创建目录的所有用户(或至少web服务器用户,例如www-data for apache)添加写入权限。

+0

你是指chmod 777文件的父目录吗? – wowzuzz 2012-01-16 17:30:53

+0

不,你有更改目录的权限,其中“mkdir”创建一个目录。 – daya 2012-01-16 17:34:23