You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在Windows 10 x64的Apache 2.4与PHP 8.4.6环境下启用PHP的cURL扩展

如何在Windows 10 x64的Apache 2.4与PHP 8.4.6环境下启用PHP的cURL扩展

嘿,我来帮你搞定这个PHP cURL扩展加载失败的问题!先确认下你的环境情况:

  • Windows 10 x64
  • Apache 2.4 安装路径:C:\Apache24\
  • PHP 8.4.6 安装路径:C:\php\

你提到只对php.inihttpd.conf做了少量修改,尝试取消注释extension=curl来启用扩展,但加载失败,Apache日志没报错,PHP错误日志里出现了类似这样的警告:

[28-Apr-2025 14:09:51 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'curl' (tried: C:\php\ext\php_curl.dll (找不到指定的模块。), C:\php\ext\php_curl.dll (找不到指定的模块。))

结合Windows环境下Apache+PHP的常见坑,给你一步步排查解决的方法:

1. 确认扩展文件存在且版本匹配

先去你的PHP扩展目录C:\php\ext\里,检查有没有php_curl.dll这个文件。如果没有,说明你下载的PHP包可能不全,或者选错了版本——一定要下载线程安全(TS)版本的PHP,因为Apache下运行的PHP必须是线程安全的,别选成非线程安全(NTS)的。把对应版本的php_curl.dll拷贝到ext目录即可。

2. 修正extension_dir配置

打开php.ini,找到extension_dir这一行,确保它准确指向你的扩展目录,配置应该是:

extension_dir = "C:\php\ext"

注意路径要用双引号括起来,别写错路径,这是很多新手容易踩的坑。

3. 补全依赖库并配置环境变量

PHP的cURL扩展依赖几个系统库,比如libcurl.dlllibcrypto-*.dlllibssl-*.dll这些文件,它们应该都在C:\php\目录下。你需要把C:\php\添加到系统的PATH环境变量里:

  • 右键「此电脑」→ 属性 → 高级系统设置 → 环境变量
  • 在系统变量里找到PATH,点击编辑,新增C:\php\这个路径
  • 重启Apache和所有打开的命令行窗口,让环境变量生效

4. 检查Apache的PHP模块配置

打开Apache的httpd.conf,确保你正确加载了PHP模块,配置大概是这样:

LoadModule php_module "C:\php\php8apache2_4.dll"
AddHandler application/x-httpd-php .php
PHPIniDir "C:\php"

这里要注意php8apache2_4.dll是PHP 8.x适配Apache 2.4的专属模块文件,必须存在于C:\php\目录下;同时PHPIniDir要指向你的PHP根目录,保证Apache能读取到正确的php.ini配置。

5. 验证扩展是否生效

做完上面所有步骤后,重启Apache服务器。然后在Apache的根目录(比如C:\Apache24\htdocs\)创建一个phpinfo.php文件,内容如下:

<?php phpinfo(); ?>

打开浏览器访问http://localhost/phpinfo.php,页面里搜索「curl」,如果能看到cURL的详细配置信息,就说明扩展已经成功启用啦!

如果还是不行,再去查看PHP的错误日志,根据具体的错误提示进一步排查,比如是不是依赖库版本不匹配,或者权限问题。

备注:内容来源于stack exchange,提问作者AL-Kateb

火山引擎 最新活动