西西软件园多重安全检测下载网站、值得信赖的软件下载站!
软件
软件
文章
搜索

首页编程开发php教程 → 解决PHP无法装载动态链接库的问题

解决PHP无法装载动态链接库的问题

相关软件相关文章发表评论 来源:夜皇朝时间:2010/11/18 17:16:12字体大小:A-A+

作者:佚名点击:145次评论:0次标签: PHP

  • 类型:服务器区大小:21M语言:中文 评分:7.5
  • 标签:
立即下载

首先,从PHP的官方网站下载了PHP 5.2.14 For Windows的压缩包,解压至D盘的PHP目录;随后下载了Apache HTTP Server的最新版本——2.2.17,是MSI格式的,安装也非常简单。接着就是将PHP与HTTP Server关联起来——让HTTP Server能够处理php请求,其实也就是修改httpd.conf文件了。有关这一点,网上的资料已经非常详细,官方的介绍在这里。环境搭建好了之后,为了让PHP能够更强大,接下来就是通过修改PHP.ini文件来装载所需的PHP Extention(PHP扩展)了,而这些扩展在Windows平台下就是一个个动态链接库(DLL文件)。这下老大难的问题来了——无法装载某些动态链接库(PHP startup: Unable to load dynamic library)。对于这个问题,我们通过Google能够找到如下的解决方案:

切记修改Windows的环境变量,在PATH环境变量当中增加PHP所在的路径以及PHP扩展所在的路径;
如果第一点做了之后,仍然无法解决,就要留意被加载的动态链接库所依赖的DLL文件是否缺失。PHP官方提供了一个在Windows下安装PHP扩展的指南,里面指出了依赖关系。
通常上述两个方案就能解决无法装载动态链接库的问题了,但是也会有例外的。上个星期我在搭建PHP开发环境的时候,就遇到了无法装载php_curl.dll动态链接库的问题。不管是环境变量还是依赖的DLL文件(官方文档指出:php_curl.dll所依赖的文件是libeay32.dll, ssleay32.dll)都是齐备的,这让我百思不得其解。我把网上能够找到的办法都试了个遍,甚至还把相关的dll文件全部复制到了Windows的system32目录当中(其实这样做是毫无意义的)。这个小问题让我整个周末如鲠在喉,甚是不爽。经过一番思考,我还是把问题定位到了动态链接库所依赖的DLL文件缺失上。
尽管官方文档告诉我php_curl只依赖上述两个DLL文件,但这是真的么?于是,我在下载了查看DLL依赖关系的软件——Dependency Walker。用这个软件一看,果然不出我所料:php_curl.dll所依赖的zlib.dll不存在!找到问题根源,接下来的事情都好办了,通过Google找到zlib的老巢,下载最新的zlib.dll,然后将该文件放到PHP的安装目录下即可(这里仍然需要注意两点,一是对于下载的DLL文件,如果文件名不是zlib.dll,需要改为zlib.dll;二是PHP安装的目录必须加入到PATH环境变量中)。至此,问题解决!

    相关评论

    阅读本文后您有什么感想? 已有人给出评价!

    • 8 喜欢喜欢
    • 3 顶
    • 1 难过难过
    • 5 囧
    • 3 围观围观
    • 2 无聊无聊

    热门评论

    最新评论

    发表评论 查看所有评论(0)

    昵称:
    表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
    字数: 0/500 (您的评论需要经过审核才能显示)