在MacOS上为Laravel安装缺少的依赖项

时间:2019-09-10 20:30:01

标签: php laravel macos

如果我在MacOS上打开Terminal并查看我的php版本,结果是:

Jacks-MBP:Projects jackrobson$ php -v
PHP 7.2.12 (cli) (built: Nov 29 2018 01:59:12) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.12, Copyright (c) 1999-2018, by Zend Technologies

我也正在将httpd作为我的Apache服务器:

Jacks-MBP:Projects jackrobson$ httpd -v
Server version: Apache/2.4.37 (Unix)
Server built:   Nov  8 2018 08:13:24

但是,在尝试配置Laravel时,我通过运行此命令而没有任何错误:

composer create-project laravel/laravel demowebsite

并配置我的虚拟主机,当我查看demowebsite.test时看到此错误:

Parse error: syntax error, unexpected '=' in /Users/jackrobson/Projects/demowebsite/vendor/laravel/framework/src/Illuminate/Support/Arr.php on line 384

我想也许是因为我没有所需的依赖项吗?

是真的,还是laravel的作曲家安装失败了?

我正在尝试确定是否缺少依赖项。

奇怪的是,从laravel演示站点的底部看phpinfo时,它说:

PHP Version 7.0.32

不确定在我的终端中为什么不使用7.2版。

也许是问题。

我将进行进一步的调查和更新,但是任何有更多智慧的人知道这一点,我将向正确的方向表示感谢。

非常感谢

编辑:

遵循用户Caddy DZ的建议“尝试将httpd配置为使用php 7.2或完全删除7.0版”

我能够使用去年最初配置php,apache等的脚本来切换php版本

$ curl -L https://gist.githubusercontent.com/rhukster/f4c04f1bf59e0b74e335ee5d186a98e2/raw > /usr/local/bin/sphp
$ chmod +x /usr/local/bin/sphp
$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

如果这对于任何观察者均无效,请尝试以下附加命令:

export PATH=/usr/local/bin:/usr/local/sbin:$PATH

此脚本使我可以轻松使用以下命令更改httpd php版本:

Jacks-MBP:Projects jackrobson$ sphp 7.2
Sorry, but php@7.2 is not installed via brew. Install by running: brew install php@7.2
Jacks-MBP:Projects jackrobson$ brew install php@7.2

运行没有错误,现在httpd使用7.2,Laravel安装不再显示语法错误。晕!

感谢您对Caddy DZ的帮助。 :)

我希望这些笔记对遇到类似问题的人有所帮助。

1 个答案:

答案 0 :(得分:1)

尝试将httpd配置为使用php 7.2作为默认fpm,或者在不需要时完全卸载版本php 7.0
希望这对您有帮助