사용자가 지정한 시간 동안 다른 사이트 (크롤러와 비슷한 것)에서 데이터를 수집하는 PHP 스크립트를 실행하고 싶습니다. 전의. 사용자가 5 분 동안 크롤링을 선택하면 사용자가 페이지를 떠난 경우에도 PHP가 5 분 동안 시작되고 실행됩니다. 그런 다음 그는 돌아와 결과를 볼 수 있습니다.사용자가 페이지를 떠나더라도 PHP 스크립트를 실행하십시오.
답변
에서 ignore_user_abort은 - 클라이언트 연결 끊기 스크립트 실행
http://php.net/manual/en/function.ignore-user-abort.php
스크립트 실행 시간 제한과 같은 고려해야 할 많은 일들이 있습니다를 중단할지 여부를 설정합니다. 이 작업을 수행하는 'enterprisey'방법은 작업 또는 메시지 대기열로 작업을 오프로드하는 것입니다.
나는 당신이 crontab/cronjob (리눅스 웹 서버를 사용한다면)을 봐야한다고 생각한다.
그러면 크롤링 대상 및 대상에 대한 데이터베이스를 만들 수 있습니다.
로그인 시스템이없는 경우 크롤링 결과를 세션 또는 사용자 브라우저의 쿠키에 연결해야합니다.
스크립트 및 데이터베이스가 만들어 질 때, 당신은 SSH/텔넷에서이 명령으로 매 순간을 실행하기 위해 데이터를 수집하는 PHP 스크립트를 만들 수 있습니다
* * * * * php /path/to/script.php
당신은 SSH에 액세스 할 수없는 경우/Telnet 쉘, 대부분의 제어판에는 crontab 기능이 있습니다.
안녕하세요. 답변 해주셔서 감사합니다. 쿠키와 크론 작업이있는 데이터베이스에 대해서는 정확히 같은 생각을했습니다. 그러나 지금까지는 PHP 내부에서 cron 작업을 호출 할 수 있는지 확실하지 않습니다. 이것이 어떻게 이루어 졌는지 아십니까? 나는 그들 중 대부분이 명령 행에서 cron 작업을 사용하기 때문에 내가 읽은 튜토리얼과 다소 혼동 스럽다. – user1798707
- 1. OnHover PHP 스크립트를 실행하십시오
- 2. PHP 스크립트를 연속적으로 실행하십시오.
- 3. PHP 스크립트를 연속적으로 실행하십시오.
- 4. 디렉토리를 모니터하고 PHP 스크립트를 실행하십시오.
- 5. Dojo Button에서 PHP 스크립트를 실행하십시오.
- 6. PHP 스크립트를 여러 번 실행하십시오.
- 7. 사용자가 제어하지 않고 자동으로 PHP 코드를 실행하십시오.
- 8. 주기적으로 백엔드 스크립트를 실행하십시오.
- 9. 서버에서 안전하게 사용자의 PHP 스크립트를 실행하십시오.
- 10. 쉘에서 웹 페이지를 실행하십시오.
- 11. 매개 변수를 전달하고 다른 PHP 스크립트를 실행하십시오.
- 12. 맥 터미널을 사용하여 PHP 스크립트를 실행하십시오.
- 13. 쉘에서 mysql db에 연결하는 PHP 스크립트를 실행하십시오.
- 14. 사용자가 뒤로 버튼을 눌러 페이지를 방문한 경우에도 document.ready를 실행하십시오.
- 15. 자바 스크립트를 textarea에서 실행하십시오.
- 16. 사용자가 페이지를 떠난 후 PHP 실행이 중단됩니까?
- 17. HTML 폼에서 루비 스크립트를 실행하십시오.
- 18. PHP 폼에 로그인 한 다음 Java에서 PHP 스크립트를 실행하십시오.
- 19. webpy에서 python 스크립트를 실행하십시오.
- 20. 파이썬에서 쉘 스크립트를 실행하십시오.
- 21. vb.net에서 python 스크립트를 실행하십시오.
- 22. VRML 스크립트를 실행하십시오.
- 23. 프로덕션에서 스크립트를 실행하십시오.
- 24. AutoIt에서 Python 스크립트를 실행하십시오.
- 25. ASP.NET에서 PowerShell 스크립트를 실행하십시오.
- 26. CruiseControl.NET에서 python 스크립트를 실행하십시오.
- 27. Ruby에서 sql 스크립트를 실행하십시오.
- 28. django- admin에서 스크립트를 실행하십시오.
- 29. URL에있는 개미 스크립트를 실행하십시오.
- 30. Node.js에서 Powershell 스크립트를 실행하십시오.
답변 해 주셔서 감사합니다. 작업 대기열을 검색했지만 이해할 수는 없습니다. 5 명의 사용자가 사이트를 크롤링하기를 원하면 크롤링이 "동시에 시작"됩니까? 아니면 차례대로 시작합니까? – user1798707
아파치 설정 방법에 따라 다릅니다. 일반적으로 PHP가되기 전에 요청을 조절합니다. –