You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

64位Windows Server 2016下Apache无法加载php_curl.dll求助

解决PHP curl扩展加载失败的排查方案

我来帮你梳理几个针对性的排查方向,应该能解决这个curl扩展加载失败的问题:

  • 核对php.ini的扩展配置细节
    先确认php.ini里的扩展配置是否准确:要写extension=curl(PHP 7+支持省略php_前缀和.dll后缀),同时检查extension_dir是不是绝对路径,比如extension_dir = "C:/Users/tester/Desktop/Web Server/php-7.2.5-Win32-VC15-x64/ext",记得用正斜杠或者双反斜杠,避免路径解析出错。

  • 安装匹配的VC15运行库
    你用的是VC15编译的64位PHP和Apache,必须确保系统安装了Visual C++ Redistributable for Visual Studio 2017(64位)。很多时候扩展加载失败就是因为缺了底层的运行库,安装后重启服务器再试。

  • 检查curl扩展的核心依赖文件
    别忽略libcurl.dll!这个文件是php_curl.dll的核心依赖,必须放在PHP的根目录(不是ext文件夹)。你之前复制的libeay32.dll、ssleay32.dll是SSL相关,但libcurl是基础,要是它缺失或者版本不对,肯定加载失败。另外可以用Dependency Walker工具打开php_curl.dll,看看所有依赖的DLL是不是都存在且是64位版本,不能混32位文件。

  • 用PHP CLI模式排查环境问题
    打开命令提示符,切换到PHP根目录,运行php -m看看curl扩展能不能正常显示。如果CLI模式下没问题,那问题大概率在Apache这边:

    • 检查Apache服务的权限:右键Apache服务→属性→登录,改成本地系统账户(或有足够权限的账户),重启服务试试,可能是权限不够读不到PHP目录的文件。
    • 在Apache的httpd.conf里手动添加PHP路径到环境变量:SetEnv PATH "C:/Users/tester/Desktop/Web Server/php-7.2.5-Win32-VC15-x64;${PATH}",这样Apache启动时就能正确找到PHP的依赖DLL了。
  • 重新下载完整的PHP包
    有时候压缩包解压时会损坏文件,导致扩展出问题。重新下载对应版本的PHP包,解压到新目录,重新配置php.ini和Apache的PHP模块,再测试curl加载情况。

  • 清理系统PATH中的冲突项
    检查系统PATH里有没有其他版本的PHP或者旧的curl相关DLL,这些可能会让Apache加载错误的文件。在命令行运行where libcurl.dll,看看返回的路径是不是你当前PHP目录下的文件,如果不是,把冲突路径从PATH里移除,或者把PHP目录移到PATH最前面。

内容的提问来源于stack exchange,提问作者Mr J

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 07:27:15