Magento 無法更新與安裝 extension,這個問題會發生的情形,主要原因是,

Magento 在版本 1.9.2.0 之後,預設要求 HTTPS 連線。

這個問題多半會發生在開發環境上,本機(localhost)或是測試主機,因為通常這些環境下不會設定SSL。

所以如果在未設定SSL的環境下,想要更新或安裝extension時,就會遇到此訊息。

Unknown cipher in list: TLSv1



Magento 无法更新与安装 extension – SSL(https) Magento 1.9.2 Unknown cipher in list: TLSv1

所以我們現在就是要來修改設定檔了,在一般開發的環境下關閉SSL,或是沒有設定SSL的伺服器也關閉這個設定(只是不建議這麼做,不論如何增設SSL增加安全性都是好的)。

在Magento資料夾裡,依此路徑找到這個檔案:downloader/lib/Mage/HTTP/Client/Curl.php

在約第377行:

...
$this->curlOption(CURLOPT_SSL_CIPHER_LIST, 'TLSv1');
...

 

註解掉:

...
// $this->curlOption(CURLOPT_SSL_CIPHER_LIST, 'TLSv1');
...

 

然後再回到 Magento connect,安裝 extension 就可以進行了。

還是額外提醒一下,假如您的正式網站沒有SSL,你可以在安裝extension時,先關閉(註解)這個設定,安裝後再恢復,來維持您的 Magento 網站安全性


 

其他:


1. 方法一

 

try chagne

$this->curlOption(CURLOPT_SSL_CIPHER_LIST, 'TLSv1');

 

to

$this->curlOption(CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1);

 

 


 

 

2. 方法二

 


In file downloader/lib/Mage/HTTP/Client/Curl.php

 

I changed the code

$this->curlOption(CURLOPT_SSL_CIPHER_LIST, 'TLSv1');

 

to

if(isset($var)){$this->curlOption(CURLOPT_SSL_CIPHER_LIST, 'TLSv1');}

 

and problem will be solved for now.