EDIT : 이유는 우리를 차단 한 서비스 (보안)를 재검토 한 것이 었습니다. 제발 질문을 무시하십시오php file_get_contents는 dev 및 production에서 다르게 동작합니다.
다른 비슷한 질문을 체크했는데,이 경우는 다른 것 같습니다. 이미지의 실제 크기를 - 그것은 8861을 출력 내 dev에 PC에서
$src='http://www.fattal.co.il/Octopus/Upload/Images/Pages/thumbs/magic-sunrise-club-eilat-youth-club_thumb.jpg';
$opts = array(
'http'=>array(
'method'=>"GET",
'user_agent' => 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0'
)
);
$context = stream_context_create($opts);
$data= file_get_contents($src, false, $context, -1, 1500000);
echo strlen ($data);
:
나는이 간단한 코드가 있습니다. 리눅스 우분투 프로덕션 서버에서는 사이트에서 자바 스크립트를로드하는 HTML 코드를 가져옵니다 (인쇄 된 크기는 549 바이트입니다).두 상자 모두 다른 사이트에서 이미지를 멋지게 가져옵니다. 포장지가 제자리에있는 것 같습니다. 이 문제는 예제의 사이트에만 적용됩니다. 많은 헤더 변형이있는 서버를 에뮬레이트했습니다. 브라우저가 보낼 수있는 모든 헤더가 포함되었습니다. 이 doesnt는 효과를 낸다.
다른 프로덕션 서버에서 이미지 서버가 IP로이를 차단했음을 제외하고 시도했습니다.
두 개의 상자에는 allow_url_fopen이 설정되어 있습니다.
프로덕션 서버에서 작동하지 않는 이유를 확인하려면 어떻게해야합니까?
$ http_response_header - http://php.net/manual/en/reserved.variables.httpresponseheader.php 및 get_headers() - http://php.net/get_headers 및 stream_notification_callback()에 대해 자세히 알아보십시오. - 귀하의 컨텍스트에 대한 http://php.net/stream_notification_callback – OIS
좋은 아이디어. 두 가지 모두 머리글로 '좋은 선별기'가 이미지를 받고 '나쁜'이 HTML을 가져 오는 것을 나타냅니다. 좋은 서버에 고유 헤더 : '동의-범위 : 바이트' '액세스 제어 - 허용 - 원산지 : *' '캐시 제어 : 최대 사용 기간 = 604800' '콘텐츠 유형 : 이미지/JPEG ' '의 ETag : "8afd6619a884cf1 : 0" ' '마지막 수정 : 2014년 6월 10일 (화) 나쁜 '전화'는에 헤더 고유의 '그리니치 표준시 12시 32분 53초 : "캐시 - 제어 : 노 캐시, 개인용, 변형 없음, 상점 없음 " "콘텐츠 유형 : text/html; charset = utf-8 " "만료 : 1970 년 1 월 1 일 00:00:01 GMT " "PageSpeed : off " – Nir