2016年2月19日 星期五

PHP 5.6 安裝Rourdcube,使用SSL出現錯誤的解決方式

PHP 5.6 預設會去驗證 peer 及 peer name 造成若你的webmail的imap與smtp主機設定為localhost時,登入和寄信時SSL 的連線會失敗。例如使用https登入roundcube時顯示"連線到IMAP伺服器失敗"!或寄信時顯示"SMTP 錯誤(220):認證失敗"!只要將peer 及 peer name的功能關掉即可正常運作!
在roundcube的解決方式是編輯roundcube設定檔config.inc.php,在IMAP的位置增加下列設定:
$config['imap_conn_options'] = array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'verify_depth' => 3,
),
);


接著在SMTP的位置增加下列設定:
$config['smtp_conn_options'] = array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'verify_depth' => 3,
),
);

存檔即可!