php版本引起的const问题
刚刚遇到一个问题,类中定义了一个常量:
const USER = ['aa', 'bb', 'cc'];
在类中的静态函数中调用以上常量不会出错。网站中所有的网页均能正常打开。而当push到线上后,网站网页都不能正常打开,查看错误日志发现报错:
Arrays are not allowed in class constants
针对该报错,百度查到问题:
改正错误后push到线上,一切恢复正常。
但是很纳闷为什么本地不报错,在调试一番之后,猜测是php版本问题,于是采用如下函数查看本地和线上php版本:
phpversion()
查看得到版本号,本地为5.6.12,线上为5.5.12,百度,发现5.6版本在常量上有增强。
得出结论:
1、5.6的版本常量可以为array,5.6之前的版本常量不可以为array;
2、本地和线上不同状态,是因为php版本不同引起的。
推荐教程:PHP视频教程
以上是php用const出错的详细内容。更多信息请关注PHP中文网其他相关文章!