symfony2.无法加载 pdo 驱动程序

Posted

技术标签:

【中文标题】symfony2.无法加载 pdo 驱动程序【英文标题】:symfony2. Cannot load pdo drivers 【发布时间】:2013-08-11 19:45:13 【问题描述】:

当我尝试创建数据库时

doctrine:database:create

有错误(mysql或postgresql):

Could not create database for connection named `symfony`
could not find driver

我的参数.yml:

parameters:
database_driver: pdo_mysql
database_host: 127.0.0.1
database_port: 3306
database_name: symfony
database_user: root
database_password: null
mailer_transport: smtp
mailer_host: 127.0.0.1
mailer_user: null
mailer_password: null
locale: en
secret: 1dffcb10ddfc2bbc4f211d773f2524557
database_path: null

当我试图将我的类映射到 db 时

php app/console doctrine:generate:entities Demos/BlogBundle/Entity/Post
php app/console doctrine:schema:update --force

有错误:

[PDOException]         
  could not find drive

在文件 php.ini 中取消注释

extension=php_pdo_mysql.dll
extension=php_pdo_pgsql.dll

print_r(get_loaded_extensions()) 结果:

Array (... mbstring [35] => exif [36] => gd [37] => gettext [38] => mysql [39] => Phar [40] => pdo_mysql [41] => pdo_pgsql [42] => pgsql ...)

我找到了http://www.php.net/manual/en/pdo.installation.php 用户 gerrywastaken 写道,可能需要命令:

--with-pdo-mysql[=DIR] PDO:MySQL 支持。 DIR 是 MySQL 的基本目录 如果 mysqlnd 作为 DIR 传递,则 MySQL 本机 将使用本机驱动程序 [/usr/local]

我不明白在哪里执行这个命令,或者配置...

【问题讨论】:

底部那个命令就是php编译命令。如果这是初始 LAMP 服务器设置。如果没有,请尝试本网站的指南。 tecmint.com/install-apache-mysql-php-on-redhat-centos-fedora 这为我解决了同样的问题 - ***.com/questions/13375061/… 【参考方案1】:

在 php.ini 配置中取消注释这些行后,您需要重新启动 Web 服务器

【讨论】:

以上是关于symfony2.无法加载 pdo 驱动程序的主要内容,如果未能解决你的问题,请参考以下文章

symfony2 中的 MySQL (PDO) 出错:驱动程序中发生异常:SQLSTATE [HY000] [1049]

安装 RVM 后无法加载 Sass / Compass,与 Symfony2 中的 Assetic 一起使用

Symfony2:使用两个不同的用户提供程序登录网站时无法模拟用户

Symfony2,Doctrine,延迟加载和代理类问题

无法使用 PHP PDO 获取 SQL Server 打印消息

加载驱动失败怎么办