2013-08-24 90 views
0

我試圖通過doctorine更新MySQL數據庫的架構更新數據庫方案PDOException - 找不到驅動程序 - 無法通過PHP

php app/console doctrine:schema:update --force 

它顯示

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/Cellar/php/5.3.10/lib/php/extensions/no-debug-non-zts-20090626/php_pdo_mysql.dll' - dlopen(/usr/local/Cellar/php/5.3.10/lib/php/extensions/no-debug-non-zts-20090626/php_pdo_mysql.dll, 9): image not found in Unknown on line 0 


    [PDOException]   
    could not find driver 

它看起來像擴展不可用。

但根據我的phpinfo();

pdo_mysql已啓用。

pdo_mysql 

PDO Driver for MySQL enabled 
Client API version mysqlnd 5.0.10 - 20111026 - $Id:  e707c415db32080b3752b232487a435ee0372157 $ 

Directive Local Value Master Value 
pdo_mysql.default_socket /tmp/mysql.sock /tmp/mysql.sock 

是否有任何其他要點檢查我?

我也試過註釋或取消註釋這條線在php.ini

;extension=php_pdo_mysql.dll 

非常感謝。

+0

重新啓動Web服務器的所有服務。 nd檢查是否還在發生...... – Rahul

+0

@Rahul:這是一個CLI問題,所以沒有涉及到網絡服務器。 – greg0ire

回答

2

您在CLI中使用php,可能與您的web服務器的模塊php的配置方式不同。

這意味着如果你想了解關於php CLI的信息,你應該在cli中嘗試php -i,而不是通過調用phpinfo()來請求腳本。更簡單地說,要檢查在CLI中加載哪些模塊,請運行php -m

此外,要知道哪些ini文件在CLI中加載,請使用php --ini

+0

哦,很好的提示!,phpinfo()顯示使用/usr/local/php5/lib/php.ini,但php -i顯示使用/usr/local/Cellar/php/5.3.10/etc/php.ini。我如何更改CLI的php.ini文件? – whitebear

+0

我不知道,我想你必須重新編譯php,或者總是用一些選項來運行它。如果是爲了擁有相同的配置文件,我建議你不要。有些東西,比如'memory_limit'設置,你需要保持獨立。如果你仍然想擁有相同的文件,我想你可以用一個符號鏈接替換另一個文件的php.ini。 – greg0ire

+0

我已重新編譯並獲得成功。感謝您的建議 – whitebear

相關問題