配置文件图片的 Laravel Spark 符号链接不起作用
Posted
技术标签:
【中文标题】配置文件图片的 Laravel Spark 符号链接不起作用【英文标题】:Laravel Spark Symlink for Profile Pictures is not Working 【发布时间】:2016-10-20 06:29:53 【问题描述】:在全新的 Spark 安装中,我的存储目录的符号链接出现了一些问题。我查看了 Spark 文档 (found here),并尝试按照 链接存储目录 部分下的说明进行操作。但是,当我运行命令时
ln -s /storage/app/public /public/storage
我收到以下错误:
ln: failed to create symbolic link ‘/public/storage’: No such file or directory
.
这很奇怪,因为我已经通过命令行和编辑器进行了检查,并且该目录确实存在。
我也试过
ln -sr /storage/app/public /public/storage
建议here。
这确实创建了符号链接。但在我的应用程序中,我仍然收到 404 错误。
有关可能有帮助的其他信息:我正在使用 Homestead 环境进行开发,并使用 Spark 安装程序设置我的项目。我还查看了这个other Stack Overflow 问题,但它建议我采取我已经尝试过的相同步骤。
感谢您的帮助!
【问题讨论】:
我也遇到了同样的问题,我认为是因为项目的文件夹挂载到windows上,windows中没有链接。你找到解决办法了吗? @ldo567 我还没有找到解决方案,但我会尝试使用坐骑,看看是否能解决问题。感谢您的建议! 【参考方案1】:从您的项目目录(包含composer.json
的目录)中尝试ln -s $(pwd)/storage/app/public $(pwd)/public/storage
。您正在运行的命令尝试从位于文件系统根目录中的/storage...
建立链接。您确实在运行ln
时需要使用绝对路径,但您需要使用项目的完整路径。例如,在 Homestead 中,我的路径是 /home/vagrant/project-name/storage/app/public
。
【讨论】:
对于那些在云提供商上运行 spark 的人,您可以将其添加到您的 composer.json post-install-cmd:ln -sr storage/app/public public/storage
如果您正在运行 Homestead 或其他 Vagrant 类型的 Linux 虚拟机作为您的开发环境,您必须从虚拟机内部创建符号链接。以上是关于配置文件图片的 Laravel Spark 符号链接不起作用的主要内容,如果未能解决你的问题,请参考以下文章
LAMP架构(配置防盗链,目录访问控制,文件/链接访问控制)
共享主机 Laravel 8 主机问题:Symlink 不工作