이 항목에 대한 많은 질문이 있지만 내 시나리오에 대한 답을 찾을 수 없습니다.원격 이미지의 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 다른 결과는 없다.
SSH를 PHP4 서버에 사용해보고 wget 또는 무언가를 사용하여 파일을 다운로드하십시오. 유사한 오류가 발생하는지 확인하십시오. –
@SalmanA'copy'와 같은 타임 아웃이 발생합니다 - 서버의 사용자 계정이 해당 유형의 원격 호출을 허용하지 않는다는 것을 의미합니까? 그렇다면 무엇이 문제를 해결하기 위해 나를 떠나게할까요? – kontur
웹 호스팅 업체에 문의하십시오. 시간 초과는 원격 시스템이 응답하지 않았 음을 의미합니다 * 또는 * 사용자와 방화벽 사이의 방화벽이 연결을 거부하지 않고 자동으로 연결을 끊는 것을 의미합니다. 귀하의 호스트 만이이 문제를 조사 할 수 있습니다. – Charles