如何让CURL在Windows上使用PHP?(万帕)
更新:问题似乎是我的PHP安装中某个地方的DLL损坏,或者可能是Win2k上PHP5.2.9中的错误。我从PHP.net下载了PHP5.2.10的windows(仅二进制)发行版,并将其解压缩到我的c:\PHP目录中。做了那件事之后,一切都很顺利 Update2:我取消了我之前尝试的所有内容(以下项目符号列表中的所有内容),除了我在php.ini文件中未注释“如何让CURL在Windows上使用PHP?(万帕),php,curl,wamp,Php,Curl,Wamp,更新:问题似乎是我的PHP安装中某个地方的DLL损坏,或者可能是Win2k上PHP5.2.9中的错误。我从PHP.net下载了PHP5.2.10的windows(仅二进制)发行版,并将其解压缩到我的c:\PHP目录中。做了那件事之后,一切都很顺利 Update2:我取消了我之前尝试的所有内容(以下项目符号列表中的所有内容),除了我在php.ini文件中未注释“extension=php_curl.dll”。事实证明,在正确的安装中,这就是您需要做的全部工作 我正试图让CURL在Windows上
extension=php_curl.dll
”。事实证明,在正确的安装中,这就是您需要做的全部工作
我正试图让CURL在Windows上安装PHP(版本5.2.9-2),我已经束手无策了。我已经找到了,哪些参考资料,以及。我已经尝试了所有这些页面中的大多数建议,但仍然出现了一个错误。这是我非常简单的测试页面:
<?php
$ch = curl_init();
?>
<b>Success!</b>
成功!
这给了我:
致命错误:调用C:\ApacheRoot\curltest.php中未定义的函数curl\u init()在线2
每次服务器启动时,我都会在Apache错误日志中看到:
PHP警告:PHP启动:无法加载动态库“C:\\PHP\\ext\\PHP\u curl.dll”-找不到指定的过程。\r\n在第0行的Unknown中
我已经做了以下工作:
- 在php.ini中取消注释以下行:
extension=php\u curl.dll
- 将
和ssleay32.dll
从C:\PHP复制到C:\WINNT\System32libeay32.dll
- 从下载了Win32的cURL,并将.zip文件解压缩到C:\cURL
- 将
添加到我的系统路径环境变量中C:\cURL
- 核实:
- php.ini包括
extension\u dir=“C:\php\ext”
- 目录
包含C:\PHP\ext
PHP\u curl.dll
- 我的系统上唯一的
文件位于php.ini
(尤其是没有C:\php
)C:\WINNT\php.ini
- Apache
文件包含一行httpd.conf
PHPIniDir“C:/PHP/”
- php.ini包括
我还重新启动了计算机(事实上,已经多次启动了…。您不必重新启动计算机,只需重新启动apache,php模块就会读取新的ini。
您是否更改了正确的php.ini?如有疑问
<?php echo 'php.ini: ', get_cfg_var('cfg_file_path'); ?>
我可以告诉你
apache的error.log中是否有什么东西表明在加载php和php_curl.dll时出错了
您是否将apache作为win32服务启动?如果您确实尝试将其作为控制台应用程序启动。然后,控制台上将显示错误消息。或者将其作为服务启动,并查看error.log文件和windows事件日志(启动、运行,eventvwr.msc/s
)
编辑:“找不到指定的过程”
您需要一个与php版本和构建兼容的dll。您到底安装了什么以及从哪里获得的?试试这个:
*编辑:做同样的事情@C:\Path\To\WAMP\bin\php\PHPVersion\这对我来说很有效 Soren从另一个SO线程中回答- “某个地方似乎有个bug。如果您在Win 7 64位上遇到此问题,请尝试安装apache插件版本2.2.9和php插件版本5.3.1,并切换到WAMP中的版本,然后激活CURL扩展。这对我很有效。”这为我修复了它: 到这里: 下载'php_curl-5.3.13-VC9-x64.zip' 停止WAMP服务器运行 提取文件“php_curl.dll” 在本地计算机上,浏览到(或找到WAMP安装的位置)c:\WAMP\bin\php\php5.3.13\ext 将php_curl.dll重命名为php_curl.dll.old(或您选择的任何名称),然后将新文件复制到上述目录中 重新启动WAMP服务器
现在一切都正常了。如果在从php.ini文件(人们已经在谈论并且位于apache文件夹和php文件夹中)中取消对模块的注释之后,甚至在检查是否在**处获得了php_curl.dll之后,问题仍然存在 C:\WAMP\bin\php\php5.3.13\ext 您应该尝试将WAMPSERVER附带的原始DLL替换为本网站提供的DLL: 我的问题就在那里!
希望能有所帮助。我在php-5.5.26-Win32-VC11-x64(在Windows上)上也遇到了同样的问题,我尝试了这里列出的所有方法,但没有成功。最后,我添加了。在Windows Server Core 2012上使用PHP5.6.9时,x64 cURL不起作用,尽管在我的PHP.ini中取消了PHP_cURL.dll扩展的注释,并重新启动了Apache 2.4服务,但没有在phpinfo中显示。将php路径和php\ext路径添加到我的$evn:path中。没有快乐 修复:我不需要下载任何其他php_curl.dll文件,也找不到PHP5.6的文件。最后的工作是将这三个文件复制到Apache24\bin文件夹中,然后重新启动Apache: libeay32.dll libssh2.dll ssleay32.dll
不需要将这些复制到System或System32。您的phpinfo()为扩展和环境变量/路径输出了什么?请验证(除上述内容外)PHP是否实际加载了cURL扩展。通过查看
的输出来执行此操作。应该有一个名为curl的块。如果没有,那么它确实因为某种原因没有被加载。@Nate:phpinfo()+1中没有curl部分可以很好地记录您尝试的内容,并且更新最终解决方案。我遇到了类似的错误,如PHP警告:PHP启动:无法加载动态库'D:\\PHP