在安装PHP 5.0时,有些朋友会碰到启动APACHE服务器时,弹出“unable to load dynamic library 'c:\php\php_XXX.dll'提示的问题,虽然不加载这些动态模块PHP也可以使用,但是这些模块提供的功能就无福享受了。
我根据自己的经验,把出现这种问题的原因和解决的方法归纳了一下。
但各位首先要知道如何正常安装PHP 5.0+apache+mysql ,如果你还不知道如何安装的话,请参考”超越PHP“网站发布的《php&more》电子杂志第一期( http://down2.tech.sina.com.cn/down/fdl/phpmore0716.zip),非常详细的介绍了PHP 5.0的安装方法。
照上面的方法,安装完后,如果APACHE启动没问题,哪恭喜你,你可以玩去了。
如果提示不能加载部分动态模块,你就往下看。
以下假设PHP路径是C:\PHP
原因1:在C:\PHP\EXT\目录下缺少相应的DLL文件。
解决:应该把pecl-5.0.2-Win32.zip下载并解压到此目录。
原因2:没有把C:\PHP根目录下的dll文件完全拷贝到C:\WINDOWS\SYSTEM32\目录下。
解决:我知道在安装教程中没有要求把所有的DLL拷贝到system32目录中,但还是应该都拷过去,这些dll是加载动态模块时首先要访问的文件,没有它们,C:\PHP\EXT\目录中的那些PHP_XXX.DLL就是有也无法加载。(不要把C:\PHP\EXT\下的dll拷到system32目录,那样只会浪费你的硬盘)
原因3:c:\PHP\根目录下少了一个libmcrypt.dll文件,无法加载PHP_MCRYPT.DLL。
解决:不知道是什么原因,在PHP5.0的安装包里没有这个东东,大家要自己下载了(http://ftp.emini.dk/pub/php/win32/mcrypt/libmcrypt.dll),下载后拷贝到system32目录就可以了。
重新启动APACHE,搞定。
当然,如果你不需要用这些动态模块的功能,在PHP.INI中注释掉相应的DLL就可以了,这样apache启动的时候就不会有烦人的提示了。