Ce înseamnă eroarea 504 Ce înseamnă eroarea „504 Gateway Time-out” și cum se rezolvă problema

Timeout gateway eroare 504- acesta este unul dintre coduri stări HTTP, pe care serverul îl poate returna dacă nu a putut finaliza procesarea cererii. Deși această eroare este mai puțin frecventă decât gateway-ul 502 prost, toată lumea a întâlnit-o. macar, de câteva ori în timp ce navigați pe internet. Acest ghid va acoperi ce este o eroare 504 și cum să o remediați.

Când vizitați orice site web, acesta generează solicitări și le trimite către serverele web care stochează elementele necesare. De fiecare dată când o solicitare este procesată, serverul trimite înapoi un cod de stare HTTP cu resursele solicitate. În mod implicit, codul de stare HTTP nu este afișat până când ceva nu merge bine.

Ce este o eroare 504 Gateway Timeout?

Codurile de stare HTTP care încep cu un număr 5 , sunt erori pe partea serverului. Acestea apar atunci când o solicitare nu poate fi finalizată din cauza unei erori de comunicare între mai multe servere.

Timeout gateway eroare 504 este un cod de stare HTTP care apare atunci când un server nu primește un răspuns în timp util de la un alt server care acționează ca gateway sau proxy. În termeni simpli, acest lucru înseamnă că serverul nu a putut finaliza solicitarea dvs perioada specificata timp.

Timeout gateway eroare 504 poate avea și alte formulări, de exemplu:

504 Gateway Timeout nginx Gateway Timeout Error Eroare HTTP 504 504 Gateway Timeout – Serverul nu a răspuns la timp Eroare HTTP 504 – Gateway Timeout

Cum se remediază eroarea 504 Gateway Timeout

În cele mai multe cazuri, cauza gateway-ului 504 este eroarea de a nu răspunde vine din partea serverului, cu toate acestea, acestea pot apărea și din cauza unor probleme sau configurații incorecte din partea utilizatorului. Astfel, vom lua în considerare principalii pași de depanare, ținând cont de ambele opțiuni. Unele soluții sunt potrivite pentru WordPress, dar cele mai multe dintre ele pot fi aplicate pe orice site.

1. Reîmprospătați pagina

Primul pas în rezolvarea erorii de expirare a gateway-ului 504 este cel mai simplu. Așteptați câteva minute și reîmprospătați pagina. Este posibil ca serverul să fi primit la un moment dat mai multe solicitări decât de obicei și să nu le poată procesa.

În timp ce așteptați, puteți folosi instrument online verificați dacă site-ul web este oprit (verificați dacă site-ul este oprit). Acest mod bun Determinați dacă problema este legată de rețeaua locală.

2. Încercați un alt browser

Dacă site-ul este online, dar încă vedeți eroarea de expirare a gateway-ului 504, încercați să schimbați browserul cu altul. sau folosiți modul incognito, acest lucru vă poate ajuta și să determinați dacă problema este legată de browser.

3. Goliți memoria cache DNS

Eroarea de timeout gateway 504 poate fi uneori rezultatul unui cache DNS incorect, învechit, dar nu este dificil de șters. Metoda de curățare depinde de dvs sistem de operare. Iată un ghid despre cum să ștergeți memoria cache DNS pe Windows, Linux și Mac OS.

Comutați temporar servere DNS pe Google Public DNS, aceasta vă va ajuta să determinați dacă a apărut un cod de stare HTTP de Motivul DNS Probleme. Cu toate acestea, recomandăm această opțiune pentru utilizatorii mai experimentați.

4. Testați pe diferite dispozitive

Încercați să încărcați site-ul în diferite calculatoare, V rețele diferite sau la dispozitive mobile. Dacă niciuna dintre cele de mai sus nu a ajutat la remedierea erorii de expirare a gateway-ului 504, acest pas vă va ajuta să determinați dacă problema este de pe partea serverului sau locală.

Eroarea de expirare a gateway-ului 504 poate fi cauzată și de modificări sau actualizări recente ale site-ului. Cel mai drumul rapid detecție - verificați jurnalul de erori pentru indicii. Utilizatorii WordPress pot activa înregistrarea erorilor adăugând aceste linii în fișier wp-config.php:

Define("WP_DEBUG", adevărat); define("WP_DEBUG_LOG", adevărat); define("WP_DEBUG_DISPLAY", false);

Acum toate variantele de eroare care apar vor apărea în fișier wp-contents/debug.log.

6. Verificați pluginurile

Când căutați cauza erorii de expirare a gateway-ului 504, se recomandă să acordați atenție pluginurilor și extensiilor site-ului dvs. În WordPress, pluginurile legate de stocarea în cache pot fi vinovate. Pluginurile vechi sau incompatibile pot cauza, de asemenea, probleme. Dezactivarea temporară a tuturor pluginurilor vă va informa dacă merită să explorați mai departe în această direcție.

Pentru a opri pe toată lumea Pluginuri WordPress du-te la director wp-conținut, da catalogul pluginuri alt nume.

Dacă site-ul dvs. a început să funcționeze bine după dezactivarea tuturor pluginurilor, atunci următorul pas este să descoperiți pluginul care ar putea cauza erori HTTP 504. Întoarcerea la catalog pluginuri numele său original și acum încercați să dezactivați fiecare plugin pe rând.

7. Verificați CDN-ul

Dacă utilizați un CDN pentru a primi conținut mai rapid, asigurați-vă că verificați dacă totul este în ordine pe această parte. Cel mai frecvent caz este CloudFlare, care funcționează ca un CDN și un serviciu de atenuare a DDoS. Când îl utilizați, este posibil să întâlniți două tipuri de erori de expirare a gateway-ului 504.

Această versiune a erorii 504 apare atunci când problema apare pe partea CloudFlare. Cel mai cea mai bună soluție va contacta asistența CloudFlare sau îl va dezactiva. Cu toate acestea, dacă îl dezactivați, actualizarea DNS-ului dvs. poate dura câteva ore.

Versiunea prezentată mai sus înseamnă că problema a apărut din partea furnizorului de găzduire.

8. Modificați setările serverului

Dacă utilizați , mai există câteva lucruri pe care le puteți încerca să remediați eroarea de expirare a gateway-ului 504. Acestea vor consta în modificarea setărilor serverului și creșterea limitelor unor resurse.

Apache

Utilizatorii Apache pot crește valoarea pauză implicit în fișier httpd.conf. De exemplu:

# Timeout: numărul de secunde înainte de expirarea timpului de primire și trimitere. Timeout 600

De asemenea, crește limita timp_max_execuție V php.ini poate avea un efect pozitiv:

Timp_max. de execuție 300

Salvați modificările și reporniți apache, apoi verificați. Eroarea de expirare a gateway-ului 504 ar trebui să dispară dacă a fost cauzată de o valoare de expirare a cererii insuficientă.

Nginx

Dacă VPS-ul dvs. folosește Nginx, încercați să creșteți acești parametri în fișier /etc/nginx/conf.d/timeout.conf:

Proxy_connect_timeout 600; proxy_send_timeout 600; proxy_read_timeout 600; send_timeout 600;

Timp_max. de execuție 300

După salvarea modificărilor, reporniți Nginx și încercați să vă deschideți din nou site-ul.

9. Contactați asistența

În cazul unei erori persistente de expirare a gateway-ului 504 după parcurgerea tuturor pașilor de mai sus, se recomandă să contactați asistența pentru găzduire. Încercați să descrieți ce pași ați urmat pentru a identifica cauza erorii și pentru a o rezolva și furnizați cât mai multe informații posibil. mai multe informatii, acest lucru va accelera semnificativ procesul.

concluzii

În acest ghid am acoperit etape generale pentru a rezolva problema legată de eroarea de timeout gateway 504. Dacă ai propriile tale trucuri, sfaturi sau solutii suplimentare pentru a rezolva acest cod de stare HTTP, anunțați-ne în comentarii!

Deci, pe site-ul nostru web am întâlnit eroarea 504 Gateway Time-out și nu știm ce să facem. În acest post voi încerca să descriu un algoritm complet de acțiuni pentru a rezolva această problemă, precum și să spun despre motivele apariției acesteia. Urmăriți tăietura!

Deci, hai să continuăm. Mai întâi, să aflăm ce fel de cod de eroare HTTP este acesta sau, mai degrabă, ce înseamnă? 504 - eroarea cinci sute a patra, cunoscută și sub numele de Timeout Gateway, sau mai degrabă, în rusă sună cam așa: „Timpul de trecere prin gateway a expirat”. Codul înseamnă că serverul, când lucra ca gateway extern sau server proxy, nu a primit un răspuns în timp util de la serverul backend din amonte pe care l-a contactat când a încercat să îndeplinească cererea.

Din această eroare vă puteți imagina cu ușurință organizarea internă a serverului dvs. web. Aceasta este în mod clar o combinație de două servere web în care unul acționează ca front-end (server frontal) și al doilea ca backend (server din spate). Și cel mai probabil, acest lucru se întâmplă în 99% din cazuri, web-ul este instalat serverul nginx, care acționează ca un front-end și are, de asemenea, un server Apache ca backend. Nginx își asumă rolul de distribuție server proxyși furnizează date statice (imagini, fișiere), iar apache, împreună cu PHP, procesează dinamica, iar MySQL este, de asemenea, în apropiere. Și obțineți eroarea 504 Gateway Time-out de la nginx.

Oricum, să ne întoarcem la afaceri. Situația este foarte clară! În timpul alocat, serverul nginx pur și simplu nu așteaptă un răspuns de la apache și vă informează despre acesta. Acestea. Există supraîncărcări clare pe partea „internă” a backend-ului. O altă întrebare este ce anume cauzează aceste supraîncărcări și de ce apache nu are timp să răspundă la timp? Aceasta este o întrebare diferită. Nu este atât de ușor să vă dați seama că trebuie să vă uitați la jurnalele serverului. Ei bine, este clar că cineva este supraîncărcat. Fie rularea scriptului durează mult, fie DBMS-ul nu are timp să proceseze multe solicitări, ceea ce apropo se întâmplă cel mai des, deoarece conectorul cu DBMS este cel mai slab punct. În general, al tău server intern nu are timp să execute scriptul la timp, sau mai degrabă durează mult timp pentru a executa, iar nginx nu vrea să aștepte și se grăbește să vă dea o eroare 504. Este, de asemenea, clar de ce Apache nu rulează la timp, fie că există o mulțime de solicitări din exterior și nu există suficiente resurse de server (acest lucru poate fi aflat din contorul de trafic al site-ului), fie scriptul care se execută este foarte greu.

În general, nu vorbim despre asta acum, ci despre cum să facem față erorii 504 Mulți webmasteri sunt destul de mulțumiți de faptul că pagina este generată în câteva minute, poate că merită.

În general, mai aproape de subiect, sarcina noastră este să îi spunem serverului nginx să aștepte mai mult răspunsul de la apache și să nu se grăbească să dea clientului o eroare 504. Totul este simplu! Normal că trebuie să ai acces root pe serverul tău, oh gazduire virtuala oh, nici nu o voi spune. În general, mergem la serverul nostru, chiar și prin protocolul ssh din terminal și mergem la folderul cu fișierele de configurare a serverului nginx. Voi spune imediat că se schimbă de la o versiune la alta și, prin urmare, nu pot spune exact ce fișier va fi. În plus, încă depinde de modul în care rulează nginx și de cine l-a configurat pentru tine. În linii mari, avem nevoie de fișierul actual de setări a serverului nginx. Poate că va fi chiar nginx.conf, așa cum ar trebui să fie în general.

Accesați fișierul de setări condiționate gazde virtuale server nginx situat la: /etc/nginx/nginx.conf

Aici putem fie să căutăm directivele deja instalate (dacă există), fie să le adăugam manual. Puteți să-l adăugați în mod natural atât pentru toate gazdele, cât și pentru fiecare anume, nu contează. În general scriem următoarele:

Proxy_send_timeout 60; # timp de așteptare la trimiterea unei cereri proxy_read_timeout 60; # timeout la citirea răspunsului

Aceste directive sunt necesare pentru a modifica timpul de expirare. Este mai bine să introduceți locația. Am prins cam asa:

Server ( ascultă xxx.xxx.xxx.xxx:80; # adresa IP a serverului și portul de ascultare nume_server someserver.loc; # rescrie numele serverului ^(/manager/.*)$ https://$gazdă$1 permanent; pagina_eroare 404 = @fallback; # Următoarele sunt două linii care trebuie adăugate proxy_send_timeout 600 # timp de așteptare la trimiterea unei cereri proxy_read_timeout 600 # timp de așteptare la citirea unei locații de răspuns / ( proxy_pass http://xxx.xxx.xxx.xxx; ; # protocol și adresa serverului proxy, precum și un URI opțional în care trebuie afișată proxy_redirect http://sitename.loc:8080/ / # text care trebuie schimbat în „Locație” și „; Actualizează câmpurile de antet din răspunsul serverului proxy_set_header Gazdă $ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for X-Real-IP $remote_adr;

Apoi, salvați fișierul de configurare și reporniți serverul nginx. Acum va aștepta un răspuns de la apache exact cât ați specificat în directivele adăugate și nu conform valorii implicite. Cred că este clar că stabilești singur ora, orice vrei. Asta e, acum eroarea 504 Gateway Time-out nu te va deranja. Este clar că acesta este doar vârful aisbergului și va trebui să te ocupi de motivul generării lungi de pagini, dar acesta este un alt subiect. De asemenea, poate fi necesar să setați un timeout mai mare pentru PHP, altfel acesta poate începe să înjure, spunând că nu îi acordă suficient timp pentru procesare. Pentru a face acest lucru, folosim directivele PHP max_input_time și max_execution_time din fișier setări PHP- php.ini sau într-un fișier setari locale Server Apache - .htaccess

Eroarea numărul 504 este cea mai frecventă dintre site-urile de pe Internet. În marea majoritate a cazurilor, utilizatorii văd inscripția „504 Gateway Time-out (time out)” pe un fundal alb și părăsesc site-ul fără a înțelege motivele pierderii funcționalității resurselor. Este mult mai neplăcut pentru proprietarii de site-uri să vadă codul 504, mai ales dacă nu se știe ce a cauzat eroarea și ce trebuie făcut pentru a o remedia.

Eroarea 504 înseamnă că serverul pe care se află site-ul nu are timp să proceseze cererea și să returneze un răspuns HTTP utilizatorului în limita de timp specificată. Cel mai adesea, această situație apare atunci când serverul este sub sarcină grea: incapabil să proceseze toate cererile în timp util, serverul încheie conexiunile neprocesate după expirarea limitei de timp stabilite. Dacă se întâmplă acest lucru, în loc să încarce site-ul, utilizatorul vede o eroare „504 Gateway Time-out” pe pagină.

Partea tehnică a problemei

În marea majoritate a cazurilor, apare problema cu codul 504:

  • dacă Apache este instalat pe server ca backend;
  • În același timp, nginx este instalat ca frontend.

Această combinație generează cel mai adesea o eroare 504 cu nota Gateway Time-out. În această combinație, nginx acționează ca un distribuitor de solicitări ale utilizatorilor, iar ei merg mai întâi la el, și nu direct la Apache. Și dacă, din cauza încărcării mari, serverul Apache nu a putut să răspundă la timp, nginx va trimite utilizatorului un răspuns corespunzător sub forma unui cod 504.

Ce cauzează apariția erorii 504?

Apariția erorii 504 este tipică pentru serverele Apache sub sarcină grea. Astfel de servere au o particularitate: atunci când sosesc un număr mare de solicitări, nu au timp să proceseze. Tuturor utilizatorilor ale căror browsere nu au primit un răspuns HTTP de la server li se va afișa o eroare 504 Gateway Time-out.

Când se confruntă cu o problemă de încărcare mare, Apache nu începe imediat să returneze un cod 504. În primul rând, toate cererile care nu pot fi procesate acum sunt puse în coadă. Dacă se depășește limita de timp pentru așteptarea unui răspuns HTTP, conexiunea este întreruptă și numai atunci apare o eroare. Din partea utilizatorului, site-ul va încerca să se încarce pentru câteva secunde, dar încărcarea efectivă nu începe deoarece serverul nu răspunde.

Eroare pe partea de script

Uneori, codul „504 Gateway Tme-out” nu este cauzat de încărcare excesivă, dar setare incorectă scripturi de pe site. Orice script i se alocă o anumită perioadă de timp pentru execuție. În practică, din mai multe motive, acest timp poate să nu fie suficient pentru scenariu.

De obicei, scripturile nu au suficient timp pentru a se încărca dacă sunt localizate pe un server terță parte. La rândul lor, astfel de servere sunt foarte adesea ele însele sub o sarcină enormă (datorită faptului că sute și mii de site-uri încarcă utilizatorii de fiecare dată când vizitează cod specific). Dacă timpul alocat expiră și scriptul tot nu primește un răspuns de la server, se poate produce și o eroare 504.

O întârziere în execuția scripturilor pe site poate fi cauzată de alte motive:

  1. Dacă scriptul necesită resurse externe pentru a funcționa(de exemplu, o bază de date pe un server terță parte), care este activată acest moment nu este disponibil.
  2. Dacă scriptul nu funcționează direct, dar stabilește o conexiune printr-un server proxy. Dacă serverul proxy nu este disponibil sau timpul de expirare a răspunsului este depășit, scriptul va emite și un cod 504.
  3. Scriptul descarcă date de pe servere terțe care sunt momentan indisponibile.

Cum se rezolvă problema 504

Secvența exactă a acțiunilor pentru rezolvarea problemei depinde de ceea ce a dus exact la eroare. Dacă motivul este prea incarcatura grea la server, puteți încerca următoarele acțiuni:

  1. Încercați să determinați principalele surse de încărcare de pe server. Trebuie să găsiți ce solicitări durează cel mai mult pentru procesare și să conducă la o coadă și o eroare 504 ulterioară și să optimizați aceste locuri.
  2. Optimizați toate scripturile. Este de dorit ca scripturile încărcate de site să fie situate fizic pe același server ca și site-ul în sine, sau cel puțin într-un spațiu fizic aflat sub controlul proprietarului site-ului. Dacă optimizați scripturile, ajustați timpul de execuție al acestora și alocați resursele serverului necesare pentru aceasta, eroarea 504 nu va mai apărea din cauza scripturilor.
  3. Poți merge pe calea ușoară: doar crește resursele serverului, dacă este posibil. Creșterea memoriei RAM, a numărului de procese Apache httpd și a altor măsuri de performanță va avea ca rezultat serverul să aibă din nou suficiente resurse pentru a finaliza cererile. Adevărat, o astfel de soluție poate fi doar o măsură temporară și, pe măsură ce sarcina crește, lipsa unei optimizări adecvate se va manifesta din nou.

Dacă un site cu trafic destul de mare (sau care necesită multe resurse) se află pe o găzduire partajată obișnuită, capacitatea pur și simplu poate să nu fie suficientă. Unii hosteri trimit clienților lor notificări despre depășirea încărcăturii permise, alții nu. Ar trebui să vă uitați la jurnalele și să solicitați informatie necesara O suport tehnic gazduire. Este foarte posibil ca totul să fie în regulă cu site-ul, doar că, din cauza creșterii traficului, este timpul să trecem la VPS, VDS și alte tarife și servicii cu resurse semnificativ mai mari.

Video

Din videoclip veți învăța cum să remediați singur eroarea „504 Gateway Time-out (time out)”.

Nu ai primit răspuns la întrebarea ta? Propuneți autorilor un subiect.

Error 504 Gateway Timeout - cauze și soluții - 4,6 din 5 pe baza a 15 voturi

Eroare 504 - ce înseamnă, de ce apare și cum să scapi de ea, aceste puncte sunt discutate în detaliu în acest articol. Sper că, după ce le-ați citit, veți putea face anumite acțiuni și veți scăpa de această eroare care apare pe site-ul dvs.

Ce înseamnă eroarea 504?

Eroare 504 Gateway Timeout înseamnă că expirarea gateway-ului a expirat. Utilizatorul poate vedea acest cod erori în cazul în care serverul, lucrând ca server proxy sau gateway, a contactat un server mai înalt în ierarhie cu o solicitare, dar nu a primit un răspuns la timp.

Serverele care au Apache instalat ca backend și nginx ca interfață generează cel mai adesea acest cod de eroare. Lucrarea utilizatorului cu serverul are loc conform următorului plan: clientul trimite o cerere către server, care nu merge direct la Apache, ci este trimisă prin nginx (acesta este ceva ca un distribuitor de solicitări). Dacă acesta din urmă nu a putut primi un răspuns de la Apache într-o perioadă de timp stabilită, trimite clientului un mesaj de eroare de server 504 (Gateway Timeout) în loc de rezultatul necesar.

Motivele erorii

Lipsa resurselor pe server din cauza încărcării grele.

Serverul Apache are o caracteristică nu foarte plăcută - sub sarcină grea și lipsă de resurse, nu are timp să proceseze un numar mare de solicitări și furnizați răspunsuri http la acestea în timp util. În acest fel, cererile clienților sunt puse în coadă și când expiră termenul limită pentru primirea unui răspuns, acestea sunt eliminate fără nimic. Ca rezultat, utilizatorul vede un cod de eroare 504 (Gateway Timeout) pe pagina browserului.

Trebuie remarcat faptul că o sarcină mare nu se datorează întotdeauna un numar mare vizitatori, dar acest lucru nu este neobișnuit. Puteți consulta articolul „”, unde cauzele încărcării sunt discutate mai detaliat.

Erori făcute în scripturi.

Un alt motiv pentru care apare această eroare sunt erorile din scripturile executabile. De regulă, este alocat o anumită perioadă de timp pentru execuția scriptului, dar în unele cazuri acest timp nu este suficient. Acest lucru se întâmplă adesea când accesează scriptul către un server terță parteși nu reușește întotdeauna să trimită o cerere și să primească un răspuns în termenul alocat și, ca urmare, produce o eroare.

Puteți selecta următoarele motiveîntârzieri de execuție a scriptului:

1. Scriptul încearcă să acceseze bază externă date, accesul la care, din diverse motive, este imposibil în prezent.

2. Scriptul încearcă să obțină de la server date care nu sunt disponibile în prezent (un exemplu ar fi funcționarea diferitelor widget-uri meteo, cursuri de schimb etc.)

3. Scriptul încearcă să stabilească o conexiune printr-un server proxy, care este momentan indisponibil și nu poate procesa cererea.

Modalități de a rezolva eroarea 504

Să ne uităm la câteva cazuri comune și să încercăm să înțelegem cum să remediați eroarea 504.

Dacă eroarea apare din cauza încărcării serverului, atunci în primul rând trebuie să urmați următorii pași:

1. Optimizați serverul.

2. Optimizați scripturile.

3. Creșteți resursele disponibile serverului (numărul de procese httpd (Apache), RAMși așa mai departe.)

4. Dacă resursa se află pe găzduire partajată, ar trebui să luați în considerare schimbarea plan tarifar sau cumpărați un server virtual dedicat. Pe găzduirea partajată simplă, doar administratorii furnizorului de găzduire pot îmbunătăți situația. Deoarece acest lucru se poate datora acțiunilor lor sau acțiunilor managementului furnizorului de găzduire ca urmare a plasării prea multor conturi pe un singur server. În cazul inacţiunii lor cea mai bună opțiune va schimba complet furnizorul de găzduire.

Dacă aveți nevoie de găzduire virtuală de înaltă calitate, puteți acorda atenție unui furnizor de găzduire care oferă acest serviciu de bună calitate.

Dacă bănuiți că scripturile funcționează:

Este necesar să se verifice funcționalitatea resurselor pe care le accesează scripturile. De foarte multe ori problema constă tocmai în ei.

Merită să verificați în ce perioadă de timp sunt executate scripturile și dacă se încadrează în limita alocată. Dacă este necesar, atunci Fișier de configurare php.ini trebuie să crească valoarea php_max_execution_time. Acest parametru determină timpul de execuție al scriptului, de obicei 30 de secunde, dacă este necesar îl puteți seta la 60.

A fost primit un mesaj - eroarea 504. Aceasta indică faptul că gateway-ul a durat mult să răspundă sau sa terminat prematur.

Cauzele erorilor 504.

Să ne uităm la principalele motive. Aceasta ar putea fi o lipsă de memorie RAM pe server, probleme cu scripturile de pe site-ul dvs., probleme de configurare etc. Motivul elementar pentru apariția erorii 504 este supraîncărcarea serverului, în urma căreia se creează o coadă de solicitări. . Din cauza așteptării în coadă, cererea nu ajunge pentru procesare în timpul alocat și este respinsă.

Schimbarea site-ului pentru site va ajuta la rezolvarea problemei doar pentru o perioadă. O recomandare urgentă este să începeți optimizarea (, scripturi, interogări SQL). De asemenea, ar trebui să vă gândiți la creșterea resurselor serverului și la căutarea unei alte găzduiri. Este recomandat să contactați serviciul dvs. de consultanță pentru găzduire. Dar este mai bine să faceți acest lucru după optimizarea scripturilor site-ului.

Dacă resursa în sine nu conține erori sau dacă hosterul nu rezolvă problema, nu ezitați să căutați un alt site.

Soluție de eroare.

Dar acestea sunt sarcini mai globale. Între timp, încercați să măriți timpul de așteptare și de execuție pentru un număr de scripturi. Acest lucru va ajuta la eliminarea notoriei erori 504. În mod implicit, timpul de execuție din setările serverului este setat la 30 de secunde.

Pentru a o mări, puteți folosi set_time_limit. Nu este întotdeauna posibil să utilizați această schemă din cauza limitărilor de găzduire. Dacă PHP rulează în așa-numitul modul sigur, atunci trebuie să măriți timpul de rulare a scriptului în configurația php (funcția max_execution_time). Când nu puteți elimina interdicția de a folosi set_time_limit, încercați să rulați această funcție(execuție_max.). În cele din urmă, puteți crește timpul de rulare a scriptului în configurația serverului. Pentru a face acest lucru, scrieți următoarele:

  • proxy_send_timeout 60; (se așteaptă procesul de transfer);
  • proxy_read_timeout 60; (se așteaptă procesul de citire).

Setăm 60 s (120) în loc de 30 s implicit.

Dar este posibil ca hosterul să nu facă astfel de modificări din cauza consumului crescut de resurse. Este posibil ca capabilitățile serverului să nu aibă suficiente resurse pentru a finaliza sarcinile scriptului. Pentru solutii această problemăși eliminând eroarea, va trebui să creșteți memoria RAM și să creșteți numărul de procese server httpd (Apache). Dar acestea sunt sarcini de găzduire. Sperăm că recomandările noastre vă vor fi utile în munca dumneavoastră.