问题描述:

php artisan storage:link

  1. 在本地开发时,运行此命令能够创建 storage 目录的软连接,但生成的是本地绝对路径的软连接,在线上环境访问会出现 403 错误。
  2. 在模拟线上环境的虚拟机内运行此命令提示错误信息:
    ErrorException
    symlink(): Operation not permitted
    at vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:330

解决办法:

创建 storage 目录的相对路径的软连接。

方法一:

cd /path/to/laravel/public/

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

方法二:

安装依赖包 composer require symfony/filesystem

本地终端运行 php artisan storage:link –relative