ホームページ >バックエンド開発 >PHPチュートリアル >Ajax非同期リクエストphpバックグラウンド処理時間のかかるタスクsession_write_close

Ajax非同期リクエストphpバックグラウンド処理時間のかかるタスクsession_write_close

WBOY
WBOYオリジナル
2016-07-29 09:11:131558ブラウズ

問題: ajax が時間のかかる PHP バックグラウンド処理タスクを非同期リクエストした後、ajax の後の js は正常に実行できますが、現在のブラウザーはクリックして ajax によってリクエストされたアドレスにある他のページを閲覧できなくなります (スタック、ブロックされています) )。
解決策:
まず、フロントエンドは通常の ajax リクエストです。
2 番目に、次の 3 つの文を PHP バックグラウンド メソッドに追加する必要があります。
ignore_user_abort(); // クライアントを切断する
set_time_limit(0); // セッションのロックを解除する
session_write_close();重要な点は、バックグラウンド実行が完了しておらず、セッションがロックされているため、 session_write_close — セッション データの書き込みとセッションの終了を追加する必要があることです。
上記は、PHP バックグラウンド処理への ajax 非同期リクエストの時間のかかるタスク session_write_close を紹介しており、PHP チュートリアルに興味のある友人に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。