예를 들어, thinkphp 프로그램에는 사용자의 리퍼러를 얻는 속성이 있는 클래스가 있습니다.
if($_SERVER['HTTP_REFERER']==null){
$visitor_info.='&referrer='.'비어있음';
}또 다른{
$visitor_info.='&referrer='.$_SERVER['HTTP_REFERER'];
}
$this->visitor_info=$visitor_info; //사용자의 리퍼러를 얻기 위한 속성입니다
여러 사용자가 동시에 방문할 때각 사용자는 충돌하지 않는 해당 $this->visitor_info를 가지게 됩니다.
죄송하지만 동시 액세스에는 충돌이 없습니다. 그 뒤에 있는 원칙은 무엇입니까? ?
각 사용자가 접속하면 해당 참조를 저장하기 위해 메모리에 영역이 할당되나요? ?
일반적으로 사용자가 연결 액세스를 설정하면 서버는 요청을 처리하기 위해 새 프로세스를 엽니다. 이 프로세스에서 PHP 인터프리터는 PHP 파일의 내용을 읽고 개체를 인스턴스화합니다. , 요청이 종료되면 모든 데이터가 재활용되고 참조가 더 이상 존재하지 않습니다.
즉, 각 사용자가 접속하면 프로그램이 하나씩 메모리에 들어가고 CPU에서 하나씩 처리됩니다. 이는 CPU 메커니즘 및 메모리 관련 지식과 관련이 있어야 합니다. PHP 문제가 아닙니다. 프로그램이 실행된 후에는 결과가 있어야 합니다. Apache는 결과를 얻은 후 이를 반환합니다.
PHP는 다중 프로세스 모드이기 때문입니다. . 접속 시 각 사용자는 독립적인 프로세스 공간입니다