Laravel代客链接php错误

Laravel valet linked php error

我收到一个错误。

$ valet install

[DomainException]                
Unable to determine linked PHP.  

install

'which' 命令 returns:

$ which php
/usr/local/Cellar/php70/7.0.6/bin/php

Homebrew 在 /usr/local/bin.

中创建(或尝试创建)symlinks

从 运行 下面开始尝试创建一个 link。

brew link php70

它将为您提供有关它是否成功的信息。有时权限有问题,您可以使用

解决此问题
sudo chown -R `whoami`:admin /usr/local/bin

然后再次尝试 运行 brew link 命令。

另外,brew link 可能会为您提供说明,或者您可以使用 brew doctor 获取有关 Homebrew 安装中存在的任何问题的报告。

在 运行 ls -la /usr/local/bin | grep bin/php$ 之后正确设置后,您应该会看到类似于

的内容
lrwxr-xr-x 1 YOURUSER admin 29 10 May 21:40 php -> /usr/local/Cellar/php70/7.0.6/bin/php

我用 Homebrew 来安装 php7.1 ,所以我 运行 在终端
这个命令 ln -s /usr/local/opt/php71/bin/php /usr/local/bin/php
一切都完成了。

这会在您的 brew php 更新时发生。

如果你这样做 brew install php 这会起作用,但会默认安装 php 7.2。

如果您想要 php@7.1,您必须执行 brew install php@7.1 这将安装 php7.1,现在当您重新启动 valet valet restart 时,您可能会遇到错误。 Unable to determine linked PHP.

要使此功能与 php7.1 一起使用,您需要制作 brew link
brew link php71

你可能有这个错误 Warning: php@7.1 is keg-only and must be linked with

解决这个问题 brew link --force php71
现在代客应该在 php7.1

上工作

如果您的 PHP 版本 7.x 和 valet > 2.0.8 更新 valet valet stop

valet uninstall

brew install php

composer global require laravel/valet

然后 valet install

在找到解决方案之前,我尝试了此处的所有建议以及其他地方的一些建议。这适用于 PHP 7.2(不保证其他版本)。如果您使用的是原始的 Larvel Valet,请打开文件:

~/.composer/vendor/laravel/valet/cli/Valet/Brew.php

...或者,如果您使用的是 Valet+

~/.composer/vendor/weprovide/valet-plus/cli/Valet/Brew.php

找到supportedPhpVersions方法。在某些版本中,它会 return 方法中的数组:

return ['php72', 'php71', 'php70', 'php56'];

将此更改为:

return ['7.2', 'php72', 'php71', 'php70', 'php56'];

在其他情况下,它将引用 const SUPPORTED_PHP_VERSIONS,并且更改将类似。

保存文件,重启 valet,Bob 就是你的叔叔了!

我打算将 Laravel Valet 从版本 1.* 更新到版本 2,运行 同样的错误像这样

Unable to determine linked PHP

解决方案是 运行

composer global update

之前我运行

valet install