我正在共享主机服务器上安装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;发布于 2014-01-22 02:24:35
我知道这是一个古老的话题,但我是在寻找解决同样问题的方法时发现的。以下是对我起作用的方法。我使用文本编辑器打开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';发布于 2017-07-08 04:34:31
我花了几个小时才找到这个。我在Centos 6.5上使用PHP5.3.3和MySQL 15.1 (10.0.31 MariaDB)
对我来说,修复方法是获得mySQL-pdo so文件。已通过执行yum install php-mysql-5.3.3-49.el6.x86_64.修复该软件包是通过执行提供 phppdo*.so的yum选择的
我是被PHP 7 RC3: How to install missing MySQL PDO引导走上这条路的。
这可能有点夸大其词--如果是这样,请告诉我,但是我还在/etc/php.ini (925行) extension=/usr/lib64/php/modules/pdo_mysql.so中指定了扩展
发布于 2017-03-03 23:40:29
我在安装一些php脚本时遇到了类似的问题。解决方案是安装php56-pdo_mysql。在BSD上,可以使用以下命令完成此操作: pkg install php56-pdo_mysql
希望这能有所帮助
https://stackoverflow.com/questions/16541595
复制相似问题