我在刚设置的新服务器上一直收到此错误
[Wed Feb 16 22:46:51 2011] [error] [client 71.1.236.114] PHP Warning:
move_uploaded_file(upload/110216104651_00134_smooth_1440x900.jpg):
failed to open stream: Permission denied in /var/www/admin/_application/models/Roles.model on line 1757,
referer: http://nacc.biz/admin/admin/modifyarticle.php?roleid=4
[Wed Feb 16 22:46:51 2011] [error] [client 71.1.236.114] PHP Warning: move_uploaded_file():
Unable to move '/tmp/php6wlOg1' to 'upload/110216104651_00134_smooth_1440x900.jpg'
in /var/www/admin/_application/models/Roles.model on line 1757, referer:
http://nacc.biz/admin/admin/modifyarticle.php?roleid=4
[Wed Feb 16 22:46:51 2011] [error] [client 71.1.236.114] PHP Notice:
Upload Error: Error moving from temp dir in /var/www/admin/_application/models/Roles.model on line 1759,
referer: http://nacc.biz/admin/admin/modifyarticle.php?roleid=4
我添加了777并创建了一个上传目录,但错误仍然存在。如何找到需要更正或创建的路径?
答案 0 :(得分:19)
将upload/
的所有者更改为www-data:www-data
,并将chmod更改为755
答案 1 :(得分:10)
看起来它不知道upload/
在哪里。确保您的声明中包含完整路径。例如,如果上传目录实际位于/var/upload
,那么请确保它在您的对帐单中,而不仅仅是upload
/。
答案 2 :(得分:8)
登录您的ftp并确认以下内容:
0666
查看日志:
Unable to move '/tmp/php6wlOg1' to 'upload/110216104651_00134_smooth_1440x900.jpg'
在我看来,它在upload/110216....
的根目录中应该是path.to/public_html/upload/110216....
如果上述方法均无效,请发布包含move_uploaded_file
的代码行。
答案 3 :(得分:3)
它正在尝试将文件移动到upload/
而不是uploads/
,确保该目录存在且可写。
答案 4 :(得分:3)
提供,没有拼写错误,给您的上载目录(仅该目录)所有用户权限sudo chmod a+rwx /path/to/folder
,可以轻松解决问题。
要快速进一步了解Ubuntu中的权限,请检查here。