当我使用 php artisan storage:link
创建符号链接(symbolic link)时,该项目在本地运行良好,但在 Web 服务器(在子域上运行)上运行良好甚至ln -s full_path/storage/app/public full_path/public/storage
通过 ssh,创建了符号链接(symbolic link),但如果没有 "app/public",我仍然无法访问存储/应用程序/公共(public)中的图像
例如:我可以访问 http://xyz.abc.com/storage/app/public/35/conversions/retro1-thumb.jpg
但我无法访问http://xyz.abc.com/storage/35/conversions/retro1-thumb.jpg
我已经尝试过:
- 删除存储并运行
php artisan storage:link
- 没有帮助 - 更新了 htaccess 以跟踪 root 和 public 中的符号链接(symbolic link) - 无帮助
- 运行
php artisan config:clear
,php artisan config:cache
,php artisan cache:clear
- 没有帮助 - 使用真实路径作为存储和 URL 更新了 config/filesystem.php - 无帮助
- 联系了房东支持 - 没有帮助
- 进行了大量的 Google 搜索 - 没有帮助
这是我的 config/filesystems.php 磁盘配置-
'disks' => [
'local' => [
'driver' => 'local',
'root' => storage_path('app'),
],
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
],
's3' => [
'driver' => 's3',
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
'region' => env('AWS_DEFAULT_REGION'),
'bucket' => env('AWS_BUCKET'),
'url' => env('AWS_URL'),
],
],
希望能够解决。
最佳答案
尝试以下操作:
1.) config/filesystems.php 更改根目录
2.) 在 public 文件夹中,删除 storege 文件夹并运行 php artisan storage:link
3.) 检查您的服务器中是否启用了符号链接(symbolic link)
关于php - 在网络服务器上创建的 laravel 符号链接(symbolic link)仍然无法在没有 app/public 的情况下访问该文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59309320/