我的网站在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中没有堆栈帧抛出异常
如何解决这个问题以及删除公共目录的正确方法是什么?
答案 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)
sudo a2enmod php7.1 #to enable 7.1
sudo service apache2 restart
<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