PHP/Apache:上传的JPEG图像文件的权限设置不正确
我刚刚安装了LAMP开发服务器,但仍然遇到了一些麻烦。服务器安装在一台计算机上,我使用Windows笔记本电脑编写代码并通过网络浏览器测试网站。PHP/Apache:上传的JPEG图像文件的权限设置不正确
我的文件上传脚本的工作原理是,JPEG图像文件已成功上传到服务器,但是当我尝试在Web浏览器中查看图像时,权限被拒绝。
我通过服务器检查文件的权限,它们是600
。我可以通过chmod 777 theimage.jpg
解决这个问题,但这看起来并不是一个好的解决方案。
该解决方案与Apache配置有关吗?或者还有什么我应该做的。
感谢信, 迈克
更新
为了澄清,我能为JPEG文件上传到/var/www/test/images
,但我无法在Web浏览器中查看图像就已经经过上传。我的脚本在生产服务器上工作(我正在使用Dreamhost)。这使我相信这个问题与我刚刚设置的开发服务器有关。任何反馈都是非常感谢,即使它只是我应该阅读的资源,以更好地了解服务器设置。
您需要更改包含该文件夹的权限文件,而不仅仅是文件本身。在包含要访问的文件的目录上使用sudo chmod
和sudo chown
,然后检查以确保使用ls -rl
命令更改的权限。与chmod一起使用的权限应为r
和w
,如果权限已正确更改,则使用ls -rl
命令时目录应为-rw-r--r--
。此外,如果您仍然不清楚chmod和chown工作如何检查this link和this link。
编辑:
键入:
sudo chmod -R 666 /var/www/test/images
或者这样:
sudo chmod a=rw /var/www/test/images
...做你想做的事情。有关更多解释,请参阅下面的最新评论条目。
@typoknig我使用了'sudo chmod -R -rw -r -r--/var/www/test/images'和'sudo chown -R myusername/var/www/test/images',但是上传的文件的权限这样做后是'-rw -------'。我将尝试@Artefacto的建议,然后返回给您的建议。谢谢。 – 2010-05-16 23:08:41
我想你可能误解了我。当你使用'ls -rl'查看权限时,它应该读取'-rw -r -r-',当你使用chmod命令时,它应该看起来像这样'sudo chmod -R 666/var/www/test /图像'这将导致权限'-rw-rw-r - '。您也可以使用其他选项。如果你希望每个人都有权限读写文件,你可以使用我刚才提到的666命令,或者你可以使用这个命令:'sudo chmod a = rw/var/www/test/images'。有很多选项:)这里是另一个可能有所帮助的链接: http://www.zzee.com/solutions/chmod-syntax.shtml – ubiquibacon 2010-05-17 01:00:06
@typoknig谢谢澄清。我已经尝试了您的建议,但仍无法查看已上传到目录的图像文件。 – 2010-05-17 02:46:54