Laravel Voyager部署到服务器后无法显示新上传的图片
Laravel Voyager 服务器端新上传图片无法显示的解决方法
检查存储目录权限
服务器上storage/app/public和public/storage目录的权限需适配web服务器用户(如www-data、apache),确保拥有读写权限,执行以下命令:chown -R www-data:www-data storage/app/public public/storage chmod -R 755 storage/app/public public/storage重新创建符号链接
Laravel通过public/storage软链接指向storage/app/public,服务器部署时可能未自动创建该链接,执行Artisan命令生成:php artisan storage:link若共享主机无命令执行权限,可手动通过FTP工具创建软链接,或在
public/index.php开头添加代码强制生成:$target = storage_path('app/public'); $link = public_path('storage'); if (!file_exists($link)) { symlink($target, $link); }确认文件系统配置
检查.env文件,确保FILESYSTEM_DISK设置为public:FILESYSTEM_DISK=public同时验证
config/filesystems.php中public磁盘的配置正确性:'public' => [ 'driver' => 'local', 'root' => storage_path('app/public'), 'url' => env('APP_URL').'/storage', 'visibility' => 'public', ],清除服务器缓存
服务器端可能存在配置缓存导致路径失效,执行以下命令清理缓存:php artisan config:clear php artisan cache:clear检查Voyager上传配置
打开config/voyager.php,确认storage.disk参数设置为public:'storage' => [ 'disk' => 'public', ],
内容的提问来源于stack exchange,提问作者dak0k
相关产品推荐
相关产品推荐

