2013-05-14 143 views
3

我在共享主机服务器上安装Roundcube 0.9.0。Roundcube安装,获取MYSQL_ATTR_FOUND_ROWS致命错误

我不过PHP 5.3.8与PDO被激活,当我安装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; 
+0

我认为'PDO :: MYSQL_ATTR_FOUND_ROWS'仅在**之后**你执行查询。 – hjpotter92 2013-05-14 11:39:11

+0

您确定您已连接到数据库吗?似乎你没有任何联系。 – BlueCola 2013-05-14 11:30:15

+0

好吧,我已经添加了所有的数据库信息,因为它已经设置...有没有办法检测到这种连接? – antonanton 2013-05-14 11:34:43

回答

1

我知道这是一个老话题,但我发现它,而寻找一个解决同样的问题。这是对我有用的东西。我用文本编辑器打开了db.inc.php并查看了第25-28行,然后取消了注释并编辑了应用于我的安装的行。这删除了错误信息并完成安装。

//$rcmail_config['db_dsnw'] = 'mysql://roundcube:[email protected]/roundcubemail'; 
// postgres example: 'pgsql://roundcube:[email protected]/roundcubemail'; 
// Warning: for SQLite use absolute path in DSN: 
// sqlite example: 'sqlite:////full/path/to/sqlite.db?mode=0646'; 
0

我在安装一些php脚本时遇到了类似的问题。 解决方案是安装php56-pdo_mysql。 在BSD这可以使用下面的命令来完成: PKG安装php56-PDO_MYSQL

希望这有助于

1

就花了几个小时追逐下来。我正在MySQL CentOS 6.5上使用PHP 5.3.3和MySQL 15.1(10.0.31 MariaDB)

对我来说,修复是为了获得mySQL-pdo so文件。通过执行修复yum安装php-mysql-5.3.3-49.el6.x86_64。这包是由执行百胜whatprovides PHP PDO选择*。所以

我带领下来通过这条路径: PHP 7 RC3: How to install missing MySQL PDO

这可能是矫枉过正 - 并请让我知道,如果它是,但我还在/etc/php.ini(第925行)中指定了扩展名 extension =/usr/lib64/php/modules/pdo_mysql.so

相关问题