PHPのセッションブロック問題の解決策
この記事では、PHP プログラミングにおけるセッション ブロックの問題と解決策を主に紹介し、PHP セッション ブロックの原理、理由、簡単な解決策を簡単に分析します。必要な方は参考にしてください。
この記事では、PHP プログラミングにおけるセッションについて説明します。 . ブロックの問題と解決策。参考のために皆さんと共有してください。詳細は次のとおりです:
セッションの使用中、セッションを開いた後、同じブラウザで同じプログラムを実行すると、異なるページがロックされます。別のブラウザではこのようなことは起こりません。
質問: session_start がブロックの原因ですか?
そこで、いくつかのページを書いてテストしたところ、セッションがブロックの原因となっているのに対し、他の 2 つの状況ではブロックが発生していないことがわかりました。
PHP バグ リストを確認したところ、誰かがこの質問をしたことがわかりました:
説明:
---------------
session_start() の呼び出しは、他のスクリプトが終了するまで待機しているようです
同じセッションを使用しているものは、最初のリクエストが
セッション ファイルを排他的にロックし、2 番目のリクエストが
それを開くことができるまでブロックすると思います。
PHP の公式の返信は次のとおりです:
これはバグではありません。
は、ブロックの原因を見つけるために PHP のセッション メカニズムを組み合わせて、セッション ファイルをロックしています。 PHPのセッション情報はファイルに書き込まれるため、1つのクライアントが1つのセッションファイルを占有します。したがって、session_start が呼び出されると、ファイルはロックされ、読み取り/書き込みモードでロックされます (プログラム内でセッションの値を変更する必要がある場合があるため)。このようにして、session_start への 2 回目の呼び出しはブロックされます。 。
最も簡単な解決策:
PHPマニュアルを確認したところ、session_write_close関数が見つかりました。この関数は、セッションデータの書き込みとセッションの終了、つまり、セッションデータの書き込みとセッションの終了を同時に行います。したがって、セッションの終了後、この関数を呼び出してセッション ファイルを閉じ、ロックを解除できます。一般に、セッションは、PHP が ID 認証を実行できるようにユーザー ID 情報を記録するために使用されます。したがって、セッションの読み取りと書き込みは、実行後すぐに呼び出すことができます。 。
以上がPHPのセッションブロック問題の解決策の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。
