You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP语法错误:PdoConnect.php第5行意外出现'const'报错排查

解析错误:语法错误,意外出现'const'(T_CONST),预期为变量(T_VARIABLE),位于文件C:\PHP\OSPANEL\OSPanel\domains\newyearshop.ua\classes\PdoConnect.php第5行

PdoConnect.php 原代码

<?php

class PdoConnect {

    private const HOST = 'localhost';
    private const DB = 'newyear';
    private const USER = 'newyear';
    private const PASS = 'newyear';
    private const CHARSET = 'utf8';

    protected $DSN;
    protected $OPD;
    public $PDO;

    private function __construct() {
        
        $this->DSN = "mysql:host=" . self::HOST . ";dbname=" . self::DB . ";charset=" . self::CHARSET;

        $this->OPD = array(
            PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
            PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
            PDO::ATTR_EMULATE_PREPARES => false,
        );

        $this->PDO = new PDO($this->DSN, self::USER, self::PASS, $this->OPD);
    }
问题原因及解决办法

问题根源是PHP版本不兼容:类常量的private访问修饰符是PHP 7.1才新增的特性,若当前使用的PHP版本低于7.1,就会触发该语法错误。

有两种可行解决方式:

  • 方案1:升级PHP版本
    将PHP版本升级到7.1或更高,可直接保留原代码中private const的写法,无需修改代码。

  • 方案2:修改代码适配低版本PHP
    去掉类常量前的private修饰符,PHP7.1之前的版本中,类常量默认允许类内部及子类访问,修改后的代码如下:

<?php

class PdoConnect {

    const HOST = 'localhost';
    const DB = 'newyear';
    const USER = 'newyear';
    const PASS = 'newyear';
    const CHARSET = 'utf8';

    protected $DSN;
    protected $OPD;
    public $PDO;

    private function __construct() {
        
        $this->DSN = "mysql:host=" . self::HOST . ";dbname=" . self::DB . ";charset=" . self::CHARSET;

        $this->OPD = array(
            PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
            PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
            PDO::ATTR_EMULATE_PREPARES => false,
        );

        $this->PDO = new PDO($this->DSN, self::USER, self::PASS, $this->OPD);
    }

内容的提问来源于stack exchange,提问作者bodis_

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 11:45:33