我有很多页面,所有页面都是require
文件characters.php
。该文件包含定义我的网站中许多内容的常量。它们的定义是这样的,例如:
const $humanHEALTH = 1.1;
一切都可以使用WAMP在我的本地主机中正常运行,但是当我将其上传到在线主机时,出现此错误:
解析错误:语法错误,意外的T_CONST
我在其中一页上使用了phpinfo()
,PHP版本是5.2.17。
任何帮助将不胜感激。
在PHP 5.2中为define('constant_name', 'value');
直到PHP 5.3才添加对类定义之外的const
的支持,因此5.2.x太旧了,无法使用它。参见http://php.net/const
常量开头不能有任何$
符号。尝试使用const HUMAN_HEALTH = 1.1
。
如Marc B所述,const
类的外部只能从PHP 5.3起使用。
为已经提到的原因添加可能的原因:$
字符的使用,和旧的PHP版本;我从manual中留下的澄清对我的问题非常有用:
与使用define()定义常量相反,常量已定义使用const关键字必须在顶级范围内声明因为它们是在编译时定义的。这意味着他们不能在函数,循环,if语句或try / catch中声明块。