2

我正在尝试将 SSL 与 PDO 和 PDO MySQL 一起使用,但收到“PHP 致命错误:未定义的类常量 'MYSQL_ATTR_SSL_CA'”:

    $this->db = new PDO(
        "mysql:host=".$this->hostname.";dbname=".$this->database, 
        $this->username, 
        $this->password, 
        array(
            PDO::ATTR_PERSISTENT => true, 
            PDO::MYSQL_ATTR_SSL_CA => "path/to/mysql-ssl-ca-cert.pem" 
        )
    );

我已经确保 pdo_mysql 是使用 phpinfo() 安装的,并且使用没有 SSL 的代码没有问题。我在使用 PHP 5.3.6-13 的 Ubuntu 3.9 上。我尝试使用其他 MYSQL_ATTR_.. 并收到类似的错误。对可能发生的事情有任何想法吗?

4

2 回答 2

3

PDO::MYSQL_ATTR_SSL_CA被定义为 5.3.7 以后的常数。

您可以在文档中查找:http: //php.net/manual/en/ref.pdo-mysql.php#pdo.constants.mysql-attr-ssl-ca

于 2012-11-26T06:42:39.947 回答
1

在我的情况下,我在使用 Drush(Drupal 命令行工具,版本 8.1.2)和 Drupal(版本 7.43)时遇到了这个错误。问题是我在 CLI 中使用 PHP7,切换到 PHP5.6 解决了这个问题。

于 2016-06-09T09:43:47.843 回答