2010-06-12 6 views
2

나는 다이나믹 데이터를 얻기 위해 file_get_contents()을 사용합니다. 여기 ... 내 스크립트입니다file_get_contents() 연결 시간 초과 문제

$str = file_get_contents("http://cba.am/"); 
some script here... 

는 오랜 시간 동안 잘 작동하지만 지금은 Connection timed out를 반환합니다.

무엇이 이상한 지, 내가 로컬 서버에서 스크립트를 실행할 때 제대로 작동합니다.

왜이 문제를 해결할 수 있는지, 그리고 무엇을 할 수 있는지 말해 줄 수 있습니까? 어쩌면 내가 더 높은 시간 초과 시간을 php.ini에 설정해야합니까?

감사

답변

2

시도는 스크립트의 상단에 선 아래 넣어 스크립트 실행 시간을 연장하기 :

ini_set('max_execution_time', 14000); // or whatever value of time 

업데이트 :

I 추가 URL에 www, 작동했습니다 :

file_get_contents("http://www.cba.am/"); 
+0

당신은 사실입니다. 고마워요. 그런 행동을 설명 할 수 있습니까? – Simon

+0

@Syom : 나는 서버 전문가가 아니지만 사이트가 실행중인 서버 설정과 관련이 있다고 생각합니다. – Sarfraz

+0

서버 설정에 별칭이 설정되어 있지 않기 때문입니다. 여러 번 URL의 두 버전 (www와 www가 아닌)을 허용하는 유령 설정이 아파치에 있습니다. 그래서 www.cba.com을 통해서만 접속할 수 있습니다. –

3

file_get_contents에 대한 제한 시간은 다음과 같은 설정으로 제어 할 수 있습니다 :

ini_set('default_socket_timeout', 60); 
2

그들의 서버가 단순히 www를 응답하도록 구성되어 있지 않습니다. www.cba.am에 대한 요청에만 응답하므로 시간 초과가 발생합니다.