在 Laravel (windows) 中创建符号链接
Creating symlink in Laravel (windows)
我目前在 Laravel 项目中创建符号链接时遇到一些问题。我目前在 Windows 10 OS
并且正在使用 GitBash
.
我需要创建从 storage/app/products_content
到 public/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
mklink
和ln
一样,只不过目标和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
我目前在 Laravel 项目中创建符号链接时遇到一些问题。我目前在 Windows 10 OS
并且正在使用 GitBash
.
我需要创建从 storage/app/products_content
到 public/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
mklink
和ln
一样,只不过目标和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