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

Laravel部署中Linux目录软链接路径异常的原因及修复方法

问题原因与修复方案

原因分析

  1. ln命令参数顺序颠倒:创建软链接的标准语法是ln -s <源路径> <目标链接>,你完全搞反了源和目标的顺序。如果你的真实需求是让用户访问的public_html指向releases/timestamp版本目录,那么命令里的两个参数顺序写反了。
  2. 目标路径存在性干扰:如果public_html原本是真实目录(而非软链接),执行错误顺序的命令时,ln会默认在已存在的public_html目录下创建一个与源同名的链接(即public_html/timestamp),同时可能因为路径解析的混淆,导致你看到反向的链接指向关系。

修复方法

常规部署场景(推荐)

这是Laravel预发布应用的标准部署方式,让public_html作为软链接指向当前发布的releases/timestamp目录,执行以下命令:

ln -nfs ./releases/timestamp ./public_html
  • -n:防止当public_html已是软链接时,误操作其指向的真实目录;
  • -f:强制覆盖已存在的public_html(不管它是旧目录还是旧软链接);
  • 使用./前缀明确当前工作目录下的路径,避免路径解析歧义。

特殊需求场景(按你的预期)

如果你确实需要releases/timestamp链接指向public_html(不推荐,不符合常规部署逻辑),调换参数顺序即可:

ln -nfs ./public_html ./releases/timestamp

验证

执行命令后,用ls -l查看链接状态:

ls -l

常规部署场景下,你应该看到:

public_html -> releases/timestamp/

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 16:07:04