Laravel 5.3 storage:link -> symlink(): 协议错误
Laravel 5.3 storage:link -> symlink(): Protocol error
我正在尝试 运行 以下 artisan 命令:
php artisan storage:link
我收到这个错误:
[ErrorException]
symlink(): Protocol error
你能帮我解决这个问题吗
这是我的设置:
- Windows 10 使用 vagrant 和 Homestead (v0.5.0) box
- Ubuntu 16.04 LTS(GNU/Linux 4.4.0-22-通用 x86_64)
- Laravel框架版本5.3.6
- PHP 7.0
您的问题可能是您必须以系统管理员身份启动您的 vagrant box。
所以点击开始类型 "cmd",右键单击它选择 "Run as administrator"。导航到您的项目,键入 "vagrant up"。重试命令。
运行 以超级管理员身份执行命令。
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
我正在尝试 运行 以下 artisan 命令:
php artisan storage:link
我收到这个错误:
[ErrorException]
symlink(): Protocol error
你能帮我解决这个问题吗
这是我的设置:
- Windows 10 使用 vagrant 和 Homestead (v0.5.0) box
- Ubuntu 16.04 LTS(GNU/Linux 4.4.0-22-通用 x86_64)
- Laravel框架版本5.3.6
- PHP 7.0
您的问题可能是您必须以系统管理员身份启动您的 vagrant box。
所以点击开始类型 "cmd",右键单击它选择 "Run as administrator"。导航到您的项目,键入 "vagrant up"。重试命令。
运行 以超级管理员身份执行命令。
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