無法安裝 Disqus WP Plugin 的解法

by Luis Llerena @ Unsplash

最近新裝了一個 WordPress 的站,也想用 Disqus 來取代 WP 內建的 comment 系統,就之前的經驗,應該是從官網下載 plugin 後、Activate,然後依照指示就可以完成設定,但這次卻一直出現 Unable to connect to the Disqus API servers 的錯誤訊息。

Error message of Unable to connect to the Disqus API servers

Google 了一下,有人反應是 2.85 版才出現的問題,只要先裝 2.83 版後,再 upgrade 到最新的版本即可,不過我一時也不知去哪找 2.83 版,便作罷了。

有人指出是因為 curl 沒辦法獲取正確的 certificate 造成的問題,所以要手動下載 pem 檔,然後在 Disqus plugin 中指定使用:

  1. 下載 cacert.pem 檔,放到 plugin 的 lib/api/disqus 目錄下
  2. 修改 lib/api/disqus/url.php 檔,在 $c_options array 變數中加入
CURLOPT_SSL_VERIFYPEER  => true,
CURLOPT_CAINFO => __DIR__ . '/cacert.pem',

如此便可解決 Unable to connect to the Disqus API servers 的錯誤。

後來查了一下,應該是幾年前為了處理 CloudFlare WP plugin 的問題,曾經改過 curl.cainfo 設定的緣故。而 Synology DSM 更新後,這些憑證檔的路徑也變了,而且現在新版的系統也不需要手動指定 curl.cainfo,所以這個設定反而造成問題,拿掉就 ok 了。(DSM6 的設定檔在 /usr/local/etc/php56/conf.d/user-settings.ini)

%d bloggers like this: