今天在windows server 2003上调试PHP源码的时候,遇到php连接mysql时的错误:Call to undefined function mysql_connect();
现总结如下:
1、修改php.ini 文件
(1)extension=php_mysql.dl有没有去掉注释(;为注释符)
(2)修改 extension_dir,设置为php安装的目录下的ext扩展文件夹名 的绝对路径,
如:extension_dir = "D:/php-5.2.5-Win32/ext"
(ext文件夹下有很多扩展应用,如php_gd2.dll,php_mysql.dll)
2、修改apache的配置文件,http.conf
(1)检查是否有 PHPIniDir 这一项,如果没有,在文件的任意地方必须加上,并且指向PHP的安装目录
作用是让apache在启动的时候能加载php.ini,
如 :
LoadModule php5_module D:\php-5.2.5-Win32\php5apache2_2.dll
PHPIniDir "C:\WINDOWS"
我这里是为了看起来方便,所以在LoadModule php5_module模块下加入了PHPIniDir。
3、在环境变量path中加上php的路径
如:"D:/Program Files/php-5.2.5-Win32",这是因为apache要引用libmysql.dll,libmysqli.dll两个文件
(如果重启apache还没能解决问题,就直接复制php安装根目录下lib开头的dll到C:\WINDOWS\system32目录下,这种方法比较粗暴)
4、重启apache