如果我在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的帮助。 :)
我希望这些笔记对遇到类似问题的人有所帮助。
答案 0 :(得分:1)
尝试将httpd
配置为使用php 7.2
作为默认fpm
,或者在不需要时完全卸载版本php 7.0
。
希望这对您有帮助