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

Upload image by Laravel and permission issue

我正在尝试上传一些图片到 public/images 目录。上传有效,但是当我想通过其地址访问上传的图像时,出现权限被拒绝的错误。

403

Forbidden

Access to this resource on the server is denied!

图片路径为:

/public_html/public/images/someimage.jpg

当我想通过 URL:

访问此图像时
http://example.com/images/someimage.jpg

我收到权限被拒绝的错误。

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

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

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

顺便说一句,我使用的是共享主机,我无法访问 shell。

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

我发现了一些新的东西,也许可以帮助我们找到解决方案。 Laravel 上传的文件的 UID 为 99(第一张照片),而 FTP 上传的文件(和旧文件)的 UID 为 715(第二张照片)!!!!

好的

终于找到问题所在了。

如果您在 cPanel 中使用 PHP Selector 或者您可能使用了以下 .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 版本时,我的问题就解决了。