4

共有ホスト サーバーに Roundcube 0.9.0 をインストールしています。

PDO を有効にして PHP 5.3.8 を使用していますが、roundcube をインストールすると、次のような応答が返されます。

Check DB config
Fatal error: Undefined class constant 'MYSQL_ATTR_FOUND_ROWS' in /home/neuas/domains/anthonysalvador.info/public_html/webmail/program/lib/Roundcube/rcube_db_mysql.php on line 127

ホストに連絡しましたが、彼らは私を断りました。Roundcube に連絡しましたが、断られました。私が見落としている可能性のあるものはありますか?

障害のある行を含むコードの PDO セクションは次のとおりです。

102    protected function dsn_options($dsn)
103    {
104    $result = array();
105
106    if (!empty($dsn['key'])) {
107        $result[PDO::MYSQL_ATTR_KEY] = $dsn['key'];
108    }
109
110    if (!empty($dsn['cipher'])) {
111        $result[PDO::MYSQL_ATTR_CIPHER] = $dsn['cipher'];
112    }
113
114    if (!empty($dsn['cert'])) {
115        $result[PDO::MYSQL_ATTR_SSL_CERT] = $dsn['cert'];
116    }
117
118    if (!empty($dsn['capath'])) {
119        $result[PDO::MYSQL_ATTR_SSL_CAPATH] = $dsn['capath'];
120    }
121
122    if (!empty($dsn['ca'])) {
123        $result[PDO::MYSQL_ATTR_SSL_CA] = $dsn['ca'];
124    }
125
126    // Always return matching (not affected only) rows count
127    $result[PDO::MYSQL_ATTR_FOUND_ROWS] = true;
4

3 に答える 3

2

これは古いトピックであることは知っていますが、同じ問題の解決策を探しているときに見つけました。これが私のために働いたものです。テキスト エディタで db.inc.php を開き、25 行目から 28 行目を見て、インストールに適用される行のコメントを外して編集しました。これにより、エラー メッセージが削除され、インストールが完了しました。

//$rcmail_config['db_dsnw'] = 'mysql://roundcube:pass@localhost/roundcubemail';
// postgres example: 'pgsql://roundcube:pass@localhost/roundcubemail';
// Warning: for SQLite use absolute path in DSN:
// sqlite example: 'sqlite:////full/path/to/sqlite.db?mode=0646';
于 2014-01-21T18:24:34.523 に答える