PHP: "unable to load dynamic library"错误的解决方法

1.  问题的描述

 

今天php的mysql突然不好用了。先后提示下面的错误信息:

没有找到 libmysql.dll 因此这个应用程序未能启动 apache php
startup: Unable to load dynamic library : C:/ApacheGroup/php5/ext\php_mysql.dll

进而,在调用mysql函数的时候会出错:

Fatal error: Call to undefined function: mysql_connect()
 

产看了下我的系统,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

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值