Error 500 berarti server sudah mencoba membuat halaman, tetapi berhenti di tengah jalan. Di WordPress, masalah yang sama muncul sebagai halaman putih atau pesan “Terjadi galat kritis di situs ini” (dalam bahasa Inggris: “There has been a critical error on this website”). Hampir selalu, penyebabnya tercatat di log error PHP, yang bisa Anda baca dari Enhance.
Yang akan Anda capai
- menemukan baris di log yang menunjukkan apa yang rusak;
- memperbaiki penyebab yang paling sering:
.htaccess, versi PHP, memori, plugin; - tahu cara cepat kembali ke versi yang masih berfungsi, dari backup.
Sebelum memulai
- Masuk ke Enhance di https://server.nbt-host.com, lalu “Websites” » website Anda.
- Ingat-ingat apa yang berubah tepat sebelumnya: update, plugin baru, file yang diunggah, versi PHP lain. Sering kali, penyebabnya ada di situ.
Langkah-langkah
1. Baca log error PHP
- Di halaman website, buka tab “Developer tools” (di layar sempit, tab ini ada di menu “Advanced”).
- Di kartu “PHP”, buka
php-error.log. - Lihat baris-baris terakhir, yang jamnya sesuai saat Anda melihat error. Baris yang penting diawali “PHP Fatal error” atau “PHP Parse error” dan menyebutkan file serta barisnya, misalnya
/wp-content/plugins/nume-plugin/…. Nama folder itu menunjukkan penyebabnya.
2. Plugin atau tema (WordPress)
Jika log mengarah ke folder di wp-content/plugins/ atau wp-content/themes/:
- Di tab “Apps”, buka halaman WordPress milik website Anda.
- Di “Plugins”, klik “Deactivate” pada plugin yang disebut di log. Anda tidak perlu masuk ke WordPress.
- Muat ulang website. Jika sudah normal, cari versi baru plugin tersebut atau ganti dengan plugin lain.
Jika tidak tahu plugin mana, nonaktifkan satu per satu plugin yang terakhir di-update atau diinstal. Untuk melihat error langsung di WordPress, Anda bisa mengaktifkan sementara WP_DEBUG dan WP_DEBUG_LOG di “Debug” (lihat Update dan keamanan WordPress di Enhance); matikan lagi setelahnya.
3. .htaccess dengan aturan dari server lain
Setelah migrasi, .htaccess lama bisa berisi blok “cPanel-generated” atau AddHandler / SetHandler untuk versi PHP di host lama. Di sini aturan tersebut tidak berfungsi dan menyebabkan error 500 di seluruh website.
- Tab “Files” »
public_html, klik kanan pada.htaccess» “Rename” ».htaccess-vechi. - Muat ulang website. Jika sudah normal, hapus dari file lama blok yang berisi
AddHandler,SetHandler, atauphp_value, lalu kembalikan file tersebut. Di WordPress,.htaccessyang bersih bisa dibuat ulang dari Settings » Permalinks » Save Changes.
php_value dan php_flag di .htaccess tidak dipakai di sini: pengaturan PHP diatur di “php.ini editor” (lihat Versi PHP dan pengaturan PHP).
4. Versi PHP
Website lama mungkin tidak berjalan di PHP 8.2, 8.3, atau 8.4; website baru mungkin membutuhkan versi yang lebih baru dari yang dipilih. Di log biasanya muncul “Call to undefined function” atau “syntax error”.
- “Developer tools” » “PHP”: coba versi lain dari daftar dan konfirmasi dengan “Update”.
- Jika Anda mengganti versi tepat sebelum error muncul, kembalikan ke versi sebelumnya.
5. Memori atau waktu eksekusi
Pesan “Allowed memory size of … bytes exhausted” atau “Maximum execution time … exceeded” berarti script membutuhkan lebih dari yang diizinkan pengaturan. Di “php.ini editor”, naikkan memory_limit (misalnya ke 512M) atau max_execution_time, lalu klik “Restart” di samping judul “PHP” (lihat Versi PHP dan pengaturan PHP).
6. Kembali ke versi yang masih berfungsi
Jika penyebabnya tidak ketemu dan website harus segera berjalan, restore dari backup sebelum masalah muncul: tab “Backups” » “Restore” » “Full website” (lihat Backup dan restore di Enhance). Perubahan setelah waktu backup akan hilang. Kami juga bisa melakukan restore secara gratis, dari backup 7 hari terakhir.
Jika ada kendala
- Log-nya kosong. Error tidak berasal dari PHP: biasanya dari
.htaccess(langkah 3) atau izin akses sebuah folder. Periksa juga apakah Anda melihat website yang benar. - Error hanya muncul sesekali, pada jam sibuk. Website mungkin mencapai batas proses PHP simultan dari paket. Hubungi kami: kami periksa bebannya dan memberi tahu apakah cache atau paket yang lebih besar akan membantu.
- Setelah restore, error muncul lagi. Ada sesuatu yang aktif kembali dengan sendirinya, misalnya update otomatis sebuah plugin. Matikan update otomatisnya sampai Anda menemukan versi yang baik.
- Kesulitan membaca log. Kirimkan kepada kami baris-baris terakhir dari
php-error.log(tanpa password) dan alamat halamannya.
