Real max_execution_time para PHP no linux

De acordo com a documentação:

<code>max_execution_time only affect the execution time of the script itself. 
Any time spent on activity that happens outside the execution of the script
such as system calls using system(), stream operations, database queries, etc.
is not included when determining the maximum time that the script has been running.
This is not true on Windows where the measured time is real.
</code>

Isto é confirmado por testes:

Não vai tempo limite

<code><?php
set_time_limit(5);
$sql = mysqli_connect('localhost','root','root','mysql');
$query = "SELECT SLEEP(10) FROM mysql.user;";
$sql->query($query) or die($query.'<br />'.$sql->error);
echo "You got the page";
</code>

O tempo limite

<code><?php
set_time_limit(5);
while (true) {
  // do nothing
}
echo "You got the page";
</code>

Nosso problema é que realmente gostaríamos que o PHP atingisse o tempo limite, independentemente do que estivesse fazendo, após um determinado período de tempo (já que não queremos manter os recursos ocupados se soubermos que falhamos ao entregar uma página em uma quantidade aceitável de tempo, como 10 segundos). Sabemos que podemos brincar com configurações como oMySQL wait_timeout para as consultas SQL, mas o tempo limite da página dependerá do número de consultas que são executadas.

Algumas pessoas tentaram proporsoluções alternativas e não parece implementável.

Q: Existe uma maneira fácil de obter uma verdadeiraPHP max_execution_time no linux, ou é melhor cronometrar em outro lugar, comoApache nível?

questionAnswers(3)

yourAnswerToTheQuestion