laravel 5.6 服务器错误

Posted

技术标签:

【中文标题】laravel 5.6 服务器错误【英文标题】:laravel 5.6 server error 【发布时间】:2018-08-13 00:52:27 【问题描述】:

我的网站在 localhost 上运行完美,但是当移动到实时服务器 Ubuntu 16.04 LTS 时出现此错误

[2018 年 3 月 5 日星期一 11:11:28.968821] [:error] [pid 19322] [client 156.212.75.255:61635] php 解析错误:语法错误,意外 '?',期望变量 (T_VARIABLE) 在 XXXXXXXXXX/ vendor/symfony/finder/Comparator/NumberComparator.php 在第 42 行 [Mon Mar 05 11:11:28.968895 2018] [:error] [pid 19322] [client 156.212.75.255:61635] PHP 致命错误:在第 0 行的 Unknown 中抛出没有堆栈帧的异常 [2018 年 3 月 5 日星期一 11:11:28.969374] [:error] [pid 19322] [client 156.212.75.255:61635] PHP 解析错误:语法错误,意外 '?',期望变量 (T_VARIABLE) 在 XXXXXXXXXX/vendor/symfony /finder/Comparator/NumberComparator.php 在第 42 行 [Mon Mar 05 11:11:28.969390 2018] [:error] [pid 19322] [client 156.212.75.255:61635] PHP 致命错误:在第 0 行的 Unknown 中抛出没有堆栈帧的异常

我该如何解决这个问题以及删除公共目录的正确方法是什么?

【问题讨论】:

你的服务器上有什么 php 版本? php版本为7.0 我升级了 php 版本,现在我的服务器 php 是 PHP 7.2.2,我的本地版本是 PHP 7.2.0 我仍然遇到同样的错误 【参考方案1】:

禁用php7.0

sudo a2dismod php7.0 

启用php7.1

sudo a2enmod php7.1 #to enable 7.1

重启apache

sudo service apache2 restart 

【讨论】:

【参考方案2】:

如果您查看源代码code。

/**
 * @param string|int $test A comparison string or an integer
 *
 * @throws \InvalidArgumentException If the test is not understood
 */
public function __construct(?string $test)

?string,它被称为Nullable 类型。此功能出现在 php 7.1 之后(请参阅文档 here)。所以你需要在你的服务器上升级 php 版本。确保您获得最低 php 版本 7.1。或者与您的本地环境相同。

【讨论】:

我按照您的建议升级了 php 版本,现在我的服务器 php 是 PHP 7.2.2,我的本地版本是 PHP 7.2.0 我仍然遇到同样的错误 是的,一切都很好,现在我将 php 版本升级到 7.2 并运行此命令 sudo a2enmod php7.2 sudo a2dismod php7.0 sudo service apache2 restart 太棒了!很高兴能提供帮助。 :)【参考方案3】:

点击此链接将 php 版本升级到 7.2

https://thishosting.rocks/install-php-on-ubuntu/

然后运行这个命令

sudo a2enmod php7.2 须藤a2dismod php7.0

sudo service apache2 重启

【讨论】:

【参考方案4】:

检查你的php版本,很有可能就是这样:

对于 ubuntu 家庭:

> a2dismod php5.6 #current version
> a2enmod php7.1 #required version ( 7.0, 7.1, 7.2 )
> service apache2 restart

【讨论】:

以上是关于laravel 5.6 服务器错误的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Laravel 框架中降级? (5.6 至 5.5)

从零开始搭建linux下laravel 5.6环境

在 laravel 5.6 中找不到 Trait 'App\HasRoles' 错误

Laravel 默认错误页面在服务器中有所不同 [minimal.blade vsillustrated.blade]

Laravel 5.6 上的 419 Ajax 错误 - 已编辑

Laravel 5.6 '/' 找到路由但未找到其他路由 AWS EC2