在Zend Studio中调试时不能连接Mysql的问题

来源:互联网 发布:psv重构数据库如何进入 编辑:程序博客网 时间:2024/06/07 14:04
来自:http://www.rzhome.net/blog/article.asp?id=502费了不少周折,终于把zend配置好了,主要参考了以下文章在使用Zend Studio 5.0.0版本调试PHP时,如果在调试的代码中设计到创建mysql数据库的连接,总是会提示“mysql_connect(): Client does not support authentication protocol requested by server; consider upgrading MySQL client”这种错误(配置zend所使用的php版本为php4时),或者提示“call to undefined function mysql_connect()”配置zend所使用的php版本为php5时)。虽然在apache中,php程序能正常运行,但在zend里调试就是会提示上述的错误。这个问题困扰了偶很久,导致偶要去寻找其它的PHP IDE,而放弃使用Zend。但其它IDE也存在这个问题(trustudio,http:www.xored.com)。我不得不重新面对Zend的这个问题,或者说是其它IDE也会面临的这个问题。最后终于在Zend的论坛上找到了答案。在安装Zend的时候,Zend其实在其安装目录已经创建了PHP的解析器,包括两个版本,php4(4.4.0版)和php5(5.0.4版),在zend里调试php时,zend会使用这两个版本的PHP解析器来解析PHP,而不会使用系统安装的PHP。对于配置zend使用php4时,zend会使用php4内置的mysql库来创建mysql连接,php4.4.0所使用的Cliend API版本是3.23.49,而我所使用的mysql数据库是4.1.7,所以调试时调用mysql_connect()时,会提示Client does not support authentication protocol requested by server; consider upgrading MySQL client。而如果配置zend使用php5时,由于php5是没有内建mysql模块的,所以会出现mysql_connect()为未定义函数的错误。对于配置zend使用php4时,解决上面错误的办法可能是要更换所使用的mysql数据库到低版本,以使3.23.49版的Client API能访问mysql。而对于配置zend使用Php5的情况,所要做的就是使zend的php5能加载mysql模块,从而可以访问mysql数据库。具体步骤如下:1. 在你的zend的安装目录的bin/php5中(如:C:/Program Files/Zend/ZendStudioClient-5.0.0/bin/php5),创建ext目录2. 将php_mysql.dll或php_mysqli.dll拷贝到该目录3. 将libmysql.dll拷贝到bin/php5目录4. 修改bin/php5目录下的php.ini,增加下面两行,使zend的php5能找到mysql模块5. extension_dir=”C:/Program Files/Zend/ZendStudioClient-5.0.0/bin/php5/ext”6. extension=php_mysql.dll这里需要注意的是,php_mysql.dll,php_mysqli.dll,libmysql.dll必须是php5.0.4版本的,也就是说必须是从php.net上下载的php5.0.4版本包里的,而不能是其他版本的,否则zend会报不能加载php_mysql.dll的错误。 我自己总结出最为关键的一点是:一定要看好zend的版本,然后找到和它匹配的php版本,另外,注意extension_dir不要写错了
原创粉丝点击