2016-08-03 19 views
0

CentOS 및 nginx에서 "file_get_contents" 함수를 사용할 때 문제가 발생했습니다.PHP "file_get_contents()"함수가 null을 반환했습니다.

error_reporting(E_ALL); 

$file = "/srv/http/php/cms/extern/ip/pc.htm"; 

if (@is_file($file) === false) {// it is true; 

    $result['error'] = 'no file'; 

} 

if (@fopen($file, "r") === false) { // it is true 

    @fclose($htmlFilePath); 

} 

$htmlContent = file_get_contents($file); // return null 

는 그리고 브라우저에서 HTM 파일을 열고 그 다음 내가 php.ini 파일의 옵션 확인, 구글에서 검색 무언가를 일하러 수 있습니다

allow_url_fopen = On; 

및 장애인 기능 목록 돈을 ' 저것을 포함한다;

그렇다면 nginx 및 centOS를 다시 시작합니다. 그러나 작동하지 않습니다. -_- !!

버그가 어디에 있는지 알려주세요. 감사합니다.

+0

거기에 내용이 있습니까? 'ini_set ('display_errors', 1);'를 시작 부분에 설정하여 오류가 나타나는지 확인할 수도 있습니다. – Janno

+0

file_get_contents 함수는 전체 웹 URL을 사용할 때만 작동합니다. 당신이 브라우저에서 열 수있는 URL을 설정하십시오. –

+0

@ Janno 당신의 충고에 감사하지만 어떤 버그도보고하지 않습니다. –

답변

0

나는 전에도 같은 문제에 직면했다. 나는 인코딩 문자 세트를 추가하여 그것을 해결했다. 필자의 경우, UTF-8 charset을 추가했다. 브라우저가 파일을 인코딩하지만 nginx 및 centOS는 인코딩되지 않은 경우 일 수 있습니다.

  • head 태그 사이에 인코딩 메타 태그를 추가하십시오.

작동하지 않는 경우 전체 URL로 시도해 보시기 바랍니다. PHP는 URL을 상대 URL로 인식하지 않습니다.

관련 문제