Laravel代客链接php错误

时间:2016-05-12 06:21:24

标签: laravel-valet

我收到了错误。

$ valet install

[DomainException]                
Unable to determine linked PHP.  

install

'其中'命令返回:

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

6 个答案:

答案 0 :(得分:17)

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

答案 1 :(得分:13)

Homebrew在/usr/local/bin中创建(或尝试创建)符号链接。

首先运行以下命令以尝试创建链接。

brew link php70

它会告诉您是否成功的信息。有时,权限会出现问题,您可以使用

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

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

或者brew link可能会向您提供说明,或者您可以使用brew doctor来报告您的自制软件安装中存在的任何问题。

运行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

答案 2 :(得分:9)

如果您的PHP版本为7.x且代客为> 2.0.8更新代客 E/UncaughtException: java.lang.NoClassDefFoundError: Failed resolution of: Lorg/jsoup/Jsoup; Caused by: java.lang.ClassNotFoundException: Didn't find class "org.jsoup.Jsoup" on path: DexPathList[[zip

finally

try { ... } catch { ... } finally { return null; }

valet stop

然后valet uninstall

答案 3 :(得分:2)

当你的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链接 brew link php71

您可能有此错误 Warning: php@7.1 is keg-only and must be linked with

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

答案 4 :(得分:0)

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

const getItems = async (arr, finder) => { const foundItems = await Promise.all( arr.map(({ _id }) => finder.findOne({ _id })) ); return foundItems.filter(Boolean); }; async (req, res) => { const [donations, events, teams] = await Promise.all([ getItems(req.user.donations, Donation), getItems(req.user.events, Event), getItems(req.user.teams, Team), ]) .catch(err => console.log(err)); return res.status(200).json({ data: { donations, events, teams } }); };

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

async

找到await方法。在某些版本中,它将在方法中直接返回一个数组:

const getItems = (arr, finder) => ( Promise.all( arr.map(({ _id }) => finder.findOne({ _id })) ) .then((foundItems) => foundItems.filter(Boolean)) ); (req, res) => { Promise.all([ getItems(req.user.donations, Donation), getItems(req.user.events, Event), getItems(req.user.teams, Team), ]) .then(([donations, events, teams]) => { res.status(200).json({ data: { donations, events, teams } }); }) .catch(err => console.log(err)); };

将此更改为:

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

在其他情况下,它将引用~/.composer/vendor/weprovide/valet-plus/cli/Valet/Brew.php,并且更改将类似。

保存文件,重新启动代客,鲍勃是你的叔叔!

答案 5 :(得分:0)

我打算将Laravel Valet从版本1. *更新到版本2,并运行类似的错误

Unable to determine linked PHP

解决方案是运行

composer global update

在我跑步之前

valet install