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

Ketika merancang atau menjalankan kode program PHP, ada kalanya sebuah program butuh waktu proses yang tidak sebentar, dan beberapa saat kemudian tampil pesan Fatal error: Maximum execution time of 30 seconds exceeded. Pada tutorial 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 dalam waktu 30 detik belum juga selesai di proses. Tujuannya, supaya sumber daya sistem (seperti processor) tidak 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 tidak pernah berhenti).

Dalam kasus tertentu, proses yang lama ini memang tidak bisa dihindari. Salah satu penyebabnya ketika kita mendownload atau mengupload file yang cukup besar.

Sebagai contoh, ketika saya mengistall wordpress secara offline, dan ingin mengupdate wordpress atau menginstall plugin, kita harus menunggu proses download ini. Jika koneksi internet yang anda gunakan cukup lambat, pesan Fatal error: Maximum execution time of 30 seconds exceeded hampir pasti akan muncul, dan proses update gagal.

Pesan kesalahan Fatal error - Maximum execution time of 30 seconds exceeded di wordpress


Jadi, bagaimana cara mengatasi error ini?

Caranya adalah dengan menambah batasan waktu dari pengaturan: max_execution_time.

Seluruh settingan PHP berada di dalam file yang bernama PHP.ini. Jika anda menggunakan XAMPP, file ini bisa ditemukan di folder_xampp/php/php.ini.

Lokasi File PHP.ini XAMPP

File PHP.ini juga bisa diakses dari jendela XAMPP Control Panel, seperti tampilan berikut:

Membuka file PHP.ini dari XAMPP Control Panel

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

Ubah Setingan max_execution_time PHP

Secara default, angka max_execution_time di set sebesar 30, yang berarti kode PHP diberi kesempatan maksimum paling 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 selama 300 detik (5 menit) untuk menyelesaikan tugasnya. Anda juga bisa memberikan angka 0, yang berarti tidak ada batasan waktu.

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

Sekarang, seharusnya pesan Fatal error: Maximum execution time of 30 seconds exceeded sudah tidak keluar lagi. Namun perlu dicatat bahwa mungkin saja web browser ‘hang’ selagi menunggu kode PHP selesai memproses kode yang cukup lama ini.


Tutorial Terkait:

5 Comments

  1. AGUS DWI SANTOSO
    12 Dec 15
  2. Albaab Muhammad
    21 Mar 17
  3. RF
    31 May 17

Add Comment