Eroarea 500 înseamnă că serverul a încercat să construiască pagina și s-a oprit la jumătate. La WordPress, aceeași problemă apare ca o pagină albă sau ca mesajul „A apărut o eroare critică pe acest site”. Aproape mereu, cauza e scrisă în jurnalul de erori PHP, pe care îl citești din Enhance.
Ce vei reuși
- găsești în jurnal rândul care spune ce s-a stricat;
- repari cele mai dese cauze:
.htaccess, versiunea PHP, memoria, un plugin; - știi cum te întorci rapid la o versiune care mergea, din backup.
Înainte să începi
- Intră în Enhance la https://server.nbt-host.com, apoi „Websites” » site-ul.
- Gândește-te ce s-a schimbat chiar înainte: o actualizare, un plugin nou, un fișier urcat, altă versiune PHP. De cele mai multe ori, acolo e cauza.
Pașii
1. Citește jurnalul de erori PHP
- Pe pagina site-ului, deschide fila „Developer tools” (pe un ecran îngust, e în meniul „Advanced”).
- Pe cardul „PHP”, deschide
php-error.log. - Uită-te la ultimele rânduri, cele cu ora la care ai văzut eroarea. Cele importante încep cu „PHP Fatal error” sau „PHP Parse error” și numesc fișierul și rândul, de exemplu
/wp-content/plugins/nume-plugin/…. Numele folderului îți spune vinovatul.
2. Un plugin sau o temă (WordPress)
Dacă jurnalul arată spre un folder din wp-content/plugins/ sau wp-content/themes/:
- În fila „Apps”, deschide pagina WordPress a site-ului.
- La „Plugins”, apasă „Deactivate” la pluginul din jurnal. Nu trebuie să intri în WordPress.
- Reîncarcă site-ul. Dacă merge, caută o versiune nouă a pluginului sau înlocuiește-l.
Dacă nu știi care e, dezactivează-le pe cele actualizate sau instalate ultimele, pe rând. Ca să urmărești eroarea direct în WordPress, poți porni temporar WP_DEBUG și WP_DEBUG_LOG la „Debug” (vezi Actualizări și securitate WordPress în Enhance); oprește-le după.
3. Un .htaccess cu reguli de la alt server
După o mutare, .htaccess-ul vechi poate avea blocuri „cPanel-generated” sau un AddHandler / SetHandler pentru o versiune PHP a vechiului host. Aici nu merg și dau 500 pe tot site-ul.
- Fila „Files” »
public_html, clic dreapta pe.htaccess» „Rename” ».htaccess-vechi. - Reîncarcă site-ul. Dacă merge, scoate din fișierul vechi blocurile cu
AddHandler,SetHandlersauphp_valueși pune-l la loc. La WordPress, un.htaccesscurat îl refaci din Settings » Permalinks » Save Changes.
php_value și php_flag din .htaccess nu se folosesc aici: setările PHP le pui în „php.ini editor” (vezi Versiunea PHP și setările PHP).
4. Versiunea PHP
Un site vechi poate să nu meargă pe PHP 8.2, 8.3 sau 8.4; un site nou poate cere una mai nouă decât cea aleasă. În jurnal vezi de obicei „Call to undefined function” sau „syntax error”.
- „Developer tools” » „PHP”: încearcă altă versiune din listă și confirmă cu „Update”.
- Dacă ai schimbat versiunea chiar înainte de eroare, revino la cea veche.
5. Memoria sau timpul de rulare
Mesajul „Allowed memory size of … bytes exhausted” sau „Maximum execution time … exceeded” înseamnă că scriptul a avut nevoie de mai mult decât permite setarea. În „php.ini editor” ridică memory_limit (de exemplu la 512M) sau max_execution_time, apoi „Restart” în dreptul titlului „PHP” (vezi Versiunea PHP și setările PHP).
6. Te întorci la o versiune care mergea
Dacă nu găsești cauza și site-ul trebuie să meargă acum, restaurează-l dintr-o copie de dinainte de problemă: fila „Backups” » „Restore” » „Full website” (vezi Backup și restaurare din Enhance). Ce ai schimbat după ora copiei se pierde. Restaurarea o putem face și noi, gratuit, dintr-o copie din ultimele 7 zile.
Dacă ceva nu merge
- Jurnalul e gol. Eroarea nu vine din PHP: de obicei e
.htaccess-ul (pasul 3) sau permisiunile unui folder. Verifică și dacă te uiți la site-ul corect. - Eroarea apare doar uneori, la ore de vârf. Site-ul poate atinge limita de procese PHP simultane a planului. Scrie-ne: ne uităm la încărcare și îți spunem dacă ajută un cache sau un plan mai mare.
- După restaurare eroarea revine. Ceva se reactivează singur, de exemplu o actualizare automată a unui plugin. Oprește-i actualizarea automată până găsești o versiune bună.
- Nu te descurci cu jurnalul. Trimite-ne ultimele rânduri din
php-error.log(fără parole) și adresa paginii.
