2012-12-20 3 views
1

이 항목에 대한 많은 질문이 있지만 내 시나리오에 대한 답을 찾을 수 없습니다.원격 이미지의 PHP 복사가 시간 초과로 실패합니다

내가하고있는 클라이언트 프로젝트는 PHP 4.3.9를 실행하는 서버에서 호스팅되며 원격 이미지를 서버에 복사하려고합니다. 이것은 항상 시간 초과로 실패

var_dump(
    copy('http://domain.com/path/to/image.jpg', 
     '/opt/www/myfolder/myimage.jpg') 
); 

이 존재에 대한 오류 메시지 : Warning: copy(http://domain.com/path/to/image.jpg): failed to open stream: Connection timed out in /opt/www/myfolder/my-script.php on line xx bool(false)

내가 나에게 벌금을 보일 수있을 것입니다 몇 가지 INI 설정의 추적했다.

string(2) "8M" string(2) "8M" string(2) "30" string(2) "60" string(1) "1" 

그래서 allow_url_fopen이 활성화 될 것, 그리고 다른 설정이 너무 잘 보인다

var_dump(
    ini_get('upload_max_filesize'), 
    ini_get('post_max_size'), 
    ini_get('max_execution_time'), 
    ini_get('max_input_time'), 
    ini_get('allow_url_fopen')); 

이 추적합니다. 나는 브라우저를 통해 액세스 할 수있는 다양한 이미지를 시험해 보았습니다. 크기는 모두 작지만 원격 호스트는 다양했습니다. 내 서버의 대상 디렉토리는 쓰기 가능하고 예를 들어 내 서버의 URI에서 파일을 복사하면 파일이 잘 복사됩니다.

또한 this answer에서 curl 변종을 시도했으며 동일한 결과가 나타납니다.

새로운 PHP 버전을 사용하는 다른 서버에서 동일한 스크립트를 사용해도 제대로 작동합니다.

프로젝트 서버에서 어떤 설정이 실패 할 수 있습니까? PHP 4.3.9에 대해 알고 계신가요?

, 나는 PHP 버전을 변경할 수 있습니다 내가

편집 업그레이드 업그레이드하거나 제 의뢰인을 설득하라고 조언 답변을 필요가 없습니다 제발, 제발 : 40메가바이트에 upload_max_filesize을 변경하고 max_execution_time-600 다른 결과는 없다.

+0

SSH를 PHP4 서버에 사용해보고 wget 또는 무언가를 사용하여 파일을 다운로드하십시오. 유사한 오류가 발생하는지 확인하십시오. –

+0

@SalmanA'copy'와 같은 타임 아웃이 발생합니다 - 서버의 사용자 계정이 해당 유형의 원격 호출을 허용하지 않는다는 것을 의미합니까? 그렇다면 무엇이 문제를 해결하기 위해 나를 떠나게할까요? – kontur

+2

웹 호스팅 업체에 문의하십시오. 시간 초과는 원격 시스템이 응답하지 않았 음을 의미합니다 * 또는 * 사용자와 방화벽 사이의 방화벽이 연결을 거부하지 않고 자동으로 연결을 끊는 것을 의미합니다. 귀하의 호스트 만이이 문제를 조사 할 수 있습니다. – Charles

답변

0

으로 내가 @SalmanA @Charles 및 지적 =이 upload_max_filesize n 코멘트를 사용하면 서버에서 복사 호출을 방지하는 연결 문제가있는 것 같습니다.

@ SalmanA의 의견을 바탕으로 ssh 셸에서 wget을 사용하려고하면 연결이 차단되었음을 나타내는 유사한 시간 초과 결과가 나타납니다.

서버 호스트에 문의하고 이에 대한 자세한 내용은 여기를 참조하십시오.

-1

당신은 php.ini 파일에서 = 600 max_execution_time을 위해 기본 max_execution_time을 변경해야합니다 -

의 php.ini 파일 또는 을 사용하여 코드 10 개의 타워 당신의 필요에 기본 값에서 업로드 최대 크기를 변경하시기 바랍니다해야 위해서는 ini_set()이 ..이 유는 업로드하려고 할 때 도움이됩니다 ...

40M

+0

답변 해 주셔서 감사합니다. 입력 내용을 기반으로하지만 동일한 결과로 ini 값을 편집했습니다. 시간 초과로 실패합니다. – kontur

+1

"꼭해야"하는 이유는 무엇입니까? 최대 실행 시간 *을 600 초로 설정해야하는 이유와 * upload * 파일 크기를 변경해야하는 이유를 자세히 설명하십시오. 여기에 파일 업로드가 없습니다. 업로드 설정은 스트림이 아닌 사용자가 업로드 한 파일에 대한 설정입니다. – Charles

+0

@Charles : 안녕하세요, 파일 업로드가 필요하다면 언급했습니다. 확인 필요합니다. –

관련 문제