Laravel 5.3 storage:link -> symlink(): 协议错误

Laravel 5.3 storage:link -> symlink(): Protocol error

我正在尝试 运行 以下 artisan 命令:

php artisan storage:link

我收到这个错误:

[ErrorException] symlink(): Protocol error

你能帮我解决这个问题吗

这是我的设置:

您的问题可能是您必须以系统管理员身份启动您的 vagrant box。

所以点击开始类型 "cmd",右键单击它选择 "Run as administrator"。导航到您的项目,键入 "vagrant up"。重试命令。

Creating symbolic link on Homestead?

运行 以超级管理员身份执行命令。

php artisan storage:link 可以.

您必须以 cmd 管理员身份登录,为此单击 windows 键和 X。然后 select 管理员系统符号。不要忘记让她在另一个终端停止流浪。

首先用vagrant halt命令关闭vagrant,然后运行以管理员身份cmd,进入你的homestead文件夹,用vagrant up启动Vagrant然后你可以运行php artisan storage:link。 对我来说它有效:)

尝试从主机 运行 php artisan storage:link。这将炒锅

在我的例子中,我 运行 作为管理员流浪并且正在工作。

不要忘记在其他机器上停止 vagrant halt 并以管理员身份重新启动。

php artisan storage:link

输出:

The [/home/vagrant/code/public/storage] link has been connected to [/home/vagrant/code/storage/app/public].
The links have been created.

我花了很多时间来解决这个问题,在我的例子中,我的项目是在一个 exFat 格式的存储驱动器中,在 Window 上,创建符号链接的命令是
mklink \J 这仅适用于 NTFS 格式的存储驱动器。

我不得不将我的项目迁移到 NTFS 格式的存储。

我正在使用 Docket、Laravel sail、Ubuntu 20.04 和 voyager(是 laravel 的管理面板)。

如果您在尝试 运行以管理员身份使用 CMD 但没有成功后仍然遇到此问题。

您可能使用 predis/redis,转到您的 .env 文件并放入标准驱动程序

BROADCAST_DRIVER=log
CACHE_DRIVER=file
FILESYSTEM_DRIVER=local
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120

现在停止你的 vagrant/homestead 框,运行 homestead/vagrant 起来,再试一次 woopti :)

现在将驱动改回redis

如果您在 windows 上使用 Homestead:

以管理员身份打开cmd。

从终端转到 homestead 文件夹,首先,关闭并打开您的虚拟机:

vagrant halt

然后

vagrant up

输入您的项目文件夹:

vagrant ssh

cd path/to/yourproject

然后运行:

php artisan storage:link