HTTP 요청이 수신 될 때 PHP 스크립트의 새 인스턴스를 시작하는 대신 하나의 PHP 스크립트가 여러 요청을 처리 할 수있는 방법이 있습니까?PHP 파일이 여러 요청을 처리 할 수 있습니까?
답변
는 대한 HTTP 요청에 대한 구현을 보지 못했어요. 내가 성취 할 수 있었던 것은 모든 요청이 다시 오기를 기다리는 것입니다. 명령 줄에서 프로세스를 포크하여 백그라운드로 보낼 수 있습니다. 아니면 Gearman (분산 작업)을 활용할 수 있습니다.
"는 모든 요청이 다시 오기를 기다리는 것입니다." 어떤 종류의 응답을 고객이 기대합니까? 요청이 끝난 후 PHP가 HTTP 텍스트를 보낸 후 클라이언트가 동일한 요청으로 응답하여 동일한 PHP에서 처리 할 수 있습니까? –
나는 그 문제를 다른 방향으로 생각하고 있었다. 1 요청을 받고 몇 가지 새로운 요청을 인스턴스화합니다. –
PHP 요청을 어떻게 시작합니까? 그게 무슨 뜻 이죠? –
파일을 HTTP 서버로 만들고 프로세스로 실행하는 경우 예.
아파치와 mod_php가 실행되면 no.
은 (도대체 왜 당신은 어쨌든 원하는 것?)
한 스크립트가 매번 다시 초기화하는 대신 클라이언트의 반복적 인 요청을 추적 할 수 있도록합니다. –
PHP의 기능/제한 사항은 사용자가 보는 방법에 따라 다릅니다. 일반적으로 클라이언트 데이터를 추적하는 것은 $ _SESSION을 사용하여 수행됩니다. 이는 아마도 사용자가 조사해야하는 것일 수도 있고 전혀 다른 기술 일 수도 있습니다. –
내가 아는 한, 그렇게 할 방법이 없습니다. 내가 생각할 수있는 가장 가까운 것은 (xcache 또는 APC)와 같은 php opcode 캐시를 사용하는 것입니다. 그것들은 빠른 스크립트 실행을위한 코드를 캐싱 할 것입니다. 모든 요청에는 스크립트의 인스턴스가있을 것이라고 저는 믿습니다.
PHP는 분산 네트워크를 통해 응용 프로그램의로드 균형 조정 및 확장 기능을 제공하는 "공유 없음"개념을 기반으로합니다. 그래서 "아니오"는 할 수 없습니다. 시작 비용이 높다고 상상해보십시오. 아키텍처를 조정하여 가능한 한 오브젝트/데이터/뷰를 개념적으로 '캐시'하십시오. serialize() 또는 뭔가 사용하십시오.
원하는 것은 데이터를 캐시하는 것입니다.
PHP 스크립트는 요청에 대한 유효한 데이터가 캐시에 있는지 단순히 확인해야합니다. 그렇지 않다면 데이터베이스를 읽고 캐시를 업데이트 한 다음 결과를 사용자에게 반환하십시오.
다양한 캐싱 라이브러리를 조사하고 캐쉬를 확장하는 방법을 신중히 고려해 보시기 바랍니다. 하나의 시작 지점은 Zend_Cache입니다. 아마도 백엔드에 memcached가있을 것입니다.
HTTP 요청을 처리하는 스크립트는 소켓을 사용하여 작은 PHP 데몬에서 데이터를 가져올 수 있습니다. http://github.com/kvz/system_daemon
그리고 어떤 문서 :
http://kevin.vanzonneveld.net/techblog/article/create_daemons_in_php/
- 1. POST 파일이 여러 요청을 처리 할 수 있습니까?
- 2. ASP.NET 작업자 스레드가 여러 요청을 동시에 처리 할 수 있습니까?
- 3. LuaSocket 서버는 어떻게 여러 요청을 동시에 처리 할 수 있습니까?
- 4. 여러 기계 - 여러 파일을 동시에 처리 할 수 있습니까?
- 5. System.Web.Services.Protocols.SoapException : 서버가 요청을 처리 할 수 없습니다.
- 6. IIS 6은 확장명이없는 페이지에 대한 요청을 처리 할 수 있습니까?
- 7. drupal 라우터가 PUT 요청을 처리 할 수 있습니까?
- 8. 서블릿을 사용하여 ftp 요청을 처리 할 수 있습니까?
- 9. 여러 요청을 처리 할 수있는 TCP IP 서버?
- 10. 파일이 수정 되었습니까? 이제 WPF에서 처리 할 수 있습니까?
- 11. 웹 브라우저로 HTTP 요청을 할 수 있습니까?
- 12. Selenium에서 XHR 요청을 모니터 할 수 있습니까?
- 13. 하나의 요청으로 여러 SQL 요청을 수행 할 수 있습니까?
- 14. 여러 폼을 처리 할 수있는 PHP 스크립트를 만드는 방법
- 15. PHP 처리 페이지에서 AJAX 요청을 수신하지 못합니다.
- 16. Pickle이 여러 객체 참조를 처리 할 수 있습니까
- 17. JQuery UI DatePicker - 여러 날짜를 처리 할 수 있습니까?
- 18. 부두에서 라이브러리로 : 어떻게 여러 스레드를 처리 할 수 있습니까?
- 19. Scala 액터는 여러 메시지를 동시에 처리 할 수 있습니까?
- 20. jquery.cookie가 객체를 값으로 처리 할 수 있습니까?
- 21. 동일한 서버에 CURL 요청을 수행 할 수 있습니까?
- 22. Zend_Log를 사용하여 PHP 오류를 처리 할 수 있습니까?
- 23. HTTP 요청을 고유하게 식별 할 수 있습니까?
- 24. urllib2가 HTTP/1.1 요청을 할 수 있습니까?
- 25. jQuery로 어떻게 동기 요청을 할 수 있습니까?
- 26. JavaFX에서 SOAP 요청을 호출 할 수 있습니까?
- 27. MATLAB에서 http 요청을 할 수 있습니까?
- 28. 사용자가 요청을 떠날 때 청소 항목을 제어 할 수 있습니까?
- 29. System.Web.Services.Protocols.SoapException : 서버가 요청을 처리 할 수 없습니다. 장치가 준비되지 않았습니다.
- 30. 코드에서 Ajax 요청을 처리 할 수 없습니다 ignitor1.7.3
가 왜 그런 일을할까요 여기
유용한 PHP 데몬에 대한 라이브러리입니다? 기본 상태 비 저장 HTTP 메타포를 깨뜨리는 것 같습니다. 시나리오를 자세히 설명 할 수 있습니까? 더 포괄적이고 큰 그림 답변을 제공 할 수 있습니까? –기본적으로 AJAX 검색 프로그램이 PHP 스크립트에 질문을 계속하는 것을 상상해보십시오 ...이 키워드에 대한 결과를 줘봐, 키워드에 대한 결과를 줘봐. PHP 스크립트의 시작은 MySQL DB를 통해 읽고 초기화한다. PHP가 다시 시작되면 수백만 번 DB를 읽어야합니다. 만약 내가 그것을 계속 유지할 수 있고, 여러 바보 같은 AJAX 요청이 그것에 의해 제공된다면 나는 그것이 더 좋을 것이라고 확신한다. –
아하나. 그렇다면 간단한 캐싱 솔루션 만 있으면됩니다. Memcached 또는 APC는 의사가 주문한 것일뿐입니다. 해결할 필요가있는 것은 캐시 스탬프 (cache stampedes)의 문제입니다. 여기에는 몇 차례 대답을 들었습니다. –