【问题标题】:laravel symlink is changed when code is pushed to live site将代码推送到实时站点时,laravel 符号链接已更改
【发布时间】:2018-04-05 18:06:54
【问题描述】:

我正在使用 laravel 5.5 的存储符号链接来存储图像。当我将代码推送到 git 并从实时站点中提取时,实时站点上的符号链接路径与我的本地代码上的路径相同。 我的本地有这个符号链接

 storage -> /home/path/to/project/app/public/ 

但实时站点需要此符号链接路径

 storage -> /var/www/html/website.com/public_html/project_code/storage/app/public/

每次我必须删除符号链接并在实时站点上重新创建它时。 我已经在现场完成了这些步骤

cd public
rm storage
cd ..
php artisan storage:link

完成这些步骤后,我的符号链接将根据实时站点变为,然后它开始工作。 实时站点应该有这个符号链接

storage -> /var/www/html/website.com/public_html/project_code/storage/app/public/

project_code/.gitignore:

public/storage

project_code/storage/app/.gitignore

 *
 !public/
 !.gitignore

我怎样才能摆脱这个问题。

提前致谢!

【问题讨论】:

    标签: laravel-5 storage symlink gitignore


    【解决方案1】:

    您可以考虑在目标 Git 存储库(您要推送到的那个)中设置 post-receive hook。例如,请参阅this one

    在该钩子中,您可以添加所需的任何步骤(例如修复符号链接)。

    【讨论】:

    • 感谢这对自动运行一些命令很有帮助。
    【解决方案2】:

    由于您的符号链接指向同一项目中的另一个位置,因此您可以在链接时安全地使用相对路径,而不是使用绝对路径(这是 artisan 设置的)。这需要手动链接:

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

    如果您已经拥有当前的storage 符号链接,请先删除它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-15
      • 1970-01-01
      • 2016-11-24
      • 1970-01-01
      相关资源
      最近更新 更多