50010623 发表于 2017-4-5 08:59:12

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
页: [1]
查看完整版本: PHP: "unable to load dynamic library"错误的解决方法