为什么Doctrine说它无法找到PDO驱动程序?

时间:2011-09-17 01:51:55

标签: php symfony1 doctrine

我今天尝试了Symfony 2,并尝试使用Doctrine。

但是当我在命令行中使用命令php app/console doctrine:schema:create时,它会返回以下错误:

[PDOException]
could not find driver

doctrine:schema:create [--dump-sql] [--em[="..."]]

我的php.ini文件和phpinfo()清晰显示PDO驱动程序已加载。我还在纯PHP中创建了一个小脚本,使用PDO连接到我的数据库,它工作正常。没有错误,因此PDO安装良好且有效。

使用最新版本的EasyPHP在我的计算机上运行PHP和MySQL。

Doctrine可能出了什么问题?我现在应该在哪里看看?

6 个答案:

答案 0 :(得分:14)

是的,如果您在命令行中键入php -m,则应列出PDOpdo_mysql。在我的情况下,它只显示PDO,这就是为什么它找不到MySQL驱动程序。

正如您已经评论过的那样,我认为这是因为PHP CLI无法找到合适的php.ini文件。

答案 1 :(得分:10)

您需要正确配置您的php cli,以加载Web服务器版本已配置为加载的相同扩展名。

这是PHP搜索配置文件

link

答案 2 :(得分:9)

sudo apt-get install php5-mysql

会做魔术

答案 3 :(得分:2)

在命令行上,检查您是否有PDO支持:

php -m|grep -i pdo

如果没有,请搜索php mysql支持(Ubuntu):

apt-cache search php5*|grep mysql

安装它:

sudo apt-get install php5-mysql

再次安装packagem检查后,您应该看到PDO mysql支持。

答案 4 :(得分:0)

就我而言,我尝试从本地终端而不是从docker容器运行bin / console。

也许会对其他人有帮助!

答案 5 :(得分:0)

如果您在 php 安装中编辑 php.ini,该 .ini 文件是 phpinfo() 中指定的文件,并且您的 php.ini 更改仍然没有显示在 symfony 项目中,您需要创建一个php.ini 在您项目的根目录中,并在那里添加您要覆盖的值。

扫描此目录以获取其他 .ini 文件现在应该会显示您的项目根目录。

解析的其他 .ini 文件应显示新项目特定的 php.ini 文件。

(我要在本地运行一个 Symfony 3.3 应用程序)