Tutorial PHP: Mengatasi Fatal error: Maximum execution time of 30 seconds exceeded di XAMPP

Posted on

Ketika mendesain atau menjalankan kode program PHP, ada kalanya sebuah program butuh waktu proses yang tak sebentar, dan beberapa dikala kemudian tampil pesan Fatal error: Maximum execution time of 30 seconds exceeded. Di panduan PHP kali ini saya akan mencoba mencari solusi untuk mengatasi masalah ini.


Cara Mengubah pengaturan max_execution_time PHP

Pesan Fatal error: Maximum execution time of 30 seconds exceeded berasal dari sebuah setingan PHP: max_execution_time = 30. Pengaturan ini bertujuan untuk memaksa kode PHP agar berhenti bekerja apabila di waktu 30 detik belum pun selesai di proses. Tujuannya, supaya sumber daya program (seperti processor) tak bekerja terus-menerus.

Secara umum, sebuah kode PHP hanya membutuhkan waktu beberapa detik untuk menjalankan kode program. Apabila lebih, ditakutkan terdapat kode yang salah, seperti infinity loop (kode perulangan yang tak pernah berhenti).

Di kasus tertentu, proses yang lama ini memang tak dapat dihindari. Diantara penyebabnya ketika kita mengunduh atau mengupload file yang lumayan besar.

Selaku contoh, ketika saya mengistall wordpress secara offline, dan ingin mengupdate wordpress atau menginstall plugin, kita mesti menunggu proses unduh ini. Apabila koneksi internet yang sobat gunakan lumayan lambat, pesan Fatal error: Maximum execution time of 30 seconds exceeded hampir pasti akan muncul, dan proses update gagal.


Jadi, bagaimana cara mengatasi error ini?

Caranya ialah dengan menambah batasan waktu dari pengaturan: max_execution_time.

Seluruh settingan PHP berada di di file yang bernama PHP.ini. Apabila sobat menggunakan XAMPP, file ini dapat ditemukan di folder_xampp/php/php.ini.

File PHP.ini pun dapat diakses dari jendela XAMPP Control Panel, seperti tampilan berikut:

Setelah file PHP.ini terbuka (biasanya dari program notepad bawaan windows). Cari baris “max_execution_time”, mudahnya dapat menggunakan fitur ‘find’. Setelah ketemu, ubah angka disebelah kanan max_execution_time.

Secara default, angka max_execution_time di set sebesar 30, yang berarti kode PHP diberi kesempatan maksimum benar-benar lama 30 detik. Silahkan mengubah nilai ini menjadi angka yang lebih besar. Kali ini saya akan mengubahnya menjadi 300, yang berarti kode PHP diberi kesempatan pada kurun waktu 300 detik (5 menit) untuk menyelesaikan tugasnya. Sobat pun dapat memberikan angka 0, yang berarti tak ada batasan waktu.

Setelah itu, save file PHP.ini (dapat dengan menekan kombinasi tombol CRTL+S), kemudian restart Apache (dari XAMPP Control Panel, k
lik tombol Stop di Apache, kemudian klik kembali tombol Start).

Kini, seharusnya pesan Fatal error: Maximum execution time of 30 seconds exceeded telah tak keluar lagi. Namun perlu diarsipkan bahwa mungkin saja web browser ‘hang’ selagi menunggu kode PHP selesai memproses kode yang lumayan lama ini.


Sumber https://www.duniailkom.com/