2015-01-19 4 views
0

양식을 작성하려고하는데이 양식의 두 섹션이 있습니다. 첫 번째 입력은 최대 카운트 수이고 두 번째 입력은 초 단위 지연 간격입니다.PHP 스크립트가 60 초 후에 작동을 멈 춥니 다.

두 가지 방법이 있습니다. 하나는이 클라이언트 측을 수행하는 것이며 다른 하나는 변수를 가져 와서 PHP를 통해 전송하는 것입니다. 이렇게하면 사용자가 웹 사이트를 떠나 스크립트가 계속 작동하게 할 수 있습니다.

이 서버 측 문제는 60 초 후에 PHP 스크립트가 작동을 멈추는 것입니다. 양식은 AJAX를 통해 전송됩니다. 여기에 내 PHP 코드가있다. 나는 또한 공유 호스팅을하고 PHP.ini를 편집 할 수있는 권한이 없습니다.

$amount = $_POST["amount"]; 
$time = $_POST["time"]; 
date_default_timezone_set('America/Los_Angeles'); 
$x = 0; 
while($x < $amount) { 
    echo $x; 
    $x++; 
    sleep($time); 
} 
echo ("Counted to " . $x); 

답변

2

PHP 파일에서 최대 실행 시간을 사용할 수 있습니다.이 행을 PHP 파일에 추가하십시오.

ini_set('max_execution_time', 300); //300 seconds = 5 minutes 
당신은 최대 실행 시간을 설정 set_time_limit을 사용할 수 있습니다
+0

'date_default_timezone_set ('America/Los_Angeles '); 바로 아래에 넣으면 오류가 발생합니다. 콘솔에 ... http://i.imgur.com/S03ZOTU.png – DanMossa

+0

당신은 nginx 서버 또는 아파치/httpd 서버를 사용하고 있습니까? – Vivek

+0

아파치/httpd 서버 – DanMossa

0

, 0은 시간 제한을 의미합니다 (CGI에 대한이 권유하지 언제부터 웹 서버, 아파치/정지가 IIS 시간 제한)

및 경우 모든 PHP 스크립트의 실행 시간 제한을 변경하려면 php.ini에서 max_execution_time 설정을 변경할 수 있습니다.

+0

내 대답에 언급했듯이 스크립트에'ini_set ('max_execution_time', 300);을 입력하고 http://i.imgur.com/S03ZOTU.png – DanMossa

+0

@pshyoulost 오류가 발생했습니다. , 웹 서버에는 여전히 스크립트에 대한 시간 제한이 있습니다. – jhdxr

+0

그래서이 문제를 해결할 수 없습니까? – DanMossa

관련 문제