[PHP-users 7148] Re: start_session() と バックグラウンド処理で質問
Akifumi Konishi
php-users@php.gr.jp
Thu, 25 Apr 2002 19:46:04 +0900
小西です。
>session_start() をコールした場合は、
>ブラウザ表示はされるのですが、ブラウザから操作を行うと、
>バックグラウンドの処理が終わるまで、ブラウザが固まります。
>#下記サンプルでは、複数の shell の起動が出来ない。
>#session_destroy() を行うと、ちゃんとバックグラウンド動作します。
私もこれではまりました。
>何らかの制限なのでしょうか?。回避方法はあるのでしょうか?。
<?php
session_start();
echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">\n";
echo "<HTML>\n";
echo "<BODY>\n";
echo "<FORM action=\"{$_SERVER["PHP_SELF"]}\" method=\"POST\">\n";
echo "<INPUT type=\"submit\">\n";
echo "</FORM>\n";
echo "</BODY>\n";
echo "</HTML>\n";
system("/tmp/sleep.sh > /dev/null &");
session_destroy();
session_start();
exit;
?>
これでどうでしょう。
sessionを使ってデータを保持している場合、system関数をコールする前に一度変数に
落とし、再度session_startしたあとにsessionに格納すれば問題ないはずです。