簡體   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