在Windows下,让PHP5支持MySQL

  2006-08-04


这不是一个很技术的问题,却让我花去了大半个小时才解决好,所以写出来,给需要的同志们看看,免得浪费不必要的时间。
在PHP4中,默认加入了对MySQL的支持,也就是说正确安装好PHP后,就可以使用PHP链接上MySQL数据库了。但是PHP5进行了改动,使用动态加载(Dynamic Extensions)的方式来支持MySQL。所以升级到PHP5后,需要修改你的php.ini文件,可以使用phpinfo()查看你的php.ini的位置,将extension_dir值改为”yourphpdirectory/ext”(我的是extension_dir = “d:\php\ext”),然后将;extension=php_mysql.dll前面的;去掉。按说这个时候重启apache服务器,就能使你的PHP支持MySQL了,至少我是这么想的,所以我上了大当,重启apache,弹出一个对话框,提示我“无法定位程序输入点 mysql_thread_init 于动态链接库 LIBMYSQL.dll 上”。其实提示说得已经很清楚了,但是当时没有仔细看,检查了ext目录,php_mysql.dll文件完好无损,又尝试了一下将extension=php_gd2.dll打开,phpinfo()显示gd已经启用,MySQL却没有得到支持。我又将php_mysql.dll文件拷贝到system32目录下,结果还是弹出出错提示。没有办法,只能怀疑是不是PHP安装的问题,重新安装,让我找到了问题,在PHP目录下有一个libmysql.dll文件,刚开始没有注意看,将这个dll文件拷贝到system32目录下,问题解决……最后发现将这个dll文件拷贝到apache目录下效果是一样的。

具体操作:
1.安装php-5.1.2-installer.exe,安装到指定目录,例如:d:\php
2.解压php-5.1.2-Win32.zip,将所有文件拷贝到d:\php下
3.修改apache的配置文件,加入下面两行(如果是升级只需修改第一行就行):
LoadModule php5_module “d:/php/php5apache2.dll”
AddType application/x-httpd-php .php
4.在winnt目录下找到php.ini,修改此文件:
extension_dir = “d:\php\ext”
extension=php_mysql.dll
5.将d:\php目录下的libmysql.dll拷贝到apache目录下或者是system32目录下
6.重启你的apache服务器。

如果你用的IIS,原理也是一样,我觉得多半人都是没有拷这个libmysql.dll。