正如你可能已经知道我从以前的问题从Ubuntu切换到Windows。 我正在研究ubuntu上的Zend Framework,现在正在使用Windows中的相同项目。 由于这个切换,我正在面对一些在Ubuntu中没有发生的问题。
现在,当我login页面时,在萤火虫控制台中有以下错误:
<b>Fatal error</b>: Undefined class constant 'MYSQL_ATTR_INIT_COMMAND' in <b>C:\wamp\www\vcred\library\Zend\Db\Adapter\Pdo\Mysql.php</b> on line <b>93</b><br />
你们是否知道这种错误是什么,解决方法是什么?
我有以下configuration数据库。
resources.db.adapter = "Pdo_Mysql" resources.db.params.host = "localhost" resources.db.params.username = "root" resources.db.params.password = "" resources.db.params.dbname = "test" resources.db.params.charset = "utf8"
谢谢
这看起来与PHP的错误跟踪器上的这个错误有关: 错误#47224 MYSQL_ATTR_INIT_COMMAND
不再可用
它似乎已被修复SVN – 但也许不是在你使用的PHP版本?
引用其中一条评论:
[2009-07-02 06:43 UTC] mg at artigo dot pl
临时解决方案是使用INT值(1002
)而不是常量。
这可能是一个临时的解决方案,直到你安装了一个新版本的PHP,其中的错误是固定的?
我只是有与PHP 5.2.6相同的错误,我所要做的就是打开php.ini
(例如,在Windows上: C:\ Windows \ php.ini ,或在Ubuntu上: / etc / php5 / apache2 / php .ini或sg。就像这样)在文本编辑器中,并从以下行中删除分号 :
;extension=php_pdo_mysql.dll
所以在php.ini中看起来就像这样:
extension=php_pdo_mysql.dll
这解决了我的问题。
看起来像PHP 5.3中的一个Windows bug ,刚刚在SVN中修复。 你可能想尝试更新到最新的PHP版本,看看问题是否仍然存在。
我得到了同样的错误,在debian6上,当我还没有安装php-mysql
所以我只是简单地安装这个,就像这样
apt-get install php5-mysql /etc/init.d/apache2 restart
我只是把它加在这里,以防其他人有同样的问题,为他们节省几分钟的研究。