2013-08-24 62 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

相关问题