繁体   English   中英

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

[英]How to get curl working on win 10 , wamp php 7.2?

我尝试了我能找到的所有内容,如此处的说明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

厚脸皮的extension_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

对我有用的解决方案

安装 Apache 2.4.29,

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

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

  1. 我从 PECL 下载了 php 7.2 for windows 并取消注释并将;extension=curl更改为extension=php_curl.dll
  2. 将 php 文件夹中的 libssh2.dll 复制到 Apache24/bin 文件夹中。

它奏效了!!!

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

我想将 cURL 与 php 7.2 和 apache 2.4.39 一起使用,因此以下是在 Windows 10 上适用于 WAMPSERVER 64 位 (X64) 3.17 的步骤:

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

视窗

在 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

就我而言,我使用的是 apache 2.4.21,而 curl 不适用于 php 7.2 或 7.3。

通过将 apache 更新到 2.4.41 它现在可以工作了。

所以更新 apache 是一个很好的解决方案,如果其他人不起作用。

解决了

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

现在它的工作。

对我有用的解决方案:

Apache httpd 版本:Apache/2.4.43 (Win64)

出于某种原因,2.4.33 没有加载 php 7.2 curl

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

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

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

转到 wamp 并选择新安装的 apache 版本。

它对我有用

I am using Apache 2.4.20 and php 7.2.23 under windows 10 x64 and have some trouble with how to activate curl. 我尝试了任何教程,并为这种情况找到了一些解决方案。 也许,我的解决方案适用于大家关于如何激活 curl 库。 我在 Apache 上更改了 httpd.conf,并在我的 windows 上为 php 7.2.23 的加载文件添加了手动语法。 我的 windows 中的 httpd.conf 上的此语法:

加载文件“C:/WebServer/php-7.2.23/libssh2.dll”

加载文件“C:/WebServer/php-7.2.23/libcrypto-1_1-x64.dll”

加载文件“C:/WebServer/php-7.2.23/libssl-1_1-x64.dll”

加载文件“C:/WebServer/php-7.2.23/ext/php_curl.dll”

然后重启apache web服务器。 最后,我通过浏览器解决检查。 “CURL 已安装在此服务器上”,使用 php 脚本检查 curl 库是否处于活动状态。

祝你好运。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM