找不到存储映像

时间:2018-11-29 19:56:47

标签: php laravel symlink laravel-5.6

我有一个Laravel 5.6应用程序,该应用程序运行在承载有Cakephp的多个php 5.6应用程序的服务器上,为此我添加了一些配置以使其可与PHP 7.1一起使用Laravel 5.6,并且现在可以正常工作,但是,来自存储的符号链接不管用。我已经搜索过这个问题,并尝试了几种解决方案,但没有一个起作用。

 'disks' => [

    'local' => [
        'driver' => 'local',
        'root' => storage_path('app/public'),
        'visibility' => 'public',
    ],

    'public' => [
        'driver' => 'local',
        'root' => storage_path('app/public'),
        'url' => env('APP_URL').'/storage',
        'visibility' => 'public',
    ],
],

这是我的配置/文件系统 symlink showing on cbash with > ls -n public/storage

我尝试删除符号链接并使用命令创建它

php artisan storage:link

以及使用它创建

ln -s storage/app/public public/storage/app/public

,但是没有成功。 有什么可能是错的吗? 如果我去查看公开/ img中的图像,它会起作用 https://inversionistas.grupoidesa.com/img/avatar.png 但是存储链接没有,我已经尝试过多次使用不同的配置和url

https://inversionistas.grupoidesa.com/storage/comp.pdf
https://inversionistas.grupoidesa.com/storage/app/public/comp.pdf
https://inversionistas.grupoidesa.com/public/comp.pdf

等,但没有任何作用。

预先感谢

Yes, the file exists

These are the permitions of the folder, the permision were given with chmod recursively

1 个答案:

答案 0 :(得分:1)

您需要使Web服务器遵循符号链接 对于apache网络服务器,添加

<VirtualHost *:80>
...
<Directory />
Options FollowSymLinks
.... 
</Directory>
....
</VirtualHost>