在我在 ZendServer CE 上制作的 ZF2 项目中,在文件 global.php 中我有这个:
return array(
'db'=> array(
'driver' => 'Pdo',
'dns' => 'mysql:dbname=test; host=localhost',
'username' => '***',
'password' => '***',
'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\Db\Adapter\Exception\RuntimeException
文件:
/var/www/ProvaProgetto/vendor/zendframework/zendframework/library/Zend/Db/Adapter/Driver/Pdo/Connection.php:289
消息:
Connect Error: could not find driver
我尝试检查 pdo 扩展是否已启用
php -m | grep -i pdo
它返回
PHP Warning: PHP Startup: Unable to load dynamic library
'/usr/lib/php5/20090626/mysql.so' -/usr/lib/php5/20090626/mysql.so:无法打开共享对象文件:第 0 行的“未知”中没有此类文件或目录
PHP 警告:PHP 启动:无法加载动态库 '/usr/lib/php5/20090626/mysqli.so' -/usr/lib/php5/20090626/mysqli.so:无法打开共享对象文件:没有这样的文件或目录在第 0 行未知
PHP 警告:PHP 启动:无法加载动态库 '/usr/lib/php5/20090626/pdo_mysql.so' -/usr/lib/php5/20090626/pdo_mysql.so:无法打开共享对象文件:没有这样的文件或目录在第 0 行未知
PDO
如何解决这个问题?
最佳答案
'dns' => 'mysql:dbname=test;主机=本地主机'
您的问题是“dns”,应该是:“dsn”。
关于php - PDO 异常 ZEND Framework 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22488933/