2014-06-23 3 views
0

큰 json 문자열을 반환하는 facebook fql 쿼리를 실행하고 있습니다. 그럼 URL을 file_get_contents. fql 쿼리를 100 개로 제한하면 file_get_contents()가 정상적으로 반환됩니다. 200 개의 결과가 나오면 file_get_contents()는 false를 반환합니다.PHP file_get_contents가 너무 큰 파일에 대해 false를 반환합니까?

저는 페이스 북 공개 그래프 탐색기를 통해 테스트했으며 100 개에서 200 개의 쿼리가 잘 실행됩니다. 또한, 내 localhost에서 나는 200 개의 결과를 다시 얻을 수 있습니다. 내 작품에서 나는 단지 100을 얻을 수있다. 나는 200을 시도 할 때 file_get_contents가 false를 반환한다.

프로덕션 환경에서 file_get_contents가 너무 큰 파일을 처리하지 못하게하는 php.ini 설정이 있습니까?

+1

f_g_c는 들었던 모든 것을 빨아들입니다. PHP가 메모리를 보유하고있는 한 그것이 할 수있는 것에는 제한이 없습니다. –

+0

어쨌든 메모리 한도에 연결되어 있습니까? file_get_contents를 실행하기 전에 다른 값을 시도하고 메모리 사용을 검사해야합니다. 가능하다면 어쩌면 어쨌든 PHP는 메모리 제한이 거의 sed되었다는 것을 알고 있다면 읽기를 멈 춥니 다. file_get_contents를 사용하지 않고 브라우저에서이 URL을 간단하게 실행하면 어떻게됩니까? –

답변

0

manualfile_get_contents은 실패한 경우 읽기 데이터 또는 FALSE을 반환합니다.

따라서 FALSE을 반환하면 다른 곳에 다른 것이 있어야하며 오류가 숨겨져 있기 때문에 무엇인지 모를 수 있습니다.

file_get_contents 코드를 디스크의 일부 파일에 로그인하는 try...catch 블록으로 둘러싼 E_WARNING 수준의 오류 로그를 사용하도록 설정하십시오. 그러면 오류의 위치가 표시됩니다.

당신은 다른 사람이 가능성이 비슷한 문제에 직면의 예를 찾을 수

Here합니다 (php.ini 파일을 변경하기 전에, 생산에 try..catch 업데이트 된 코드를 업로드하는 것을 잊지 마십시오).