PHP7无法加载curl模块

      想要使用Xdebug分析php代码,根据安装了php7.4.3-ts-win64版本,运行在Apache2.4.41下。主要遇到两个问题:

      1.设置好httpd.conf跟php.ini后启动apache服务,win7应用程序日志中提示一系列模块无法加载,反复查资料,对比分析,最后把php.ini中extension_dir路径设置为绝对路径后解决:

      extension_dir = "c:\php74\ext"

      2.再次查看日志,发现还有一个错误:

php[27368] 
PHP Warning: PHP Startup: Unable to load dynamic library 'curl' 
(tried: c:\php74\ext\curl (找不到指定的模块。), 
d:\php74\ext\php_curl.dll (找不到指定的模块。))
("D:\ApachePhpWin64\Apache244\bin\httpd.exe" -k runservice) 

        即curl模块无法加载,php_curl.dll跟其他已经成功加载的模块同在一个目录下,不可能是路径问题了。又搜索了半天,找到各种解决办法,也有跟着说解决了的。其中或者版本不一致,或者提到的文件根本不存在,无一能适用于笔者遇到的问题。

        最后总算总结出了原因:不是路径问题,就是依赖问题或者版本了(php自带的dll基本不会是版本问题)。

        最终试探出解决方案,在httpd.conf中添加几行:

LoadFile "c:/php74/libcrypto-1_1-x64.dll"
LoadFile "c:/php74/libssh2.dll"
LoadFile "c:/php74/libssl-1_1-x64.dll"

         其中,libcrypto是libssl依赖的,若没有它会提示libssl-1_1-x64.dll无法加载。

         为了验证,又切换回原来的apache2.4.10发现同样的配置依然是正常的。

         基于这点,还有一种简单方式,就是直接把php所在文件夹添加到系统路径中,这样避免再用到其他扩展的时候还得添加相应的依赖。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值