1

我已经安装了 Laravel 5.5,我得到了同样的错误,文档说:

  • PHP >= 7.0.0
  • OpenSSL PHP 扩展
  • PDO PHP 扩展
  • Mbstring PHP 扩展
  • 标记器 PHP 扩展
  • XML PHP 扩展

我跑了: $ php artisan --version` $ Laravel Framework 5.5.42

我收到了这个错误:

Symfony \ Component \ Debug \ Exception \ FatalThrowableError (E_PARSE) Parse error: syntax error, unexpected '?', expecting variable (T_VARIABLE)

文档有错吗?我正在使用:https ://laravel.com/docs/5.5/installation#installing-laravel 我的服务器只能使用 PHP 7.0。不是7.1。没有办法在 7 上运行 Laravel 了吗?

我正在通过作曲家安装。

有没有办法下载与 7.0 兼容的版本?

4

3 回答 3

1

如果你有 PHP 5.5(实际上是 5.5.9 或更高版本),你应该使用Laravel 5.2

如果你有 PHP 7.0,你可以使用Laravel 5.5

您提到的错误是因为您使用的是不支持 PHP 7 Null 合并运算符 (??) 的 PHP 5.5,并且它正在 Laravel 代码中的某处使用。

正如您所说,您的服务器支持 PHP 7.0,您的系统上可能安装了多个 PHP 版本。检查正在运行的 PHP 版本php --version

于 2018-08-10T20:22:10.137 回答
0

这是 Symfony 翻译堆栈的问题,我暂时不得不禁用,我还降级了 carbon 包以使其工作,不知道为什么。它有一些 php7.1 代码。

于 2018-08-13T14:46:11.847 回答
0

问题可能是 PHP 的命令行版本与 PHP 的 Apache 版本不同。运行php --version并验证您使用的是 PHP 7.0.0 或更高版本。

Laravel 5.5.* 在 PHP 7.0.* 上运行没有问题。我目前有一个在 PHP 7.0.15 上运行 Laravel 5.5.43 的项目,这个问题不会发生。

如果 PHP 的命令行版本不是最新的,或者您可以访问多个 PHP 版本,您应该联系您的托管服务提供商寻求帮助。您还可以运行类似于以下的命令来查看是否可以访问不同版本的 PHP:

locate bin/php

以上可能会让您对安装位置有所了解。例如,我看到安装了三个不同版本的 PHP,但默认版本 ( /usr/bin/php) 是 7.0.15:

/opt/cpanel/ea-php56/root/usr/bin/php
/opt/cpanel/ea-php70/root/usr/bin/php
/opt/cpanel/ea-php71/root/usr/bin/php
/usr/bin/php
于 2018-08-13T13:10:45.857 回答