如何让curl工作在win 10上,wamp php 7.2?

时间:2017-12-22 15:58:59

标签: php curl wamp

我在这里尝试了一些我能找到的指示 How to get CURL to work with PHP on Windows? (WAMP)

将dll文件从php7.2.0文件夹复制到apache2.4.18\ bin文件夹

我的设置

win 10 64
wamp 3.1.1 
php, 5.6.28, 7.0.4, 7.2
apache 2.4.18 

curl适用于任何其他php版本但不适用于7.2

cheeked extension_dir路径,它指向右方dir

extension_dir ="T:/wamp64/bin/php/php7.2.0/ext/" 

加载了php 7.2扩展

extension=bz2
extension=curl
;extension=dba
extension=com_dotnet
;extension=enchant
extension=fileinfo
;extension=ftp
extension=gd2
extension=gettext
extension=gmp
extension=intl
extension=imap
;extension=interbase
extension=ldap
extension=mbstring
extension=exif      ; Must be after mbstring as it depends on it
extension=mysqli
;extension=odbc
extension=openssl
;extension=pdo_firebird
extension=pdo_mysql
;extension=pdo_oci
;extension=oci8_12c  ; Use with Oracle Database 12c Instant Client
;extension=pdo_odbc
;extension=pdo_pgsql
extension=pdo_sqlite
;extension=pgsql
;extension=phpdbg_webhelper
;extension=shmop

现在我在7.0.4中看到有php_前缀和dll后缀

extension=php_curl.dll

但这是在7.2信息

; When the extension library to load is not located in the default extension
; directory, You may specify an absolute path to the library file:
;
;   extension=/path/to/extension/mysqli.so
;
; Note : The syntax used in previous PHP versions ('extension=<ext>.so' and
; 'extension='php_<ext>.dll') is supported for legacy reasons and may be
; deprecated in a future PHP major version. So, when it is possible, please
; move to the new ('extension=<ext>) syntax.
;
; Notes for Windows environments :
;
; - ODBC support is built in, so no dll is needed for it.
; - Many DLL files are located in the extensions/ (PHP 4) or ext/ (PHP 5+)
; extension folders as well as the separate PECL DLL download (PHP 5+).
; Be sure to appropriately set the extension_dir directive.

其他人有同样的问题,但没有解决方案http://forum.wampserver.com/read.php?2,149346,149609#REPLY

8 个答案:

答案 0 :(得分:8)

对我有用的解决方案

安装Apache 2.4.29,

由于某种原因2.4.18没有加载php 7.2 curl

答案 1 :(得分:3)

希望这会对某人有所帮助。我花了4个小时找到解决这个问题的方法,但我找不到任何有效的方法。 所以我做的是(Windows 10 x64 + Apache 2.4.29):

  1. 我从PECL下载了用于Windows的php 7.2并取消注释 改变了 ;extension=curlextension=php_curl.dll
  2. 将libssh2.dll从php文件夹复制到Apache24 / bin文件夹。
  3. 它有效!!!

    当然,将指向旧版php文件夹的Windows PATH变量更改为新文件夹。 我读了一些评论,认为复制和粘贴文件并不是一个好主意,但这是唯一对我有用的选项。

答案 2 :(得分:1)

<强> WINDOWS

在PHP 7.2之前,curl和openssl需要根PHP文件夹中的以下文件(其中NN3264,具体取决于您的安装):

  • libeayNN.dll
  • ssleayNN.dll

7.2中缺少这些文件。现在,PHP 7.2(7.2软件包的一部分)需要以下文件:

  • libcrypto-1_1-xNN.dll
  • 的libssl-1_1-xNN.dll

答案 3 :(得分:1)

在我的情况下,我使用的是Apache 2.4.21,curl在php 7.2或7.3上不起作用。

通过将Apache更新到2.4.41,它现在正在工作。

因此,如果其他方法无效,更新apache是​​一个很好的解决方案。

答案 4 :(得分:1)

已解决

出于某些原因,我在Windows 7上使用wampserver 3.2.0。Apache 2.4.332.4.43未加载curl。 我将Apache 2.4.39安装到wampserver中并启用了php扩展中的curl。

现在可以了。

答案 5 :(得分:0)

我想将cURL与php 7.2和apache 2.4.39一起使用,所以这是对Windows 10上的WAMPSERVER 64 BITS(X64)3.17有用的步骤:

  1. 左键单击托盘中的wamp图标> php> php extensions> 选中“卷曲”选项
  2. 将文件C:\ wamp64 \ bin \ php \ php7.2.18 \ libssh2.dll复制到 C:\ wamp64 \ bin \ apache \ apache2.4.39 \ bin \ libssh2.dll
  3. 左键单击托盘中的wamp图标>重新启动所有服务

答案 6 :(得分:0)

最适合我的解决方案:

Apache httpd版本:Apache / 2.4.43(Win64)

由于某些原因2.4.33未加载php 7.2 curl

答案 7 :(得分:0)

如果您使用的是wampserver,请转到

https://sourceforge.net/projects/wampserver/files/WampServer%203/WampServer%203.0.0/Addons/Apache/

选择最新版本并下载并双击以自动安装插件

开始进行清理并选择新安装的apache版本。

对我有用