我正在尝试上传并保存图片文件。这在过去运作良好,但现在返回错误。
警告:move_uploaded_file(// home / bitnami / htdocs / lookgram / photos / 1 / 22.jpeg):无法打开流: / opt / bitnami / apache2中的权限被拒绝/htdocs/lookgram/build/classes/Photo.php 在线 138
警告:move_uploaded_file():无法在 / opt / bitnami中将'/ tmp / phpAyWyw4'移动到'//home/bitnami/htdocs/lookgram/photos/1/22.jpeg' /apache2/htdocs/lookgram/build/classes/Photo.php 在线 138
这看起来像文件permssion错误,所以这里是文件夹的权限:
drwxrwxr-x 6 bitnami bitnami 4096 Mar 15 01:02 photos
有什么想法吗?
答案 0 :(得分:2)
这是因为photos/1/
只能由root
用户写入。要上传到工作,我们需要使该文件夹的所有者与httpd进程所有者相同,或者使它们全局可写(不良做法)。
检查apache进程所有者:$ps aux | grep httpd
。第一列通常是nobody
将photos/1/
的所有者更改为nobody
或您在步骤1中找到的所有者。
$sudo chown nobody /home/bitnami/htdocs/lookgram/photos/1/
Chmod photo/1/
现在可以由所有者写入,如果需要[似乎你已经有了这个]。
$ sudo chmod -R 0755 /home/bitnami/htdocs/lookgram/photos/1/
有关此行为发生的更多详细信息,请查看手册http://php.net/manual/en/ini.core.php#ini.upload-tmp-dir,请注意它也在讨论open_basedir指令。