通过Laravel上传图片和权限问题

时间:2016-04-17 17:22:27

标签: php laravel access-denied

我正在尝试在公共/图像目录上传一些图像。上传工作但当我想通过其地址访问上传的图像时,我得到权限被拒绝错误。

  

403

     

禁止

     

拒绝在服务器上访问此资源!

图片路径是:

/public_html/public/images/someimage.jpg

当我想通过此网址访问此图片时:

http://example.com/images/someimage.jpg

我收到了拒绝权限错误。

我使用下面的htaccess将所有请求发送到公用文件夹

<IfModule mod_rewrite.c>
    RewriteEngine On 
    RewriteRule ^(.*)$ public/$1 [L]
</IfModule>

我的images文件夹具有0777权限,我的文件具有0644权限。

顺便说一下,我正在使用共享主机而我无法访问shell。

===============编辑

我发现新的东西可能有助于我们找到解决方案。由Laravel上传的文件有UID 99(第一张照片),但FTP(和旧文件)上传的文件有UID 715(第二张照片)!!!!

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:1)

我终于找到了问题。

如果您在PHP Selector中使用cPanel,或者您使用了以下.htaccess代码:

AddType application/x-httpd-php56 php56
AddHandler application/x-httpd-php56  .php

你选择了PHP 5.6也许你有这个问题。

通过htaccess将PHP版本更改为5.5:

AddType application/x-httpd-php56 php55
AddHandler application/x-httpd-php55  .php

或更改您的共享主机。我不知道为什么会出现这个问题,但是当我改变我的PHP版本时,我的问题就解决了。