如何让CURL在Windows上使用PHP?(WAMP)

Kip*_*Kip 29 php curl wamp

更新:问题似乎是我的PHP安装中的某个地方已损坏的DLL,或者可能是Win2k上的PHP 5.2.9中的错误.我从php.net下载了PHP 5.2.10的windows(仅限二进制文件)发行版,并将其解压缩到我的c:\ PHP目录中.在这之后,一切都很好.

Update2:我解除了我之前尝试过的所有内容(下面的项目符号列表中的所有内容),除了extension=php_curl.dll在php.ini文件中没有注释.事实证明,在正确的安装中你应该做的就是这一切.


我正在尝试让CURL在PHP的Windows安装(版本5.2.9-2)上工作,而我现在已经结束了.我找到了PHP CURL安装页面,这个SO问题引用了这个页面,这个问题.我已经在所有这些页面中尝试了大部分建议,但我仍然遇到错误.这是我非常简单的测试页面:

<?php
$ch = curl_init();
?>
<b>Success!</b>
Run Code Online (Sandbox Code Playgroud)

这给了我:

致命错误:在第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.dlllibeay32.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/"

我也重新启动了机器(好几次,实际上......).

Vol*_*erK 9

您不必重新启动计算机,只需重新启动Apache,php模块将读取新的ini.
你有没有改变正确的php.ini?如有疑问

<?php echo 'php.ini: ', get_cfg_var('cfg_file_path'); ?>
Run Code Online (Sandbox Code Playgroud)

可以告诉你.

apache的error.log中是否有东西表明在加载php和php_curl.dll时出现了问题?

你是否以win32服务启动了apache?如果您尝试将其作为控制台应用程序启动.然后,错误消息将显示在控制台上.或者将其作为服务启动并查看error.log文件 Windows事件日志(启动,运行eventvwr.msc /s).

编辑:
"无法找到指定的过程"
您需要一个与您的PHP版本兼容的DLL.究竟你安装了什么,你从哪里得到它?

  • 基普,请你发布最终找到的解决方案吗?今后看到这个问题的其他人可能不明白你做了什么来解决它. (3认同)

Mr.*_*ith 7

试试这个:

  1. 完全停止WAMP.
  2. 找到您的WAMP文件夹:C:\ Path\To\WAMP\bin\Apache\ApacheVersion\bin \
  3. 编辑php.ini并取消注释extension = php_curl.dll
  4. 重启WAMP.

这应该有希望解决它.

*编辑:做同样的事情@ C:\ Path\To\WAMP\bin\php\PHPVersion \