2011-09-17 99 views
10

今天我試了一下Symfony 2,我試着玩了一下Doctrine。爲什麼Doctrine說它找不到PDO驅動程序?

但是,當我在命令行中使用命令php app/console doctrine:schema:create,則返回此錯誤:

[PDOException] 
could not find driver 

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

我的php.ini文件和phpinfo()函數克利表明,PDO驅動程序被加載。我還在純PHP中創建了一個使用PDO連接到我的數據庫的小腳本,它工作正常。沒有錯誤,所以PDO安裝和運行良好。

PHP和MySQL正在我的電腦上運行,使用最新版本的EasyPHP。

原理會出什麼問題?我現在應該看什麼?

+0

你是否也從CLI運行這個小腳本?那麼'php -i'呢? – zerkms

+0

從CLI運行腳本時它不起作用......但爲什麼?是不是一樣的PHP安裝? :/我必須在php -i中找到什麼? –

回答

6

您需要正確配置您的php cli,以加載Web服務器版本配置加載的相同擴展名。

這裏是哪裏PHP搜索配置文件

+1

當我做'php -m'(模塊編譯列表)時,我可以看到PDO。我的目錄中有兩個php.ini文件(其中一個是dev和on prod),我只找到這些文件。 –

+0

謝謝你,你是對的。問題是由於CLI缺少php.ini文件。 –

+1

輸入'php --ini'來查看php.ini的位置 – Alcalyn

10

是啊,如果你在命令行中鍵入php -m,它應該同時列出PDOpdo_mysql一個link。在我的情況下,它只顯示PDO,這就是爲什麼它找不到MySQL驅動程序。

正如您已經評論過的,我認爲這是因爲PHP CLI找不到合適的php.ini文件。

8

命令和apt-get安裝PHP5-MySQL的

會做魔術

+0

這不會提供問題的答案。要批評或要求作者澄清,在他們的帖子下留下評論 - 你總是可以評論你自己的帖子,一旦你有足夠的[聲譽](http://stackoverflow.com/help/whats-reputation),你會能夠[評論任何帖子](http://stackoverflow.com/help/privileges/comment)。 – Ziumin

+0

@Ziumin回過頭來看看這個問題,這個答案確實解決了我的問題。這不僅是一個答案,而且可能是這個問題上接受的答案,如果擴展。 –

+0

沒有爲我工作。一切都表示PDO已安裝並正在運行,但Synfony無法找到它。 – AngelGris

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支持。

相關問題