PHP Max Yürütme Ulaşıldı: Senaryo php.ini dosyası almamak ve Set Time Limit

2 Cevap php

Ben bir PHP komut aynı anda 7 olsun isteklerini yapmak - isteklerinin iki başarılı ve ben aştı 60 saniye Max İnfazı bir çıkışı almak diğer istekleri!

Şey benim komut dosyası üstündeki bu koyduk olduğunu:

set_time_limit(300000);

Ben de php.ini dosyasında bu belirledik ve apache birkaç kez yeniden başlattıktan.

max_execution_time = 300000

Neden bana bu hatayı veriyor tutmak?!?

Tüm teşekkürler

Update

Ben sadece kundakçı baktım ve tüm istekleri tam ateş değil sanki isteği hala yapılacak çalışıyor gösterir yani görünüyor. Bu durumda, bir istek kendisine yapılmış ancak yürütme başlamamıştır eğer PHP bu hatayı atmak için mümkün!?

Bana 1. satırda ki hata veriyor - bu yüzden bile bu senaryonun herhangi bir bölümünü çalıştırmak vermedi - Bu ne demek olduğunu?

Update 2

Sadece tam hata gösteriyor:

[Mon Nov 23 13:05:37 2009] [error] [client 127.0.0.1] PHP Fatal error: Maximum execution time of 60 seconds exceeded in C:\wamp\www\webs\process_txt.php on line 1, referer: http://localhost/webs/front-end/path.php

Neden hattı 1 diyor?

2 Cevap

ini_get Doğru "max_execution_time" raporları kontrol edin. : (Bu önerilmemektedir ve PHP 6 kaldırılmak üzere ayarlanmış olsa) aynı zamanda PHP docs state 0 it "safe_mode" için raporlar emin olun

Bu işlev, PHP güvenli modda çalışan hiçbir etkisi yoktur. Güvenli modunu kapatmak veya php.ini içinde zaman sınırı dışında değişen hiçbir çözüm yoktur.

Ayrıca not in the documentation:

Web sunucusu PHP'nin çalışmasını kesintiye uğratacak başka zaman aşımı yapılandırmaları olabilir. Apache bir Timeout yönergesi ve IIS bir CGI zaman aşımı işlevi vardır. 300 saniye varsayılan. Hem Özel ayrıntılar için web sunucusu belgelerine bakın.

Sorunu daraltmak. Şu an için Ajax görmezden ve söz konusu sayfada normal bir HTTP isteği gerçekleştirmek. Emin olmak için zaman aşımı test yürütme zamanı aslında ulaşılır:

for ($i=1; $i<=300; $i++) {
    echo "<p>$i seconds</p>";
    flush();
    ob_flush();
    sleep(1);
}

Ayrıca, doğru php.ini dosyasını kullandığınızdan emin olun. Yanlış birini kullanarak çok sık olur. Phpinfo () arayın, bir o çıkışları php.ini yolu kontrol edin.