たとえば、thinkphp プログラムには、ユーザーのリファラーを取得する属性を持つクラスがあります。
if($_SERVER['HTTP_REFERER']==null){
$visitor_info.='&referrer='.'empty';
}それ以外{
$visitor_info.='&referrer='.$_SERVER['HTTP_REFERER'];
}
$this->visitor_info=$visitor_info; // 属性はユーザーのリファラーを取得するためのものです
複数のユーザーが同時にアクセスした場合、各ユーザーは競合しない対応する $this->visitor_info を持ちますよね。
すみません、同時アクセスには競合はありません。その背後にある原理は何ですか? ?
各ユーザーがアクセスすると、対応する参照を保存するための領域がメモリ上に確保されますか? ?
一般的に、ユーザーが接続アクセスを確立すると、サーバーはリクエストを処理するために新しいプロセスを開きます。このプロセスでは、PHP インタープリターが PHP ファイルの内容を読み取り、このオブジェクトのインスタンスを作成します。 、リクエストが終了すると、すべてのデータがリサイクルされ、参照は存在しなくなります。
つまり、各ユーザーがアクセスすると、プログラムは1つずつメモリに入り、CPUによって1つずつ処理されます。これにはCPUの仕組みやメモリ関連の知識が必要です。 PHPの問題ではありません。プログラムが実行されると、Apache は結果を取得して結果を返します。
phpがマルチプロセスモードになっているためです。 。アクセスすると、各ユーザーは独立したプロセス空間になります