Facebook PHP SDK CurlException: 35 (Solve) 問題解決


今天在本機開發好的網站,放上客戶的伺服器的時候,Facebook的登入居然失敗,怎樣debug都是一樣的問題:

Fatal error: Uncaught CurlException: 35: Unknown SSL protocol error in connection to graph.facebook.com:443 thrown in ....省略.../src/base_facebook.php on line 974

原本以為是974行 catch curl 問題,搞三個多小時,原來只要加一段設定在,base_facebook.php就正常了。

解決方法:

打開 base_facebook.php
找到

/**
 * Default options for curl.
 */
  public static $CURL_OPTS = array(
    CURLOPT_CONNECTTIMEOUT => 10,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_TIMEOUT        => 60,
    CURLOPT_USERAGENT      => 'facebook-php-3.2',
  );
在array陣列中,加入 CURLOPT_SSLVERSION => 3, 設定curl的版本,就解決了!天啊這樣簡單!

加入後如下

/**
   * Default options for curl.
   */
 public static $CURL_OPTS = array(
    CURLOPT_SSLVERSION   => 3,
    CURLOPT_CONNECTTIMEOUT => 10,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_TIMEOUT        => 60,
    CURLOPT_USERAGENT      => 'facebook-php-3.2',
  );

存檔後,Facebook php SDK就正常了^^(灑花~~

客戶環境:
CentOS 6.3
XAMPP 1.8.1

備註:客戶的網段防火牆設定上也有問題,所以導致無法順利訪問 graph.facebook.com:443 ,問題還在檢查當中。
查到問題了,因為客戶的防火牆,將ICMP關閉了,打開後就都正常嘍。而且不需要改base_facebook.php唷

解決 iPhone 5 在家裡的 wifi 連線速度慢的問題。


經過了測試之後,原來是我 asus rt-n16所刷的韌體問題!
http://tomato.groov.pl 下載的最新版 104, tomato-K26USB-1.28.RT-MIPSR2-104-AIO 會有斷線不穩定的情況發生雖然這韌體在 WPA+AES+Auto 設定下,其無線網路對iphone 5來說很快,但是分享器很不穩定會當機斷線,而且會拖下 WPA2+AES的速度

因此今天重新去 twtomato 找了中文化的韌體。
改刷 tomato-K26USB-1.28.RT-MIPSR2-101-AIO-cht.trx中文版
發現此韌體的無線網路設定為「WPA2+AES+N ONLY」才是最快的!

測試的線路是光世代50m/10m,最高可達45M/11M。



新的網誌開張了

好久沒有寫網址了,因為成立了公司後,工作一直忙碌著。

未來會持續將工作上所學到的技術分享在這個網站。
也會慢慢將 mkbfb.blogger.tw 的舊文章般移過來。

希望各位可以互相交流唷。

先來張工作室的環景照吧,真的是有夠忙的。