嗯,我發現了很多與ISE 500線程,但沒有解決方案爲我工作。Interal Server Error 500 - session_start()
我爲我們的客戶開發了一個Facebook應用程序,用於呈現一些音頻記錄,當然,還想通過app_data參數嚮應用程序傳遞一些參數。所以我整合了facebook sdk 3.1.1。做了一切正確連接到Facebook。
在我的本地xampp萬物工作正常,我們公司的網絡服務器也運行應用程序沒有任何問題,我的私人網絡空間也是如此。但是,當我將應用程序上傳到客戶端服務器時,出現500:內部服務器錯誤。爲了排除我身邊的任何奇怪的腳本錯誤,我嘗試執行sdk附帶的example.php。同樣的錯誤。即使我只是試圖實例Facebook類是這樣的:
<?php
require '../src/facebook.php';
$facebook = new Facebook(array(
'appId' => '???',
'secret' => '??????',
));
?>
我已經看了看服務器錯誤日誌。它提到的唯一的事情是這樣的:
「腳本頭過早結束:使用example.php」
我還使用了廣泛的建議error_reporting(E_ALL);
,以避免對服務器端錯誤ErrorHandling中。沒有。服務器不會告訴我什麼是錯的。
我發現相當多的原因,爲什麼其他人得到這個錯誤,最突出的:
- 缺少
?>
標籤在facebook.php/base_facebook.php - 的
Facebook
的多個實例 - 和FacebookApiException
...沒有提供的解決方案爲我工作。
所以我試圖比較兩者,客戶端和我們公司的服務器的phpinfos。當然有一些分歧,但對我來說並不明顯。我在論壇上尋找人們已經與ISE 500相關的基本知識,例如cURL擴展,php版本(5.3.9)。我不是服務器管理員,我只具備服務器配置的基本知識。所以要確保有一些缺失,我試圖找到facebook sdk的服務器要求...
...但整個網絡不會告訴我的服務器要求Facebook的sdk。即使facebook文檔也沒有提及任何內容。所以我希望這裏可能會有人能幫助我。
是的...我已經問過服務器管理員的幫助,他只是看着我在他眼中的兩個問號...是的...我必須使用客戶端服務器:(嘆息
感謝您的期待...
UPDATE:
我會列出我響應你的建議嘗試過的事情:
服務器:
- 安裝cURL擴展(7.20.1)
- PHP版本5.3.9。
- 試圖包含其他文件,工作正常。似乎不是路徑問題
- 服務器錯誤日誌只顯示「腳本標題提前結束:example.php」
- 啓用了log_errors。 error_log中說,「沒有價值」
- 試圖ini_set("display_errors", true);
的bug跟蹤......沒有影響
更新2
所以我能夠通過檢查Facebook的文件一行之後,找出問題行。內部服務器錯誤500正在試圖啓動一個會話後,在一開始就拋出:
if(!session_id())
{
session_start();
}
我轉發此信息給服務器管理員和客戶端...我想現在它從我手中,我將在我得到答案時更新這篇文章。感謝您的反饋傢伙:)
SOLUTION
好的服務器管理員現在發現的問題。該session.save_handler設置爲「用戶」,他把它改爲「檔案」,現在一切正常:
session.save_handler = files
再次感謝您的幫助!
也許這是愚蠢的問,但還是要。 )你是否嘗試在客戶的服務器上運行最簡單的php腳本,比如臭名昭着的<?php phpinfo(); ?>'一個?順便說一下,檢查PHP版本和加載的模塊會非常有趣。 – raina77ow 2012-02-24 20:35:18
好吧,我認爲沒有愚蠢的問題:D但是當然,就像我寫的,這是我第一次嘗試,PHP版本是適合的(5.3.9) – Acure 2012-02-24 22:44:48
如果有人可以告訴我們什麼,我將不勝感激facebook sdk需要正常運行(例如,cURL的擴展名) – Acure 2012-02-24 22:46:25