You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 8.60.0执行php artisan storage:link生成文件而非软链接/文件夹

问题根因

这是WSL2跨Windows文件系统创建符号链接的兼容性问题,不属于Laravel内部配置错误。
如果你的Laravel项目存放在WSL2的Windows挂载目录(路径为/mnt/c/、/mnt/d/这类前缀),WSL2默认挂载参数不支持Linux侧生成的符号链接被Windows侧的IDE、资源管理器正确识别,执行php artisan storage:link时生成的符号链接就会被识别为普通文件。

解决方案

最优方案(推荐)

将项目迁移到WSL2原生Linux文件系统路径下(即/home/你的用户名/前缀的路径),不要放在Windows挂载目录。重新部署项目后执行php artisan storage:link,生成的符号链接即可被正常识别为目录,同时还能大幅提升WSL2下项目的读写性能。

兼容方案(必须存放在Windows目录时使用)

  1. 在WSL2终端执行命令打开挂载配置文件:sudo nano /etc/wsl.conf
  2. 写入以下配置:
[automount]
options = "metadata,umask=22,fmask=11"
mountFsTab = false
  1. 保存文件后退出,在Windows终端执行wsl --shutdown重启WSL实例
  2. 回到项目目录先删除已经生成的错误文件:rm public/storage
  3. 重新执行php artisan storage:link即可正常生成可识别的符号链接

验证方法

在WSL2终端项目根目录执行ls -la public/,正常的符号链接会显示类似storage -> /你的项目路径/storage/app/public的标识,说明链接创建成功。

如果你是在Sail容器内执行的php artisan storage:link命令,需确保容器内的项目路径映射和WSL侧的路径一致,避免出现路径错位导致链接失效。

内容的提问来源于stack exchange,提问作者runtimeTerror

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 20:36:06