以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