2011-09-06 3 views
2

제 서버에서 10 초입니다. 그게 내가하려는 일로는 충분하지 않습니다. 그것은 웹 호스트도 사용할 수 없게되었습니다.max_execution_time 무시?

실행 시간이 일정 기간이 지난 후 별도의 PHP 페이지를 실행하면 같은 시간에 계산됩니까? 아니면 해당 페이지에서 다시 시작합니까?

다른 방법이 있습니까?

답변

2

쉬운 방법과 같이 제한 시간을 설정하는 :

하고 set_time_limit (0);

0

set_time_limit() 그러나

이 기능은 PHP가 안전 모드에서 실행되면 아무 효과가 없습니다보십시오. 당신이 더 많은 파일을 포함 할 때, 재설정하지 않습니다

주위 방법은 없습니다 php.ini의 카운터

0

을 시간 제한을 안전 모드를 끄거나 변경 이외의 다른 해결 방법은 없습니다 - 귀하의 웹 호스트가 서버를 적절히 구성했기 때문입니다.

시간은 모든 스크립트를 나타내며 별도로 표시되지는 않습니다.

1

가능한 해결 방법은 작은 부분으로 작업을 수행하도록 cron 작업을 설정하는 것입니다. 나는 이것이 아마도 바람직하지 않다는 것에 감사한다.

1

자바 스크립트를 사용하여 주위를 둘러 볼 수 있습니다. 시간 초과가 만료되기 전에 페이지가 자체 실행을 끝내고 상태를 저장 한 다음 사용자에게 자바 스크립트를 반환하여 클라이언트가 새로운 제한 시간으로 처리를 계속하는 새 페이지를 요청하도록합니다.

권장하지 않습니다.

0

실행 시간이 일정 기간이 지난 후에도 별도의 PHP 페이지가 실행되는 경우 동일한 시간으로 계산합니까, 아니면 해당 페이지에서 다시 시작합니까? 당신은 예를 들어 file_get_contents('http://example.com/mypage.php');로, HTTP 요청을 (아닌 포함)를 사용하여 별도의 PHP 페이지를 호출하는 경우

, 그것은 동시에 대한을 계산하지 않습니다. 그 페이지에서 다시 시작됩니다.

나 자신보다 다른

, set_time_limit을 시도하고 작업을 수행하기 위해 "매 순간" cronjob를 일정을 고려 ... 몇 년 전이 트릭을 사용했다.

0

@Borealid가 이전에 저장 한 상태를 사용하여 스크립트를 계속 실행하기 위해 javascript 및 ajax 요청을 사용할 수 있다고 말했습니다. 이를 위해 serialize()를 사용하여 세션에서 당신이나 당신이 가질 수있는 객체를 저장하고, 유용하다고 생각되는 카운터 나 다른 도구를 사용하여 진행 상황을 추적 할 수 있습니다. 나는 몇 년 전에 비슷한 기술을 사용했다. 실제로 모든 단계를 마치면 페이지를 새로 고쳤다. 모든 출력을 볼 수있게했다. 마치 끝낼 때처럼 출력이 나오기까지 며칠이 걸렸을 것이다. 당신도 그것을 시도 할 수 있습니다. 최대 실행 시간이 각 요청에 적용됩니다.

맥스 실행 시간 주위