刚刚遇到一个问题,类中定义了一个常量:

const USER = ['aa', 'bb', 'cc'];

在类中的静态函数中调用以上常量不会出错。网站中所有的网页均能正常打开。

而当push到线上后,网站网页都不能正常打开,查看错误日志发现报错:

Arrays are not allowed in class constants

针对该报错,百度查到问题:

php版本引起的const数组报错问题-Howingwah

改正错误后push到线上,一切恢复正常。

 

但是很纳闷为什么本地不报错,在调试一番之后,猜测是php版本问题,于是采用如下函数查看本地和线上php版本:

phpversion()

查看得到版本号,本地为5.6.12,线上为5.5.12,百度,发现5.6版本在常量上有增强。

得出结论:1、5.6的版本常量可以为array,5.6之前的版本常量不可以为array;

2、本地和线上不同状态,是因为php版本不同引起的。

来源于:https://blog.csdn.net/weixin_34120274/article/details/94263388