1. 问题的描述
今天php的mysql突然不好用了。先后提示下面的错误信息:
进而,在调用mysql函数的时候会出错:
产看了下我的系统,php.ini里面已经正确的配置了extension_dir:
extension_dir = "C:/ApacheGroup/php5/ext"
而且extension_dir里面也的确存在php_mysql.dll, 可为什么他偏偏挂不上去呢。
2. 问题的原因
google了一下发现原来:
要想Load "php_mysql.dll"这个dll, 必须要先Load “libmysql.dll”这个基础dll,
虽然前者在ext目录下,可以找到。
然后后者并没有在ext目录下(虽然即使他在也搞不定),也不一个系统能找到他的地方。
3. 所以解决办法有两种:
1. 将这些dll拷贝到windows下面。
2. 将php根目录加到path里面。
我当然是采用第二种办法,试了一下,重启apache不好用,重启了一下windows好用了。
问题算是解决了。然而我还是存在一个疑问:
我上次好用的版本,也是跟这次一样,从服务器上拷贝下来(并没有使用安装文件进行安装)。
我也不记得我配置过path,可他问什么好用呢?
已经无法再现当时的环境,暂且这样。
4.参考链接:
这一类错误的本质都是一样的,然而产生的原因会有一些变体,
比如升级php等等时候,详细可以参考下面链接:
http://www.javatang.com/archives/2007/07/04/1548182.html