我有一台机器:
- centOS 6.5
- 来自 remi 存储库的 php 5.5.7
- 来自 remi 存储库的 mysql 5.5.35
我正在尝试将 zend framework 2 连接到 mysql 数据库,但出现以下错误:
发生错误 执行过程中出现错误;请稍后再试。 附加信息: Zend\Db\Adapter\Exception\RuntimeException
文件:
/var/www/zf2demo/vendor/zendframework/zendframework/library/Zend/Db/Adapter/Driver/Pdo/Connection.php:289
留言:
Connect Error: could not find driver
根据 phpinfo,我已经安装并运行了 pdo
启用 PDO 支持 PDO 驱动 mysql, sqlite
pdo_mysql 启用 MySQL 的 PDO 驱动程序 客户端 API 版本 mysqlnd 5.0.11-dev - 20120503 - $Id: 40933630edef551dfaca71298a83fad8d03d62d4 $
指令本地值主值 pdo_mysql.default_socket/var/lib/mysql/mysql.sock/var/lib/mysql/mysql.sock
我的 php.ini 文件中已经有扩展 pdo.so 和 pdo_mysql.so。
我的连接是通过(用户名和密码在其他文件中)完成的:
return array(
'db' => array(
'driver' => 'Pdo',
'dsn' => 'mysql:dbname=album;host=localhost',
'driver_options' => array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''
),
),
'service_manager' => array(
'factories' => array(
'Zend\Db\Adapter\Adapter'
=> 'Zend\Db\Adapter\AdapterServiceFactory',
),
),
);
有什么问题吗?
请您参考如下方法:
我在使用 Zend 和 PHP 5.4 的 CentOS 6.4 版中遇到了类似的问题。 PDO 出现在 phpinfo() 中,但提到的错误(“找不到驱动程序”)出现在与数据库相关的所有页面上。 Php 5.4 包含了 php-common 等软件包,之前的 pdo 软件包是从替代的 yum/rpm 存储库中获得的。也许您当前的 PDO 包也失败了。
最后,在我的例子中,解决方案是安装其他 php-pdo 包 (php54w-pdo.x86_64)。
#yum install php54w-pdo.x86_64
我想你应该安装 php55w-pdo.x86_64
#yum install php55w-pdo.x86_64
不要忘记重启 Apache!