为什么在我的服务器上升级 PHP 8 后 PDO 不工作? [关闭]

问题描述 投票:0回答:0

此代码多年来一直正常工作。服务器最近从 7.4 更新到 PHP 8.1,现在这段代码给我一个 500 错误。 这是我在日志中遇到的错误。

[Fri Mar 24 11:22:11.124819 2023] [fcgid:warn] [pid 360449:tid 120683333338128] [client 77.254.54.33:51296] mod_fcgid: stderr: PHP 致命错误:声明 DB::query($statement)必须兼容 PDO::query(string $query, ?int $fetchMode = null, mixed ...$fetchModeArgs): PDOStatement|false in /home/website/website.com/app/mysql.php on line 29,推荐人:https://website.com/

<?PHP
class DB extends PDO {
    
    public $db_host = ‘host’;
    public $db_user = ‘username’;
    public $db_pass = ‘password’;
    public $db_name = ‘database’;
    
    public $db;
    public $db_statement;
    public $db_query;
    
    
    public function __construct(){
        $opt = array(
            PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
            PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
        );
        $this->db = new PDO('mysql:host='.$this->db_host.';port=3306;dbname='.$this->db_name, $this->db_user, $this->db_pass, $opt);
        $this->db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    }
}
?>
php pdo
© www.soinside.com 2019 - 2024. All rights reserved.