我有一台机器:
我想将zend框架2连接到mysql数据库但是我收到以下错误:
发生错误 执行期间发生错误;请稍后再试。 附加信息: 的Zend \ DB \适配器\异常\ 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',
),
),
);
有什么不对?
答案 0 :(得分:1)
我在使用Zend和PHP 5.4的CentOS版本6.4中遇到了类似的问题。 PDO出现在phpinfo()中,但在与数据库相关的所有页面上都提到错误(“找不到驱动程序”)。 PHP 5.4包括php-common等软件包,之前的pdo软件包是从alteumtive 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!