Wyrażenie "maksymalny czas wykonania" jest niejednoznaczne: może to oznaczać (a) czas, jaki upłynął od rozpoczęcia skryptu, lub (b) całkowity czas wykonania operacji wykonywany przez skrypt (włączając lub wyłączając pobrane czasy) przez wywołania systemowe).Dokładne znaczenie PHP max_execution_time
Bardzo interesujący post kuba tutaj Real max_execution_time for PHP on linux, stwierdza, że zależy to od tego, czy PHP działa na systemie Unix czy Windows. W istocie stwierdza, że na Unixie jest (b) i na Windowsie lub Cygwin jest (a).
Ale moim serwerem jest Linux 2.6.32-358.18.1.el6.x86_64 # 1 SMP x86_64 x86_64 x86_64 GNU/Linux, a ja mam zadanie cron, które zostaje zgrane po dokładnie 30 sekundach czasu, pomimo jego procesora czas krótszy niż 16 sekund:
[Tuesday, 10-Dec-2013 10:22:33 GMT] Begin, cputime=0 secs.
[Tuesday, 10-Dec-2013 10:22:58 GMT] starting zip_close, cputime=10.12946 secs.
[10-Dec-2013 10:23:03 UTC] PHP Fatal error: Maximum execution time of 30 seconds exceeded in xxx.php on line 149
To zaprzecza odkryciu Kuby. Mój jest PHP 5.3.26 i IU'm mierzy czas procesora z:
function cputime() {
$data = getrusage();
return $data['ru_utime.tv_sec'] + $data['ru_utime.tv_usec']/1000000;
Czy ktoś może wyjaśnić dalej?
Ale chodzi mi o to, że jestem pod Linuksem i wydaje mi się, że używałem miarki czasu, która upłynęła. – user3000292