Jakhoster.blog

Edukasi 13 Jun 2026

Studi Kasus: Mengatasi Error Max Execution Time XAMPP di Lingkungan Multi-Container untuk Aplikasi Laravel

Studi Kasus: Mengatasi Error Max Execution Time XAMPP di Lingkungan Multi-Container untuk Aplikasi Laravel
Advertisement

Pengantar Keberlangsungan Aplikasi

Ketika menerapkan aplikasi web berbasis Laravel di server lokal menggunakan XAMPP, kita sering menghadapi tantangan yang signifikan, terutama ketika beban server meningkat akibat traffic yang tinggi atau saat pengujian fungsionalitas kompleks. Siklus iterasi pengembangan bisa terhalang oleh munculnya error ‘max execution time exceeded’. Ini bukan hanya sekadar notifikasi mengganggu, tetapi dapat mempengaruhi produktivitas tim dan kecepatan pengembangan. Dalam artikel ini, kita akan membahas bagaimana mengatasi masalah ini dalam konteks lingkungan multi-container yang digunakan untuk pengembangan aplikasi Laravel.

Memahami Error Max Execution Time

Error max execution time adalah batas waktu maksimum yang diizinkan oleh PHP untuk menyelesaikan eksekusi skrip. Secara default, batas ini adalah 30 detik, tetapi dapat bervariasi tergantung pada konfigurasi server. Ketika skrip PHP tidak selesai dalam waktu tersebut, Anda akan menghadapi error ini, yang akan memengaruhi aplikasi Anda, terutama ketika menghadapi query database yang kompleks atau pemrosesan data yang intensif. Untuk mengatasi tantangan tersebut, pemahaman mendalam tentang Panduan Lengkap XAMPP: Teori, Cara Instalasi, Konfigurasi, dan Troubleshooting Server Lokal untuk Developer sangatlah krusial.

Penyebab Umum Masalah

Untuk memahami bagaimana mengatasi error ini, kita perlu terlebih dahulu mengetahui penyebab umumnya. Beberapa faktor yang berkontribusi antara lain:

Advertisement
  • Query Database yang Tidak Optimal: Query lama dan tidak terindeks dengan baik dapat menyebabkan waktu eksekusi yang panjang.
  • Proses yang Memerlukan Waktu Lama: Proses seperti pengunggahan file besar atau pemrosesan data dengan API eksternal juga dapat memicu masalah ini.
  • Konfigurasi Waktu Eksekusi yang Rendah: Pengaturan default PHP untuk ‘max_execution_time’ yang terlalu ketat.

Menyiapkan Lingkungan Multi-Container dengan Docker

Sebelum kita menyelam lebih dalam ke solusi, mari kita pastikan bahwa kita memiliki lingkungan yang tepat. Dalam skenario ini, kita akan menggunakan Docker untuk menyiapkan lingkungan multi-container yang berisi container untuk aplikasi Laravel, database MariaDB, dan alat pengelolaan PHPMyAdmin.

Langkah 1: Membuat Dockerfile untuk Aplikasi Laravel

Mulailah dengan membuat Dockerfile untuk aplikasi Laravel Anda.

# Install dependencies
RUN apt-get update && apt-get install -y \
libpng-dev \
libjpeg-dev \
libfreetype6-dev \
&& docker-php-ext-configure gd –with-freetype –with-jpeg \
&& docker-php-ext-install gd

# Set working directory
WORKDIR /var/www

# Copy application files
COPY . .

# Install Composer
RUN curl -sS https://getcomposer.org/installer | php — –install-dir=/usr/local/bin –filename=composer

# Install application dependencies
RUN composer install

Konfigurasi di atas akan menyiapkan image PHP yang menjalankan aplikasi Laravel. Pastikan Anda menyesuaikannya dengan kebutuhan spesifik aplikasi Anda.

Langkah 2: Menyiapkan Docker Compose

Agar semua container bisa berinteraksi, kita perlu file docker-compose.yml yang menyertakan konfigurasi untuk container Laravel, MariaDB, dan PHPMyAdmin.
services:
app:
build:
context: .
dockerfile: Dockerfile
volumes:
– .:/var/www
ports:
– ‘8000:80’

db:
image: mariadb:latest
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: laravel
ports:
– ‘3306:3306’

phpmyadmin:
image: phpmyadmin/phpmyadmin
environment:
PMA_HOST: db
PMA_USER: root
PMA_PASSWORD: root
ports:
– ‘8080:80’

File docker-compose.yml ini akan memungkinkan Anda untuk mengelola berbagai container dengan satu perintah dan memastikan komunikasi antar container berjalan lancar.

Pengaturan max_execution_time pada PHP

Setelah lingkungan kita siap, langkah berikutnya adalah memastikan bahwa kita telah mengonfigurasi waktu eksekusi yang sesuai untuk aplikasi kita. Anda dapat melakukannya dengan memodifikasi file php.ini dalam container aplikasi Laravel.

Langkah 1: Mencari File php.ini

Untuk mengubah max_execution_time, pertama-tama kita perlu menemukan file konfigurasi PHP php.ini. Dalam container Anda, jalankan perintah berikut:

docker exec -it  bash
find / -name php.ini

Perintah di atas akan membantu Anda menemukan lokasi file php.ini dalam container. Selanjutnya, kita perlu mengedit file tersebut.

Langkah 2: Mengedit file php.ini

Setelah menemukan lokasi file php.ini, buka file tersebut dengan editor favorit Anda. Untuk mengeditnya, Anda bisa menggunakan nano:

nano /path/to/php.ini

Cari baris yang mengandung max_execution_time. Anda mungkin menemukan baris ini:

;max_execution_time = 30

Ubah angka 30 menjadi waktu sesuai kebutuhan aplikasi Anda. Misalnya:

max_execution_time = 120

Setelah mengubah, simpan file tersebut dan keluar dari editor.

Langkah 3: Restart Container

Setelah perubahan, restart container aplikasi Anda agar perubahan dapat diterapkan:

docker-compose restart app

Optimasi Kode dan Query untuk Mengurangi Waktu Eksekusi

Selain mengkonfigurasi waktu eksekusi, penting juga untuk melakukan optimasi pada kode aplikasi dan query database Anda.

Rekomendasi Sponsor