FastCGI 서버는 예를 들어 PHP에서 set_time_limit()
을 사용하여 변경할 수없는 PHP 스크립트의 실행 시간 제한을 적용합니다. IIS도 이것을 믿습니다.PHP : 서버가 실행 시간 제한을 적용 할 때 장시간 실행되는 스크립트 코딩
mod_php에서는 잘 작동하지만 스크립트가 특정 시간 (초) 후에 종료되므로 FastCGI (mod_fcgid)에서 실패하는 PHP 응용 프로그램에 대한 가져 오기 스크립트를 작성했습니다. 나는이 시간에 당신의 시간 제한이 무엇인지를 알아내는 방법을 아직 모르고 있으며, 나는 그걸 어떻게 극복 할 것인지 결정하지 못했습니다. 리디렉션을 사용하여 작은 덩어리로 작업하는 것은 하나의 진흙탕처럼 보일 수 있지만 어떻게 될까요?
가져 오기 또는 내보내기 작업과 같이 특정 시간 (초) 후에 개별 PHP 스크립트가 서버에 의해 종료 될 수있는 장기 실행 작업을 코딩 할 때 어떤 기술을 사용합니까?
PHP가 결국 mod_php, FastCGI 또는 IIS에서 실행되는지 여부 또는 서버 수준에서 최대 실행 시간이 적용되는지 여부를 반드시 알 필요가 없도록 이식 가능한 스크립트를 작성한다고 가정하십시오. 또한 쉘 스크립트 등도 배제 할 수 있습니다.
+1은 cron을 사용합니다. 웹 스크립트를 사용하여 장시간 실행되는 작업을 실행해서는 안됩니다. –
php.ini에 선언 된 시간 제한을 다시 푸시 할 수있는 방법을 이해하지 못했습니까? thanks – Benoit
@Benoit 서버 (Apache, IIS 등) 또는 서버 모듈 (FastCGI/fcgid)에 의해 부과 된 시간 제한을 언급했습니다.커맨드 라인에서 실행할 때, 당신은 그 특별한 한계를 갖지 않을 것이고, 유일한 제한은 PHP 자체가 제어 할 수있는 것일 것입니다. 커맨드 라인에서 실행하는 것의 단점은 이식성이 좋지 않다는 것입니다. Windows 서버에서 다르게 설정하거나 PHP 실행 파일의 경로에 따라 변경해야합니다. 그러나 여전히 하나의 옵션입니다. – thomasrutter