2011-02-16 22 views
16

我一直在新服务器上得到这个错误我刚刚安装PHP:move_uploaded_file()以:无法移动“/

[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并创建了一个上传目录,但错误依然存在。我如何找到需要更正或创建的路径?

回答

3

它试图将文件移动到upload/而不是uploads/,请确保该目录存在并且是可写的。

7

登录到您的ftp和确认以下事项:

  • 该文件夹存在,检查拼写
  • 检查文件夹的属性,并确保权限已读+写0666
  • 确保该文件在您的公共html根目录中,否则请仔细检查文件的所有者,并确保PHP具有对其的读/写访问权限。

查看日志:

Unable to move '/tmp/php6wlOg1' to 'upload/110216104651_00134_smooth_1440x900.jpg' 

在我看来,它看着你的根目录upload/110216....应该path.to/public_html/upload/110216....

如果没有上述工作,请发表您的行代码有move_uploaded_file

+0

当检查拼写更改所有者也检查的情况下(大写字母)是相同的。 Linux对文件和目录名称区分大小写。 – Mike 2014-01-16 23:43:12

10

看起来它不知道在哪里upload/是。确保你的陈述中有完整的路径。例如,如果上传目录实际上位于/var/upload中,那么请确保它在您的声明中,而不仅仅是upload /。

19

upload/www-data:www-data并且还chmod来755

+4

`chown -R www-data:www-data folder`这对我有效! – 2016-02-16 18:50:02