Запуск Apache с PHP как FastCGI.
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, заключается в том, что мне нужен доступ к данным о клиенте для определенного сеанса, таким как имя пользователя и другие важные данные.В противном случае 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
Это просто показывает, что update.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