你可能已经知道我从之前的问题中从ubuntu切换到了windows。我正在研究ubuntu上的Zend Framework,现在在windows中处理同一个项目。由于这种转换,我在Windows中遇到了一些问题,这在ubuntu中没有发生。
现在,当我进入登录页面时,我在firebug控制台中出现以下错误:
<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 />
你们是否知道这是什么类型的错误以及解决方案是什么?
我对数据库有以下配置。
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"
由于
答案 0 :(得分:3)
我在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
这解决了我的问题。
答案 1 :(得分:2)
这看起来与PHP的bugtracker上的这个错误相关: Bug #47224 MYSQL_ATTR_INIT_COMMAND
is no longer available
它似乎已在SVN中修复 - 但可能不在您使用的PHP版本中?
引用其中一条评论:
[2009-07-02 06:43 UTC] mg at artigo dot pl
临时解决方案是 使用INT值(1002
)而不是 恒定。
这可能是一个临时解决方案,直到您安装新版本的PHP,其中修复了错误?
答案 2 :(得分:1)
看起来不久前在SVN中修复了Windows bug in PHP 5.3。您可能希望尝试更新到最新的PHP版本,以查看问题是否仍然存在。
答案 3 :(得分:0)
我在debian6上遇到同样的错误,当我还没有安装php-mysql
时,我只是安装了这个,就像这样
apt-get install php5-mysql
/etc/init.d/apache2 restart
我只是在这里添加它,以防其他有相同问题,为他们保存几分钟的研究。