更新:问题似乎是我的 PHP 安装中某处损坏的 DLL,或者可能是 Win2k 上的 PHP 5.2.9 中的错误。我从 php.net 下载了 PHP 5.2.10 的 Windows(仅限二进制)发行版,并将其解压缩到我的 c:\PHP 目录中。这样做之后,一切正常。
更新2:我撤消了我之前尝试的所有内容(下面的项目符号列表中的所有内容),除了我在我的 php.ini 文件中留下了“ extension=php_curl.dll
”未注释。事实证明,这是您在正确安装中应该做的所有事情。
我正在尝试让 CURL 在 Windows 安装的 PHP(版本 5.2.9-2)上工作,但我束手无策。我找到了 PHP CURL 安装页面、引用这个页面的这个 SO问题和这个 SO 问题。我已经尝试了所有这些页面中的大多数建议,但仍然出现错误。这是我非常简单的测试页面:
<?php
$ch = curl_init();
?>
<b>Success!</b>
这给了我:
致命错误:在第2行的C:\ApacheRoot\curltest.php中调用未定义函数 curl_init()
在我的 Apache 错误日志中,每次服务器启动时我都会得到这个:
PHP Warning: PHP Startup: Unable to load dynamic library 'C:\\PHP\\ext\\php_curl.dll' - The specified procedure could not be found.\r\n in Unknown on line 0
我做了以下事情:
- 取消注释 php.ini 中的以下行:
extension=php_curl.dll
- 复制
ssleay32.dll
并libeay32.dll
从 C:\PHP 到 C:\WINNT\System32 - 从curl.haxx.se下载 Win32 的 cURL并将 .zip 文件解压缩到 C:\cURL
- 添加
C:\cURL
到我的系统 PATH 环境变量中。 - 验证:
- php.ini 包括
extension_dir="C:\PHP\ext"
- 该目录
C:\PHP\ext
包含php_curl.dll
- 我系统上唯一的
php.ini
文件在C:\PHP
(即特别是没有C:\WINNT\php.ini
) - Apache
httpd.conf
文件包括该行PHPIniDir "C:/PHP/"
- php.ini 包括
我还重新启动了机器(实际上是好几次......)。