【发布时间】:2013-03-03 17:43:47
【问题描述】:
我正在尝试上传并保存图像文件。这在过去运行良好,但现在返回错误。
警告:move_uploaded_file(//home/bitnami/htdocs/lookgram/photos/1/22.jpeg):无法打开流:/opt/bitnami/apache2 中的权限被拒绝/htdocs/lookgram/build/classes/Photo.php 第 138 行
警告:move_uploaded_file(): Unable to move '/ tmp/phpAyWyw4' 到 /opt/bitnami/apache2/htdocs/lookgram/build/classes/Photo.php 中的 '//home/bitnami/htdocs/lookgram/photos/1/22.jpeg'上线 138
这看起来像是文件权限错误,所以这里是文件夹的权限:
drwxrwxr-x 6 bitnami bitnami 4096 Mar 15 01:02 photos
有什么想法吗?
【问题讨论】:
-
当您查看权限值时,您有
drwxrwxr-x。所以对于你(bitnami)rwx,对于群组rwx,但对于其他人,只是r-x。因此,不在组中的用户只能读取和执行,而不是写任何东西。我假设你的 PHP 使用的用户不在组中。 -
如果我的网络服务器正在执行 PHP,那么“用户”是谁?
-
试试这个:
<?php echo exec('whoami'); ?>在你的脚本中告诉我们它是谁 -
它返回“守护进程”。守护进程会落入哪些用户?
-
用
groups bitnami检查bitnami(你)是什么组。然后您可以将您的“守护程序”用户添加到您的组useradd -G group_name daemons。然后你应该能够制作你的move_file。您还可以决定使用chgrp更改目录组。
标签: php file file-io permissions chmod