簡體   English   中英

如何使PHP升級到更高版本的Curl?

[英]How to get PHP to upgrade to a later version of Curl?

Curl 7.64.0有一個錯誤,即它無法使用cookiejar從不包含點( . )的域名中保存cookie。

這使得無法使用具有身份驗證的本地服務器。 因為我使用自己的名稱訪問該名稱,並且名稱中沒有點。 例如:“ SERVERNAME / LOGIN”

當搜索“如何在php上升級Curl版本”時,我讀到的唯一答案是:

您需要下載另一個版本的php,並將php_curl.dll復制到PHP / EXT文件夾。

問題是PHP 7.3,PHP 7.2和PHP 7.1都在使用此CURL版本7.64。 嘗試從PHP 7.0下載php_curl.dll會使curl無法正常工作。 我到處都出現“函數卷曲不存在”錯誤-復制后我重新啟動了IIS,因此也不是一種選擇。

如何降級或升級該curl版本並保持相同的PHP版本? 我應該安裝過時且不安全的PHP 7.0嗎?

如何找到不同版本的PHP_Curl,以及如何升級它們?

編輯

cURL關聯響應

此“功能”值未設置PSL位(1 << 20),這意味着該卷曲版本遭受7.64.0中存在的cookie解析錯誤的困擾,該錯誤已在7.64.1中修復(提交299d9660f85),從而使卷曲不被接受域名上的Cookie,沒有任何點。

解決方案:升級(或降級)curl。

通過daniel.haxx.se

PHP在這里確認了該錯誤https://bugs.php.net/bug.php?id=78162

感謝您的舉報! 我可以確認這個問題。

但是,錯誤#78007阻止升級到cURL 7.64.1,錯誤#78100阻止升級到cURL 7.65.0 / 1。 由於已將CVE修復程序應用於libcurl-7.64.0-3軟件包,因此也無法進行降級。

我們當然必須注意這一點。

如果您希望PHP使用特定版本的libcurl,則最好的選擇是手動編譯libcurl和PHP。 構建libcurl和php的特定步驟特定於您使用的操作系統(Windows?Linux?Mac?* BSD?),但是由於您提到了僅在Windows上相關的php_curl.dll ,我想您正在使用Windows ? 在這種情況下,請先在這里https://github.com/curl/curl/releases找到您喜歡的libcurl版本,然后按照https://curl.haxx.se/docs/install.html所述進行編譯,然后針對該版本編譯PHP如此處所述https://wiki.php.net/internals/windows/stepbystepbuild_sdk_2以及此處此處提供的其他步驟https://www.php.net/manual/zh/curl.installation.php

(例如,您必須將參數--with-curl="C:\\path\\to\\compiled\\libcurl"到php的configure腳本中)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM