Apache a observat că Apache a prins SIGTERM, închizând scriptul php loop (Programare, Php, Apache, Plesk, Eroare Internă A Serverului, Mediatemple)

Jean-philippe Emond a intrebat.

Am un DV 4.0 de la MediaTemple.

Am primit o „eroare internă de server 500” când am rulat un script de fișier php care trebuie să se bucle un timp peste 5000 de ori.

Codul pare să fie pentru că atunci când execut cu o buclă de timp 200, rezultatul este tipărit.

meu „max_input_time”, „max_execution_time”, „default_socket_timeout” și toți ceilalți parametri php nu sunt problema (cred, toate sunt setate la 9000 și memory_limit este -1)

Am obținut următorul lucru:

[Sat Jan 11 19:25:22 2014] [notice] caught SIGTERM, shutting down

Este din cauza repornirii apache. Întrebarea mea este: cum pot să fac o buclă de peste 5000 de ori în scriptul meu fără să îmi blochez sistemele 😉

Vă mulțumesc

Comentarii

  • „DV 4.0” este un server de tip openVZ? Verificați „cat /proc/user_beancounters” pentru limite de resurse. –  > Por Oleg Neumyvakin.
1 răspunsuri
Selay

Întrebarea ta este cum să faci o buclă de mai mult de 5000 de ori.

Bucla de 5000 sau 500000000 ori nu este problema. Aveți o problemă în altă parte.

SIGTERM este folosit pentru a reporni Apache (în cazul în care este configurat în init să repornească automat): http://httpd.apache.org/docs/2.2/stopping.html

Intrarea de jurnal pe care o vedeți ar trebui să fie acolo pentru că SIGTERM este în acest scop. Poate că Apache nu se blochează, dar datele dvs. au o problemă sau nu mai are timp de execuție.

Ar putea fi vorba de un modul sau un cod PHP personalizat. Aruncați o privire la jurnalele de acces/eroare ale apache în momentul defecțiunii. Nu uitați să activați jurnalizarea erorilor. Acesta vă poate ajuta să identificați ce nu merge bine. Este activată? ACTIVAȚI ÎNTOTDEAUNA RAPORTAREA ERORILOR DACĂ SUNTEȚI ÎN MODUL DEV!!!

Dacă se blochează cu adevărat, nici măcar nu servește conținut static, atunci sună ca un fel de problemă de epuizare a firelor/conexiunilor. Totuși, se pare că în codul tău este ceva în neregulă și suprimi erorile.

Dacă ești sigur că nu e nimic în neregulă pe partea ta/codul tău (dacă rulează pe alt sistem), s-ar putea să fie nevoie să reinstalezi apache și php și se va rezolva că a existat vreun fișier corupt sau că l-ai configurat greșit.