Indianerversteher: max_execution_time = 1200 -- Besser: als Job batchen

Beitrag lesen

max_execution_time = 1200

Das sind 20 Minuten!

Ist Dir bewusst, dass auch ein großzügig konfigurierter Apache nur eine begrenzte Anzahl solcher Prozesse bearbeiten kann? Sind alle Kinder vollbeschäftigt kann der Indianer keine neuen Requests mehr annehmen.

Zur Vermeidung von DoS-Attacken würde ich eine solche Einstellung vermeiden (ggf. nur für bestimmte, nicht wirklich öffentliche Verzeichnisse setzen -> .user.ini. Oder eben den eigentlichen, langdauernden Prozess mit etwas wie

$tmpfile = trim(`mktemp`);
$job   = intval(`echo "foo.sh -k bar > $tmpfile" | batch; atq | tail -n1`);

auslagern und schauen wie ich den Nutzer nach Abarbeitung informiere (zb. per mail)

  • Vorausetzungen: Dazu muss das Paket 'at' installiert sein.
  • Literatur: man batch
post_max_size = 16M
upload_max_filesize = 32M

Ohnehin stellt sich also die Frage, was ein Server ganze 20 Minuten lang mit nur 16 bzw. 32 Megabyte Daten machen soll...