[英]SSL connection with CURL (PHP) working on Linux, same code fails on Windows
我使用Nusoap編寫了一個使用我們的銀行WSDL服務的腳本。 請求與證書簽名。 這個腳本在Ubuntu,Apache 2.2,PHP 5.4上運行良好。
當試圖在Windows 7(64位,Apache 2.2,PHP 5.4)上實現相同的功能時,我得到了Curl拋出的這個錯誤:
**SSL read: error:140940E5:SSL routines:SSL3_READ_BYTES:ssl handshake failure, errno 0**
我已禁用防火牆和防病毒軟件。 我可以提供Curl選項詳細信息,或任何其他代碼或信息。 謝謝!
解:
curl_setopt($ this-> ch,CURLOPT_SSLVERSION,3);
要使用SSL連接,您必須在php.ini中啟用php_openssl.dll
當你使用curl時,常見的問題是openssl模塊默認使用錯誤的SSL版本。 大多數情況下,您應將SSL版本設置為3。
curl_setopt($curl, CURLOPT_SSLVERSION,3);
幾天前我遇到了同樣的問題。
如果您在基於Linux的服務器上使用nfephp-org lib,則可以使用該代碼來更改ssl協議:
$nfe = new ToolsNFe(MY_CONFIG_PATH);
$nfe->setSSLProtocol('SSLv3');
當MY_CONFIG_PATH是您配置文件的路徑時。
Sevocêestátentando usar o nfephp-orgeestácomesse erro em servidores linux,mude o protocolo ssl,comonocódigoacima。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.