2012-04-23 4 views
0

현재 수개월 내에 수천 개의 http 상태 코드를 확인하기 위해 cURL multi를 사용하고 있습니다. 매우 효과적입니다.
그러나 궁금합니다. 어쨌든 포트가 cURL 또는 다른 PHP 멀티 태스킹 방법을 사용하여 응답하는지 (예 : mysql) 확인할 수 있습니까?PHP로 포트를 확인하는 방법 (멀티 스레딩?) ​​

+2

짧은 대답 : 아니오 다중 스레드를 지원하는 언어를 사용하십시오. 또는 Node.js와 같은 비동기식 – DaveRandom

+1

문제는'fsockopen '을 사용하는 것이 동기식이라는 것입니다; 일단 연결되면 소켓을 non-blocking으로 설정하고'stream_select '를 사용하여 연결을 다중화 할 수 있지만 연결에 소비되는 시간은 줄어 듭니다. 그 외에도, 그 포트 (예 : mysql)의 응답을 처리하는 코드가 필요합니다. –

답변

2

짧은 대답 :

은 PHP에는 스레드 없습니다.

그러나 확장자는 pcntl입니다. 스레드에 관한 것이 아니라 포크입니다. 즉, 각 포크에 대해 프로세스가 생성됩니다.

Thread extension은 몇 년 전에 개발되었지만 2 년 동안 업데이트되지 않았습니다.

포크는 유익하고 사용 사례에 사용될 수 있지만 유지 관리 나 작성이 쉽지 않습니다. 필요에 따라 더 나은 스레드 지원이있는 파이썬 또는 perl로 작업하고 싶을 수도 있습니다.