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

PHP8.3(Windows11+Apache2.4.53)无法加载php_curl求助

Apache 2.4.53 + PHP8.3 无法加载curl扩展的解决方法

问题详情

在Apache 2.4.53(win64-VS16)环境下运行PHP8.3(Win32-vs16-x64)时,无法加载php_curl扩展,Apache启动时错误日志如下:

PHP Warning:  PHP Startup: Unable to load dynamic library 'curl'
(tried: C:\php\php-8.3.8-Win32-vs16-x64\ext\curl (The specified module could not
be found),
C:\php\php-8.3.8-Win32-vs16-x64\ext\php_curl.dll (The specified procedure could not
be found))
in Unknown on line 0

php.ini相关配置:

extension_dir = "C:\php\php-8.3.8-Win32-vs16-x64\ext"
extension=curl

[curl]
curl.cainfo = "C:/php/php-8.3.8-Win32-vs16-x64/cacert.pem"

已确认C:\php\php-8.3.8-Win32-vs16-x64\ext\php_curl.dll存在,PHP文件夹已加入系统环境变量,目录下有libcrypto-3-x64.dll和libssl-3-x64.dll,此前PHP7.3版本下curl扩展可正常使用。

解决方法

  • 匹配VC++运行库版本
    PHP8.3(vs16编译)需使用Visual C++ Redistributable for Visual Studio 2019及以上版本。卸载旧版VC++运行库后,安装对应x64版本,重启系统后重试。

  • 复制curl核心依赖到Apache目录
    将PHP根目录下的libcurl-x64.dll复制到Apache的bin文件夹(如C:\Apache24\bin),Apache启动时可能无法直接读取PHP目录下的该依赖文件。

  • 确认Apache加载的php.ini路径
    创建PHP文件写入<?php phpinfo(); ?>,访问后查看Loaded Configuration File项,确认是否为你修改的配置文件。若路径不符,在Apache的httpd.conf中添加指定:

    PHPIniDir "C:\php\php-8.3.8-Win32-vs16-x64"
    
  • 替换对应版本的curl扩展文件
    从PHP官方下载同版本(Win32-vs16-x64)的压缩包,解压后单独提取ext/php_curl.dll和根目录下的libcurl-x64.dll,替换现有文件,避免原文件损坏或版本不匹配。

  • 调整环境变量优先级
    打开系统环境变量,将PHP根目录移至Path变量的最顶端,确保Apache优先加载当前PHP版本的依赖文件,避免旧版本PHP/curl的dll干扰。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 18:29:59