为什么安装php53 mcrypt会破坏我的作曲家和拉威尔?
我对laravel和php非常陌生,我正在尝试设置我的开发环境 我对使用octobercms感兴趣,安装它一点也不简单。我通过键入为什么安装php53 mcrypt会破坏我的作曲家和拉威尔?,php,macos,composer-php,homebrew,mcrypt,Php,Macos,Composer Php,Homebrew,Mcrypt,我对laravel和php非常陌生,我正在尝试设置我的开发环境 我对使用octobercms感兴趣,安装它一点也不简单。我通过键入 composer create-project october/october myoctober dev-master 这给了一个错误,说mcrypt没有安装,所以我认为这是我的下一步。在花了几个小时试图弄清楚如何安装它之后,我遇到了这个问题 homebrew/php/php53-mcrypt 我安装了它。现在,拉威尔和我的作曲人都不行了。每次我编写任何类型的
composer create-project october/october myoctober dev-master
这给了一个错误,说mcrypt没有安装,所以我认为这是我的下一步。在花了几个小时试图弄清楚如何安装它之后,我遇到了这个问题
homebrew/php/php53-mcrypt
我安装了它。现在,拉威尔和我的作曲人都不行了。每次我编写任何类型的composer命令时,我都会得到以下结果:
??+?% returned
谷歌上似乎没有人有这个问题,每次我在终端中编写和使用laravel命令时,都会出现如下错误:
PHP Parse error: syntax error, unexpected '[', expecting ')' in /Users/marika/.composer/vendor/guzzlehttp/promises/src/functions.php on line 41
Parse error: syntax error, unexpected '[', expecting ')' in /Users/marika/.composer/vendor/guzzlehttp/promises/src/functions.php on line 41
在我brew安装mcrypt并尝试卸载之前,一切都正常,但这只会给我带来更多错误,所以我重新安装了,现在我不知道还能做什么。您的php版本错误。报告第41行写道:
$promise = new Promise([$queue, 'run']);
这是短数组语法。您需要php5.4来运行代码,如下所示:
从PHP5.4开始,您还可以使用短数组语法,它取代了
带[]的数组()
由于您使用的是MacOS,为了获得最新版本的PHP,请通过以下方式安装较新版本:
brew tap homebrew/dupes
brew tap homebrew/versions
brew tap homebrew/homebrew-php
brew install php56
brew unlink php53
brew link php56
从更一般的意义上讲,我还建议不要在本地计算机上使用自制开发环境进行开发,而不要使用新技术。我去过那里,它狠狠地咬了我一口。我目前的策略是使用尽可能靠近生产服务器的docker容器进行开发。(事实上,我们的生产服务器运行docker容器。)所以我不安装php54而不是php53吗?@begwebdev我选择5.6,但最终>=5.4应该可以正常工作。在回答中,我只取消了旧php版本的链接。brew允许通过un/linking切换版本,因此您可以安装多个php实例。