当前位置: 首页 > 知识库问答 >
问题:

意外'class'(T_CLASS)仅在远程(不在本地)[重复]

汪晟睿
2023-03-14

我们正在开发CRM。

在本地,我没有问题,但在远程(OVH),我有以下错误消息:

分析错误:语法错误,第126行的/home/dubinfo/www/CRM/model/Locataire.php中出现意外的“class”(T_类),需要标识符(T_字符串)或变量(T_变量)或“{”或“$”

代码如下:

public function setVisites($visites) {
    $this->_visites = CheckTyper::isArrayOfModel($visites,
            VisiteMaisonInvestisseur::class, 'visites', __CLASS__);
}

远程主机上的PHP(OVH)版本为5.4.38

共有2个答案

郁高韵
2023-03-14

问题在于visitmaisoninvestseur::classclass在PHP中是一个保留字,因此不能将其用作常量的名称。

如果它在本地服务器上工作,则必须是特定于版本的。但是我已经在5.3和5.6中测试过了,它们都报告了Classname::class的错误。

胡鸿禧
2023-03-14

使用class作为常量名称仅在PHP5.5中可用。

要获取类名,可以将visitemaisoninvestiseur::class替换为get\u class(新的visitemaisoninvestiseur)

或者更改常量的名称。例如:visitemaisoninvestiseur::class\u name

 类似资料:
  • PHP7.0。27(cli)(创建时间:2018年1月23日09:07:32)(NTS) 版权所有(c)1997-2017 PHP Group Zend Engine v3。0.0,版权所有(c)1998-2017 Zend Technologies 分析错误:语法错误,意外的T_类,应为T_字符串或T_变量或“$”在/path_to_项目/artisan在线31 X-Powered-By:PHP

  • 我推了两个提交更改,结果我不得不拉一些同事所做的更改。当我尝试推送时,出现以下错误: 我尝试过但没有成功的解决方案:

  • 我创建了一个远程接口,并将其部署在应用服务器上的本地计算机上,它工作得很好,但是在部署成功的远程服务器上测试它时,我无法在验证登录表单时访问远程方法,导致以下错误: javax.ejb.ejbException 在com.sun.ejb.containers.baseContainer.PostInvoke(BaseContainer.java:2045) 在com.sun.ejb.contain

  • 问题内容: 我有这个Node.JS 服务器 : 客户端代码: 问题在于它似乎仅在本地工作。在ubuntu chrome上,我得到: 在Mac上,同一文件出现GET错误… 对可能是什么问题有任何想法吗? 问题答案: 网站的域名与托管位置无关,而与您用来访问它的URL有关。 即使“ 192.168.1.130”和“ localhost”解析到同一服务器,它们也被视为不同的域。 结果,因为您具有客户端代

  • 我正在完成“尝试Git”教程。 当我进入“1.11远程推送”章节并尝试运行: 我得到这个错误: 有什么想法吗?