php - L5.5 使用 SSH 在共享主机上的存储和公共目录之间创建符号链接
问题描述
我已经在共享主机上设置了我的生产服务器,我的目录结构如下所示(我的项目与公共项目处于同一级别):
/home/user/my-laravel-project/
/home/user/public_html
这就是我将数据存储在Storage > Public Disc
$data->store('path/to/data', 'public');
在生产中,使用 SSH,当我运行这个命令时php artisan storage:link
。它在和之间创建一个符号链接storage/app/public
,my-laravel-project/public
我希望在和之间创建这个storage/app/public
链接/home/user/public_html
我试过的
- 尝试删除
my-laravel-project/public
然后尝试php artisan storage:link
..它失败并出现错误No file or directory
- 我尝试将存储路径从更改
storage_path('app/public)
为public_path()
下config/filesystem.php
但没有成功 - 我也尝试使用 shell 命令创建符号链接,
ln -nsf /home/user/my-laravel-project/storage/app/public /home/user/public_html
但没有成功
尝试了许多其他的小调整,但对我没有任何作用.. 我正在寻找一个合适的解决方案来在我的共享服务器之间storage/app/public
和上创建符号链接/home/user/public_html
注意我不想改变路径,config/filesystems.php
因为这不是一个合适的解决方案
我当前的服务器是在 Siteground 上设置的,使用 php 版本 7.0.32 和 Laravel 5.5.43
解决方案
如果您想创建默认符号链接,您应该为自己创建一个。
这是符号链接模式:
ln -s target source
因此,在您的情况下,您必须执行以下操作:
ln -s /home/user/public_html storage/app/public
推荐阅读
- ios - 当我在代码中使用 ObjectMapper 时,出现“变异运算符的左侧具有不可变类型”的问题
- ios - 坠机原因是什么?
- android - 如何翻译活动中包含的布局?
- c# - angular4中的d3图表实现
- spring - spring security JWT 实现是否处理 alg:none 攻击?
- python-3.x - 尝试从网站抓取信息时如何修复“预期的字符串或类似字节的对象”?
- c# - 如何在 C# 应用程序中强制使用 ODBC 版本 2.x
- c# - 无法在存储库中注入 DbContext
- java - Spring Boot 测试如何使用不同的 application.properties 进行集成测试
- c# - 弹性搜索:如何提取与查询短语/字符串匹配的所有“字段名称”