在 Laravel (windows) 中创建符号链接

Creating symlink in Laravel (windows)

我目前在 Laravel 项目中创建符号链接时遇到一些问题。我目前在 Windows 10 OS 并且正在使用 GitBash.

我需要创建从 storage/app/products_contentpublic/products_content

的符号链接

为此,我使用以下命令:

ln -s storage/app/products_content public/products_content

问题是,我收到以下错误:

ln: failed to create symbolic link 'public/products_content': No such file or directory

但是,当我尝试创建这样的符号链接时:

ln -s storage/app/products_content products_content

它创建它没有错误,但该文件夹在我的 root 目录中,而不是在 /public.

这个错误是什么原因造成的,会不会是权限问题?我是 运行 GitBash 的管理员。任何帮助表示赞赏。如果我需要提供任何其他代码,请告诉我。

只需 运行: php artisan storage:link 并将你的路径修改为: storage/products_content

尝试进入 public 文件夹,然后执行:

ln -s ../storage/app/products_content products_content

如果这不起作用,请打开命令提示符(不是 PowerShell) 然后 "browse" 到 public 文件夹,然后执行:

mklink /D products_content ..\storage\app\products_content

mklinkln一样,只不过目标和link调换了。

您可以在文件系统配置文件中配置额外的符号链接。当您 运行 storage:link 命令时,将创建每个配置的链接:

'links' => [
    public_path('storage') => storage_path('app/public'),
    public_path('images') => storage_path('app/images'),
],

问题出在使用 windows

解决方案:

就我而言,我使用的是 laragon。

LINK 创作(这是因为 php artisan 存储:link 在 windows 上不起作用)

  • 对于这种情况,您将可以访问图像
  • 以管理员身份打开cmd
  • 验证 public 访问不起作用 (public \ images)
  • 然后在cmd中复制:mklink / J C:\laragon\www\project-name\public\images C:\laragon\www\project-name\存储\应用程序\图片

这类似于: php artisan 存储:link

考虑到要保存在图像中,必须在文件系统文件 (conf / filesytem) 中进行配置

   'links' => [
    public_path('storage') => storage_path('app/public'),
    public_path('images') => storage_path('app/images'),
], 

学分:more info