Why does Doctrine say it can't find the PDO dr

2020-04-02 06:23发布

I tried Symfony 2 today and I tried to play a bit with Doctrine.

But when I use the command php app/console doctrine:schema:create in the command line, it returns this error:

[PDOException]
could not find driver

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

My php.ini file and phpinfo() cleary show that the PDO driver is loaded. I also created a little script in pure PHP to connect to my database using PDO and it worked fine. No error, so PDO is well installed and works.

PHP and MySQL are running on my computer using the last version of EasyPHP.

What could have gone wrong with Doctrine? Where should I look now?

5条回答
唯我独甜
2楼-- · 2020-04-02 07:00

Yeah, if you type php -m at the command line, it should list both PDO and pdo_mysql. In my case it showed only PDO which is why it could not find the MySQL driver.

As you've already commented, I think it's because the PHP CLI cannot find a suitable php.ini file.

查看更多
小情绪 Triste *
3楼-- · 2020-04-02 07:04

You need to configure correctly your php cli, to load the same extensions that the web server version has configured to load.

Here is a link on where PHP searches for the configuration file

查看更多
SAY GOODBYE
4楼-- · 2020-04-02 07:08

sudo apt-get install php5-mysql

will do the magic

查看更多
成全新的幸福
5楼-- · 2020-04-02 07:15

In my case, I've tried to run bin/console from a local terminal and not from the docker container.

Maybe it will help the others!

查看更多
一纸荒年 Trace。
6楼-- · 2020-04-02 07:17

On command line, check if you have PDO support:

php -m|grep -i pdo

If not, search for php mysql support (Ubuntu):

apt-cache search php5*|grep mysql

And install it:

sudo apt-get install php5-mysql

After installing the packagem check again, you should see the PDO mysql support.

查看更多
登录 后发表回答