>백엔드 개발 >PHP 튜토리얼 >내 PHP file_get_contents()가 외부 URL을 검색하지 못하는 이유는 무엇입니까?

내 PHP file_get_contents()가 외부 URL을 검색하지 못하는 이유는 무엇입니까?

DDD
DDD원래의
2024-12-06 02:46:14642검색

Why is my PHP file_get_contents() failing to retrieve external URLs?

외부 URL과 관련된 PHP ini file_get_contents 문제

file_get_contents() 함수를 사용하면 PHP가 다음 위치에 있는 파일을 포함하여 파일의 내용을 검색할 수 있습니다. 외부 URL. 그러나 어떤 경우에는 외부 URL에 액세스하려고 할 때 함수가 빈 결과를 반환하는 문제가 발생할 수 있습니다.

가능한 PHP.ini 구성 충돌

이 문제는 PHP.ini 구성, 특히 외부 URL 액세스를 제한하는 구성과 관련이 있을 수 있습니다. 문제의 원인을 확인하려면 관련 구성 옵션을 식별해야 합니다.

  • allow_url_fopen: 이 옵션은 PHP가 URL을 열 수 있는지 여부를 제어합니다. 0(비활성화)으로 설정되어 있는지 확인하세요. 그러면 함수가 외부 콘텐츠에 액세스하지 못하게 됩니다.
  • allow_url_include: Allow_url_fopen과 유사하게 이 옵션을 사용하면 PHP가 URL에서 파일을 읽을 수 있습니다. 1(활성화)로 설정되어 있는지 확인하세요.
  • safe_mode: 안전 모드는 URL 액세스를 포함한 특정 PHP 기능을 제한합니다. php.ini에서 안전 모드가 비활성화(꺼짐으로 설정)되어 있는지 확인하세요.

대체 접근 방식: cURL 사용

PHP.ini 설정 수정이 그렇지 않은 경우 옵션인 경우 해결 방법은 cURL 라이브러리를 사용하여 다음의 기능을 모방하는 것입니다. file_get_contents():

function get_content($URL){
      $ch = curl_init();
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
      curl_setopt($ch, CURLOPT_URL, $URL);
      $data = curl_exec($ch);
      curl_close($ch);
      return $data;
}

echo get_content('http://example.com');

이 함수는 cURL 핸들을 초기화하고 필요한 옵션을 설정한 후 요청을 실행하여 지정된 URL의 내용을 반환합니다.

위 내용은 내 PHP file_get_contents()가 외부 URL을 검색하지 못하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.