2012-09-28 51 views
1

我已經在我的本地主機上測試了我的登錄腳本,沒有任何問題。Facebook的SDK打破Codeigniter?空白頁

現在我已經上傳它作爲網上可this link

很明顯可以看出,如果你點擊,你可以看到一個空白頁顯示,我不知道爲什麼。

我做了一點內容測試,並刪除了Facebook SDK代碼。

 //Facebook config (required for library) 
    $fb_config = array(
      'appId' => 'REMOVED', 
      'secret' => 'REMOVED' 
      ); 

    //Load Facebook library 
    $this->load->library('facebook', $fb_config); 

    //SET FACEBOOK USER 
    $fbuser = array(); 
    $fbuser = $this->facebook->getUser(); 

當上面的代碼不存在時,頁面加載。

我已經正確更新了我的應用設置,即將網址從http://localhost改爲http://gua.com,所以我不認爲是這樣。

我甚至改變了我的CI設置以顯示所有錯誤 - 沒有任何顯示。

有沒有人有任何建議,爲什麼上面的代碼可能只是在網上託管時纔會加載空白頁?

非常感謝 托馬斯

+0

您是否得到了正常工作? – Jeemusu

回答

0

打開base_facebook.php並嘗試從頂部刪除這兩行中的任意一行。

if (!function_exists('curl_init')) { 
     throw new Exception('Facebook needs the CURL PHP extension.'); 
    } 
    if (!function_exists('json_decode')) { 
     throw new Exception('Facebook needs the JSON PHP extension.'); 
    } 

如果你停止獲得白色屏幕,它應該表明你的服務器需要啓用curl或json_decode。

或者,您可以只做一個echo phpinfo()並檢查它們是否已啓用。請注意,json_decode/encode僅適用於php> = 5.2

0

如果你的本地主機是Windows中,你的遠程主機是* NIX系統,有一些多餘的空白被引入到您的SDK文件中的<?php ?>標籤之外的機會。當輸出這個空格並設置標題時,這有時會導致「白屏死機」。

嘗試從Github下載SDK的全新副本,並且不要將其解壓縮到它位於遠程服務器上。更好的是,如果你ssh訪問wget它或git clone它直接在那裏。看看是否有幫助。

如果不是,請將error_reporting(E_ALL)作爲腳本的第一行添加,看看是否會告訴你任何內容。

+0

我的本地主機在Linux Mint上運行,而我的服務器在Ubuntu上。 無論如何,我會嘗試並報告回來。 –

0

您將需要運行chmod例如:「sudo chmod -R 777 facebook /」。我認爲這些文件是在Windows中編寫的,因此在一個* Nix系統上它不會運行,直到被檢查。

在我這樣做後,我開始有我可以合作的錯誤。

+2

777似乎_very_寬容。當然,有一個更微妙的價值傳遞給chmod? –