摘要:

  重装PHP后,运行PHPMyAdmin常常会出现“无法载入MySQL扩展,请检查PHP配置”这样的错误提示。这可能是因为在PHP5版本以后,MySQL是作为一个PHP扩展模块加载,而不是像以前的版本一样作为专门的动态链接库运行的。

  错误提示信息如下:

  [quote]

  无法载入 mysql 扩展,

  请检查 PHP 配置

  文档

  [/quote]

  出现此问题后,我仔细检查甚至重写了N次php.ini,内容无误,检查路径,没有错。检查php_mysql.dll,没有错,复制到%systemroot%还是不行。网上搜索一圈,无外乎两点:1、PHP.ini内容中去掉mysql扩展前面的;

2、修改扩展库路径、复制PHP.ini到%systemroot%;还是不能解决,后来甚至把所有涉及的文件夹的大小写都统一了。还是不能解决,无意中却发现了PHP根目录中有一个libmysql.dll,怎么看都觉得不对。在PHP根目录下放这个文件没有理由的啊,于是半信半疑的把这个文件复制到ext目录中,结果刷新两次,成功了!

  郁闷…………

  后来查询了相应的PHP文档,结合自己的理解分析。可能的原因是这样的,在PHP4以前的版本,MySQL是作为一个独立的程序运行的,因此MySQL的文档和网友中很多提示应该将libmysql.dll文件复制到%SystemRoot%中,其实在PHP5以后的版本中,MySQL是作为PHP的一个插件来运行的,PHP的插件都需要在[extension]中添加启用对应的模块,并且将对应的动态链接库(*.dll)复制到ext目录中。我们往往注意到MySQL.dll这个库,却忽视了libmysql.dll这个文件。因为在早期版本PHP中,该文件保存在PHP根目录的,所以很多人在制作新版本的文件包的时候搞错了,把这个本应该移动到ext中的文件忘记了。才导致了这个错误!