2

PDO および PDO MySQL で SSL を使用しようとしていますが、「PHP Fatal error: Undefined class constant '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" 
        )
    );

phpinfo() を使用して pdo_mysql がインストールされていることを確認し、SSL なしでコードを使用しても問題はありませんでした。PHP 5.3.6-13 を使用して Ubuntu 3.9 を使用しています。他の MYSQL_ATTR_.. を使用してみましたが、同様のエラーが発生します。何が起こっているのかについて何か考えはありますか?

4

2 に答える 2

3

PDO::MYSQL_ATTR_SSL_CA5.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 に答える