2010-03-24 18 views
8

Ten problem powoduje, że mam orzechy, ponieważ max_execution_time w php.ini oraz w htaccess i zgłaszane od php jest zdecydowanie wyższy, niż raport w komunikacie ostrzegawczym.PHP max_execution_time zignorowane (brak trybu awaryjnego, brak współdzielonego hosta, tylko localhost/windows7/php 5.3.1 i limit czasu Apache to 300)

<?php 
echo "Max execution time: ".ini_get("max_execution_time")."<br />"; 
while(true) 
{ 
    sleep(1); 
} 
?> 

wyjściowa:

Maksymalny czas wykonywania: 240

błąd krytyczny: maksymalny czas wykonania 60 sekund przekroczona C: \ xampp \ htdocs \ timetest.php na linii 5

Odpowiedź

Tak, wydaje się być błąd: max_input_time nadpisuje max_execution_ czas!

.htaccess:

php_value max_execution_time 240 
php_value max_input_time 111 

timetest.php:

<?php 
echo "Max execution time: ".ini_get("max_execution_time")."<br />"; 
echo "Max input time: ".ini_get("max_input_time")."<br />"; 
while(true) 
{ 
    sleep(1); 
} 
?> 

wyjściowy (dowód)

Maksymalny czas wykonywania: 240

czas wejścia maksymalna: 111

Błąd krytyczny: przekroczono maksymalny czas wykonania 111 sekund w C: \ xampp \ htdocs \ timetest.php na linii 6

Dzięki za pomoc!

+0

jedno pytanie dotyczące Twojego pytania. Kiedyś myślałem, że maksymalny czas wykonania, który pokazuje przeglądarkę, jest ustawiony przez przeglądarkę, i może różnić się od wartości w php.ini! Myślałem, że źle? – Simon

+0

@Syom - max_execution_time nie jest ustawiona przez przeglądarkę, jest to wartość php.ini. Przeglądarki mają własne limity czasu (aby zatrzymać złośliwe skrypty), ale nie mają one znaczenia w tym scenariuszu. Wartość php.ini może różnić się w przeglądarce i wierszu poleceń, ponieważ apache używa innego php.ini niż tryb wiersza poleceń. – pinaki

+0

@pinaki, więc jeśli zobaczyłem komunikat "Maksymalny czas wykonania 60 sekund przekroczony", oznacza to, że 60 sekund zostało ustawione w php.ini w apache? – Simon

Odpowiedz

5

To błąd PHP. Zgłoszono tutaj http://bugs.php.net/48949

Edytuj: Znaleziono max_input_time nadpisuje czas max_execution. To musi być problem z tobą.

+0

Wygląda na to, że wersja 5.3.1 miała ten problem/błąd. Zostanie naprawiony za pomocą 5.3.1. http://bugs.php.net/bug.php?id=49868&edit=1 – pinaki

Powiązane problemy