Local server menyediakan PHP, web server, dan database di komputer sendiri. Tujuannya bukan meniru server produksi secara sempurna, tetapi memberi ruang aman untuk menulis dan menguji aplikasi.
Instalasi tanpa konflik port
Sebelum memasang, periksa apakah port 80, 443, atau 3306 sudah digunakan IIS, Skype lama, Docker, atau layanan MySQL lain. Konflik port adalah penyebab paling umum Apache atau MySQL tidak mau menyala.
# Windows PowerShell — melihat proses yang memakai port 80
Get-NetTCPConnection -LocalPort 80 -ErrorAction SilentlyContinue |
Select-Object LocalAddress, LocalPort, State, OwningProcessStruktur proyek yang rapi
Di XAMPP, proyek umumnya diletakkan di htdocs. Di Laragon, gunakan folder www. Jangan mencampur file proyek dengan file bawaan aplikasi.
- 1Buat folder proyek, misalnya
inventory-app. - 2Tambahkan
public/index.phpsebagai entry point. - 3Simpan konfigurasi rahasia di
.envdan jangan commit ke Git. - 4Arahkan document root virtual host ke folder
public, bukan ke root proyek.
<?php
// public/index.php
header('Content-Type: text/html; charset=utf-8');
echo '<h1>Local server aktif</h1>';
echo '<p>PHP '.PHP_VERSION.'</p>';Konfigurasi database
Buat database khusus per proyek. Hindari memakai akun root tanpa password di luar komputer lokal. Walau hanya lokal, biasakan aplikasi membaca kredensial dari environment.
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=inventory_app
DB_USERNAME=inventory_user
DB_PASSWORD=change-this-local-passwordChecklist ketika localhost gagal dibuka
- Apache/Nginx benar-benar berstatus running.
- URL dan nama folder tidak salah.
- File entry point bernama
index.php. - Firewall tidak memblokir proses web server.
- Log error Apache atau Nginx dibaca, bukan ditebak.
Setelah PHP dan database berjalan, instal Composer. Banyak library modern mengandalkan autoload Composer, bahkan ketika aplikasi tetap memakai PHP native.
