Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows10、PHP5.6.17上的Php curl_Php_Apache_Curl_Windows 10_Easyphp - Fatal编程技术网

Windows10、PHP5.6.17上的Php curl

Windows10、PHP5.6.17上的Php curl,php,apache,curl,windows-10,easyphp,Php,Apache,Curl,Windows 10,Easyphp,有许多类似的主题,但没有解决我在windows10上的问题的方法(在一台新计算机上,计算机是完全干净的) 我在windows 10上安装了带有php 5.6.17的EasyHP,做得很好! =>curl_init()不起作用 现在我想安装curl。 首先,在php.ini中,我取消注释行“extension=php_curl.dll”(这是一个好的php.ini,我在phpinfo()中看到了路径),然后重新启动Apache。 =>curl_init()不起作用 我在Windows/system

有许多类似的主题,但没有解决我在windows10上的问题的方法(在一台新计算机上,计算机是完全干净的)

我在windows 10上安装了带有php 5.6.17的EasyHP,做得很好! =>curl_init()不起作用

现在我想安装curl。 首先,在php.ini中,我取消注释行“extension=php_curl.dll”(这是一个好的php.ini,我在phpinfo()中看到了路径),然后重新启动Apache。 =>curl_init()不起作用

我在Windows/system32中添加了libeay32.dll、libssh32.dll和ssleay32.dll。 =>curl_init()不起作用

在这一步中,我将在windows 7上完成卷曲工作

我在Apache/bin中添加了libeay32.dll、libssh32.dll和ssleay32.dll。 =>curl_init()不起作用

我在Windows/system32中添加了php_curl.dll。 =>curl_init()不起作用

我尝试php_curl.dll 32和64。 =>curl_init()不起作用

我安装了OpenSSL软件(curl需要ssl)。 =>curl_init()不起作用

除了“致命错误:调用未定义的函数curl_init()”之外,我没有任何错误消息。phpinfo()从不显示curl模块

我的解决方案快用完了,知道吗?

我发现了一个问题(在这个问题上花了整整一天的时间)。 如果遇到相同的问题,请尝试以下操作:

  • 打开命令提示符并转到php根目录
  • exec:deplister.exe ext\php\u curl.dll
  • 检查依赖项
对我来说,libssh32.dll文件丢失了,但它在Windows/system32和apache/bin中。为了解决这个问题,我在路径窗口中添加了php目录,并将文件libssh32.dll复制到php目录中


我在这个开发设置中遇到了完全相同的问题:

  • 视窗10
  • PHP 5.6.27
  • Apache2.2(是的,我知道v2.4较新)
在PHP-CLI中,它可以工作(加载了PHP curl ext),但在通过Apache运行时不能工作(未加载PHP curl ext)

在花了相当长的时间阅读并尝试了不同的解决方案之后,Jeremy在“deplister”命令方面对我帮助最大

结果(对我来说)相同的dll文件(如libeay32.dll和ssleay32.dll)出现在不同的文件夹中(如php/、apache/bin和windows/system32)。然而,即使命名相同,也有不同版本的这些,以其不同的日期和大小表示

让php curl神奇地为我工作的是用我在php/(php根文件夹)中找到的新版本替换apache/bin中的libeay32.dll和ssleay32.dll,并重新启动apache服务

所有这些文件夹都存在于系统路径中,但Apache显然会首先查看自己的bin文件夹。因此,我发现最好将较新的dll复制到Apache bin文件夹,而不是依赖于系统路径


希望它能帮助其他人。

除了kapy47回答:在我的例子中,我检查了apache/bin和php目录中的libssh2.dll,它们是不同的版本。我用apache/bin中的较新版本进行了替换,问题得到了解决

系统配置: 操作系统:赢1064位 服务器:Wamp Php版本:5.6.40

将libssh2.dll文件从Wamp中的php版本文件夹复制到apache/bin中
然后重新启动apache,万岁现在curl_init将完美运行

如果我在SO(或任何其他网站)上读到更多关于将PHP文件夹添加到路径的建议,我会尖叫!这不管用!!!至少在PHP7.1.0和Windows10中没有。我也试过了OP说的每一句话,但还是一无所获!!WTF给了PHP开发者?!?!我需要降级才能让它工作吗?!C:\php>deplister.exe ext\php_curl.dll php5ts.dll,OK LIBEAY32.dll,OK WS2_32.dll,OK libssh2.dll,OK SSLEAY32.dll,OK WLDAP32.dll,OK normalize.dll,OK KERNEL32.dll,OK MSVCR110.dll,这是我得到的结果,curl仍然不工作。