以PHP作爲FastCGI運行Apache。PHP - session_id()爲我提供了HTTP/1.1 500內部服務器錯誤
serverinfo.php:
if (isset($_GET['session'])) {
session_id($_GET['session']);
session_start();
die('You got here');
}
我甚至不會去在session_start(),因爲SESSION_ID()將掛起 「線程」。 這是場景:
頁面[serverinfo.php]顯示服務器信息,在那裏你可以更新信息。 當更新的信息,一個AJAX調用到[update.php],當一切都更新[update.php]應該返回[serverinfo.php]只是爲了顯示相同的數據「造
update.php:刷新」‘頁上的’新的數據,這是通過
if($update) {
$serverinfo = file_get_contents('http://127.0.0.1/serverinfo.php?session=' . session_id() . '&name=' . $_GET['name']);
print $serverinfo;
}
爲什麼我要重新使用內部$ _SESSION的原因是因爲我需要訪問有關特定會話的客戶端數據,例如用戶名和密碼d其他重要數據。 否則serverinfo.php會給我:「登錄!」它應該這樣做:)
我可以這樣做: include_once('serverinfo.php'); 有的通過$ _GET數據如何,但我不肯定是否將工作或全部是高效:)
ACCESSLOG Apache的:
127.0.0.1 - - [15/Feb/2012:11:03:15 +0100] "GET update.php?source=serverinfo&name=test HTTP/1.1" 500 544
127.0.0.1 - - [15/Feb/2012:11:03:15 +0100] "GET serverinfo.php?session=<session_id>&name=test HTTP/1.0" 500 544
這只是表明該更新。 PHP實際上完成它的更新,並嘗試調用serverinfo.php,但它會因內部服務器錯誤而失敗。
Apache的錯誤日誌:
[Wed Feb 15 11:03:55 2012] [warn] [client 127.0.0.1] mod_fcgid: read timeout from pipe
[Wed Feb 15 11:03:55 2012] [error] [client 127.0.0.1] Premature end of script headers: serverinfo.php
而這裏的全球錯誤日誌:
[Wed Feb 15 11:04:04 2012] [warn] mod_fcgid: process 5584 graceful kill fail, sending SIGKILL
'update.py'看起來極像是PHP來我,而不是Python ... – DaveRandom 2012-02-15 10:37:40
哈哈,該死的..我是一個Python開發者,大部分時間,我只是默認爲.py結束我的文件擴展ns :)糾正(謝謝) – Torxed 2012-02-15 10:56:28
那麼你從哪裏得到500錯誤,從'serverinfo.php'或'update.php'?同時檢查Apache錯誤日誌 - 從HTTP 500,PHP或其他應用程序中,應該會記錄一條消息,告訴您爲什麼會出錯。 – DaveRandom 2012-02-15 11:08:43