laravel 5.6服务器错误

时间:2018-03-05 11:16:38

标签: laravel laravel-5.6

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

  

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

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

4 个答案:

答案 0 :(得分:3)

如果你看一下来源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。或者使其与当地环境相同。

答案 1 :(得分:3)

禁用php7.0

sudo a2enmod php7.1 #to enable 7.1

启用php7.1

sudo service apache2 restart 

重启apache

   <properties>
     <powermock.version>1.7.1</powermock.version> 
   </properties>
   <dependencies>
    <dependency>
     <groupId>org.powermock</groupId>
     <artifactId>powermock-module-junit4</artifactId>
     <version>${powermock.version}</version>
     <scope>test</scope>    
    </dependency>    
    <dependency>
    <groupId>org.powermock</groupId>
    <artifactId>powermock-api-mockito</artifactId>
    <version>${powermock.version}</version>
    <scope>test</scope>    
   </dependency>

答案 2 :(得分:2)

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

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

然后运行此命令

sudo a2enmod php7.2 sudo a2dismod php7.0

sudo service apache2 restart

答案 3 :(得分:0)

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

对于ubuntu家庭:

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