Skip to content

01. Konfigurasi PHP melalui XAMPP ​

Sebelum kita mulai memasang framework Laravel 13 dan membangun sistem informasi perpustakaan, kita wajib memastikan bahwa lingkungan eksekusi PHP di komputer lokal telah terkonfigurasi dengan benar. Salah satu langkah paling awal yang sering terlewatkan oleh pemula adalah mengaktifkan ekstensi PHP yang dibutuhkan oleh framework dan dependensi pendukungnya.


A. Pengantar ​

Aplikasi web modern seperti Laravel dibangun di atas bahasa pemrograman PHP dengan memanfaatkan berbagai pustaka modular bawaan (extensions). Ekstensi-ekstensi ini menyediakan fungsionalitas tingkat rendah yang sangat penting, mulai dari enkripsi keamanan, manipulasi string multibyte, hingga komunikasi langsung dengan basis data MySQL.

Secara default, paket instalasi lokal seperti XAMPP menonaktifkan beberapa ekstensi tertentu demi efisiensi memori atau alasan keamanan bawaan. Jika ekstensi yang dibutuhkan belum aktif, proses pembuatan project baru menggunakan Composer atau proses koneksi ke database akan langsung berhenti dan memunculkan pesan error.

Pada materi ini, kita akan memeriksa dan mengaktifkan ekstensi yang diperlukan melalui berkas konfigurasi utama PHP, yaitu php.ini.


B. Mengenal php.ini dan Ekstensi PHP ​

1. Apa Itu php.ini? ​

php.ini adalah berkas konfigurasi teks utama yang dibaca oleh modul PHP saat pertama kali dijalankan. Di dalam berkas ini, terdapat ratusan baris pengaturan (directives) yang mengatur perilaku PHP, seperti:

  • Batas alokasi memori (memory_limit).
  • Batas ukuran upload berkas (upload_max_filesize).
  • Penanganan dan pelaporan error (error_reporting).
  • Daftar modul atau ekstensi yang dimuat ke dalam memori (dynamic extensions).

2. Apa Itu Ekstensi PHP? ​

Ekstensi PHP (PHP Extension) adalah modul kode biner tambahan (berupa berkas .dll pada sistem operasi Windows atau berkas .so pada Linux) yang memperluas kemampuan dasar sintaks PHP.

Tanpa ekstensi yang sesuai:

  • PHP tidak dapat menjalankan kueri ke basis data MySQL (membutuhkan ekstensi pdo_mysql).
  • PHP tidak dapat membaca atau membuat arsip terkompresi (membutuhkan ekstensi zip).
  • PHP tidak dapat mengenali format tipe berkas secara aman (membutuhkan ekstensi fileinfo).

C. Membuka php.ini melalui XAMPP Control Panel ​

XAMPP Control Panel menyediakan akses pintas praktis untuk membuka berkas konfigurasi PHP tanpa harus mencarinya secara manual di dalam folder instalasi.

Langkah Membuka Berkas: ​

  1. Buka aplikasi XAMPP Control Panel di komputer Anda.
  2. Perhatikan baris modul Apache.
  3. Klik tombol Config yang berada di sebelah kanan baris Apache, kemudian pilih menu PHP (php.ini):

Memilih menu PHP (php.ini) melalui tombol Config Apache pada XAMPP Control PanelGambar 1.1: Memilih menu PHP (php.ini) melalui tombol Config Apache pada XAMPP Control Panel.

Setelah menu tersebut diklik, Windows akan langsung membuka berkas php.ini menggunakan teks editor bawaan (Notepad).


D. Mengaktifkan Ekstensi PHP yang Dibutuhkan ​

Di dalam berkas php.ini, setiap baris pengaturan yang diawali dengan tanda titik koma (;) diperlakukan sebagai komentar. Artinya, modul atau pengaturan pada baris tersebut berstatus nonaktif dan diabaikan oleh PHP.

Untuk mengaktifkannya, kita hanya perlu mencari baris ekstensi yang dituju dan menghapus tanda titik koma di depannya.

Langkah 1: Membuka Dialog Pencarian (Find) ​

Karena berkas php.ini memiliki ribuan baris teks, gunakan fitur pencarian agar Anda tidak perlu mencarinya baris demi baris:

  1. Tekan tombol kombinasi Ctrl + F pada keyboard untuk memunculkan kotak dialog pencarian (Find).
  2. Ketikkan nama ekstensi yang ingin dicari pada kolom Find what, misalnya extension=zip:

Membuka kotak dialog Find dan memasukkan kata kunci extension=zipGambar 1.2: Membuka kotak dialog Find dan memasukkan kata kunci extension=zip.

Langkah 2: Menemukan Baris Ekstensi yang Masih Dinonaktifkan ​

Klik tombol Find Next (pastikan arah pencarian pada opsi Direction diatur ke Down). Teks editor Notepad akan langsung melompat ke baris yang cocok dan menyorot teks tersebut:

Notepad melompat dan menyorot baris ;extension=zipGambar 1.3: Hasil pencarian menemukan baris ;extension=zip yang masih berstatus komentar.

Perhatikan baris yang tersorot pada Gambar 1.3 di atas: di depan kata extension=zip masih terdapat karakter titik koma (;). Ini membuktikan bahwa ekstensi zip pada instalasi awal XAMPP Anda masih dalam kondisi nonaktif.

Langkah 3: Menghapus Tanda Titik Koma untuk Mengaktifkan ​

  1. Tutup kotak dialog Find dengan menekan tombol Cancel atau tombol silang.
  2. Arahkan kursor teks ke tanda titik koma (;) di depan kata extension.
  3. Hapus karakter titik koma tersebut sehingga barisnya berubah menjadi extension=zip murni:

Baris konfigurasi setelah tanda titik koma dihapusGambar 1.4: Tanda titik koma berhasil dihapus sehingga ekstensi menjadi aktif.

Sebagai perbandingan teks:

ini
; Kondisi awal (nonaktif / masih berupa komentar):
;extension=zip

; Kondisi setelah diaktifkan (siap dimuat oleh PHP):
extension=zip

Daftar Ekstensi Penting untuk Project Perpustakaan ​

Berikut adalah tabel rincian ekstensi yang perlu Anda periksa statusnya pada php.ini:

Nama EkstensiStatus di Laravel 13Fungsi dan Peran Utama
curlEkstensi Inti WajibMenangani HTTP request keluar dari server (misalnya interaksi API pihak ketiga).
fileinfoEkstensi Inti WajibMendeteksi MIME type berkas upload secara akurat untuk validasi file cover buku.
mbstringEkstensi Inti WajibMengelola pemrosesan karakter string non-ASCII dan teks UTF-8 secara aman.
opensslEkstensi Inti WajibMenyediakan enkripsi data, pembuatan kunci rahasia (APP_KEY), dan hashing password.
pdoEkstensi Inti WajibLapisan abstraksi data terpadu untuk berkomunikasi dengan sistem basis data.
pdo_mysqlEkstensi Inti WajibDriver khusus PDO untuk menghubungkan aplikasi Laravel ke database MySQL/MariaDB XAMPP.
zipEkstensi Tambahan ToolingMendukung dekompresi paket arsip ZIP yang diunduh oleh Composer saat instalasi library.

Catatan Teknis

Perlu dipahami bahwa zip bukanlah salah satu dari daftar ekstensi inti PHP yang diwajibkan oleh runtime framework Laravel 13 saat mengeksekusi aplikasi. Namun, ekstensi zip sangat penting bagi Composer di lingkungan Windows agar proses download dan ekstraksi package pustaka berjalan cepat melalui file arsip terkompresi tanpa memerlukan fallback lambat.

Jangan Mengaktifkan Sembarangan

Periksa baris ekstensi satu per satu. Jangan menghapus tanda titik koma pada ekstensi yang tidak Anda butuhkan (seperti pdo_pgsql, pdo_oci, atau snmp) agar alokasi memori PHP tetap ringan dan efisien. Jika suatu baris ekstensi sudah tidak memiliki tanda ; sejak awal, biarkan apa adanya.


E. Menyimpan Konfigurasi dan Memahami PHP Apache vs PHP CLI ​

1. Menyimpan Perubahan ​

Setelah selesai memeriksa dan mengaktifkan ekstensi yang diperlukan:

  1. Klik menu File $\to$ Save pada Notepad, atau tekan tombol kombinasi Ctrl + S.
  2. Tutup jendela teks editor Notepad.

2. Mengapa Perlu Me-restart Apache? ​

Modul PHP pada XAMPP dimuat ke dalam memori oleh web server Apache saat server pertama kali dinyalakan. Jika Apache sedang dalam posisi berjalan (running) saat Anda mengedit php.ini, perubahan tersebut belum akan berpengaruh sampai Anda menekan tombol Stop lalu menekan tombol Start kembali pada modul Apache di XAMPP Control Panel.

3. Perbedaan Kritis: PHP Apache vs PHP CLI ​

Hal yang sangat penting dipahami oleh pengembang web pemula di Windows:

  • PHP Apache: Digunakan ketika aplikasi diakses melalui browser web lewat web server Apache. Konfigurasi yang digunakan adalah berkas php.ini di dalam folder xampp\php\.
  • PHP CLI (Command Line Interface): Digunakan ketika Anda menjalankan perintah melalui terminal (seperti composer install, php artisan serve, atau php artisan migrate).

Composer dan perintah Artisan berjalan menggunakan runtime PHP CLI. Terkadang, seorang pengembang memiliki instalasi PHP lain di luar XAMPP yang terdaftar pada variabel lingkungan sistem (Environment Variables PATH).

Pada materi pemeriksaan environment selanjutnya, kita akan memverifikasi runtime PHP CLI ini secara langsung di terminal menggunakan perintah:

  • where php: Memeriksa lokasi berkas binary PHP mana yang sedang aktif di sistem operasi Anda.
  • php --ini: Memeriksa berkas php.ini mana yang sebenarnya dibaca oleh terminal.
  • php -m: Menampilkan seluruh daftar modul dan ekstensi yang berhasil dimuat.

F. Kesimpulan ​

Mengonfigurasi PHP sebelum memulai project Laravel adalah langkah fondasi yang krusial:

  • Berkas php.ini mengatur seluruh modul dan perilaku kerja PHP di komputer lokal Anda.
  • Ekstensi PHP diaktifkan dengan cara menghapus tanda titik koma (;) di awal baris konfigurasi.
  • Ekstensi inti seperti pdo_mysql, mbstring, fileinfo, dan openssl wajib aktif untuk menjalankan fitur-fitur dasar Laravel 13.
  • Ekstensi tambahan seperti zip mempermudah Composer dalam mengelola unduhan paket project.
  • Web server Apache harus direstart agar pembaruan konfigurasi php.ini mulai dimuat ke dalam memori.

G. Materi Selanjutnya ​

Konfigurasi berkas php.ini kini telah selesai disiapkan.

Pada materi berikutnya, kita akan menjalankan servis web server dan basis data melalui XAMPP: 👉 02. Menjalankan XAMPP: Menjalankan modul Apache dan MySQL, memeriksa port default (80, 443, 3306), serta cara menyelesaikan kendala bentrok port (port conflict) yang sering terjadi di Windows.


Referensi Dokumentasi ​