Penyiapan Lingkungan

Memasang php-cli, menjalankan server bawaan, memilih editor, dan mengenali Xdebug.

Daftar isi

Lingkungan pengembangan yang siap pakai terdiri atas tiga hal, yaitu PHP itu sendiri, editor untuk menulis kode, dan cara menjalankan hasilnya. Topik ini memandu pemasangan php-cli di berbagai sistem operasi, pemeriksaan hasilnya, pemakaian server bawaan untuk mencoba kode di browser, pemilihan editor, serta pengenalan Xdebug sebagai alat debug. Setelah semuanya beres, seluruh contoh pada jalur ini dapat dijalankan di komputer sendiri.

Memasang PHP#

Distribusi Linux dan macOS menyediakan PHP melalui pengelola paketnya, sehingga pemasangan hanya membutuhkan satu perintah. Paket yang dibutuhkan jalur ini adalah php-cli, yaitu paket yang memuat program php untuk command line beserta server bawaannya. Dengan php-cli, tidak ada server web tambahan yang harus dipasang untuk mengikuti jalur ini. Beberapa distribusi menyertakan nomor versi pada nama paketnya, misalnya php8.4-cli, sehingga namanya perlu disesuaikan. Pilih satu perintah yang sesuai dengan sistem operasi yang dipakai.

bash
# tidak-dijalankan
# Ubuntu dan Debian: pasang php-cli
sudo apt install php-cli
# Fedora: pasang php-cli
sudo dnf install php-cli
# macOS dengan Homebrew: pasang PHP
brew install php

Pada Windows, PHP tidak disediakan melalui pengelola paket bawaan sistem. Cara resminya adalah mengunduh arsip ZIP dari halaman unduhan resmi PHP untuk Windows. Arsip tersebut diekstrak ke folder pilihan, lalu folder itu ditambahkan ke variabel PATH agar perintah php dikenali dari folder mana pun.

Versi minimum yang dibutuhkan jalur ini adalah PHP 8.2, sedangkan seluruh contoh diuji pada PHP 8.3. Apabila versi yang terpasang lebih baru, contoh kemungkinan besar tetap berjalan tanpa perubahan karena jalur ini hanya memakai fitur yang sudah stabil.

Memeriksa hasil pemasangan#

Setelah terpasang, perintah php dapat dipanggil dari terminal di folder mana pun. Cara tercepat untuk memastikannya adalah menanyakan versinya.

bash
# memeriksa versi PHP yang terpasang
php -v
text Keluaran
PHP 8.3.27 (cli) (built: Nov 19 2025 02:58:09) (NTS gcc 14.2.0)
Copyright (c) The PHP Group
Zend Engine v4.3.27, Copyright (c) Zend Technologies

Baris pertama memuat nomor versi beserta jenis build-nya, yaitu cli yang berarti program dijalankan dari command line. Apabila perintah php tidak dikenali, folder pemasangannya belum terdaftar pada PATH sehingga perlu ditambahkan terlebih dahulu. Nomor versinya sebaiknya diperiksa terhadap kebutuhan minimal PHP 8.2 yang disebutkan pada bagian sebelumnya. Lokasi berkas php.ini yang sedang dipakai dapat dilihat dengan php –ini, dan berkas inilah tempat direktif seperti pengaturan OPcache diletakkan ketika nanti dibutuhkan.

Daftar ekstensi yang terpasang dapat ditampilkan dengan php -m. Pemfilteran dengan grep mempermudah pencarian satu ekstensi, misalnya PDO untuk akses basis data.

bash
# memeriksa ketersediaan ekstensi PDO
php -m | grep -i pdo
text Keluaran
PDO
pdo_mysql
pdo_pgsql
pdo_sqlite

Daftar ekstensi pada setiap lingkungan bisa berbeda, sehingga keluaran di atas tidak wajib sama persis. Modul PDO pada jalur ini menggunakan pdo_sqlite yang tersedia pada pemasangan standar, dan keberadaannya dapat dipastikan dengan perintah yang sama.

Server bawaan PHP#

Menyalin berkas ke folder web server yang terpasang setiap kali kode berubah itu melelahkan. Untuk pengembangan, PHP menyediakan server web bawaan yang dijalankan langsung dari folder proyek tanpa konfigurasi tambahan. Server ini diaktifkan dengan opsi -S diikuti alamat dan port, misalnya localhost:8000.

Cara kerjanya dicoba dengan berkas kecil berikut.

php halo.php
<?php
$nama = 'Dunia';
echo "Halo, {$nama}! Skrip ini dieksekusi oleh server bawaan PHP.";

Simpan berkas di atas pada folder proyek, lalu jalankan server dan minta halamannya dengan curl yang berperan layaknya browser.

bash
# jalankan server bawaan di latar belakang
php -S localhost:8000 >/dev/null 2>&1 &
sleep 1
# minta halo.php sebagaimana browser melakukannya
curl -s http://localhost:8000/halo.php
echo
# matikan server
kill %1
text Keluaran
Halo, Dunia! Skrip ini dieksekusi oleh server bawaan PHP.

Server melayani berkas dari direktori tempat php -S dijalankan, sehingga server harus dimulai dari folder proyek. Alamat localhost:8000 berarti server menunggu di port 8000 pada komputer sendiri, dan browser dapat membuka alamat yang sama untuk melihat hasilnya. Berkas statis seperti gambar dan CSS juga dilayani, sehingga halaman yang membutuhkannya tetap tampil utuh.

Memilih editor#

PHP dapat ditulis dengan editor apa pun, tetapi alat yang tepat memangkas error yang sepele. Kebutuhan minimumnya adalah penyorotan sintaks (syntax highlighting) untuk PHP. Di atas itu, ekstensi bahasa yang berbasis Language Server Protocol menambahkan pelengkapan otomatis, lompatan ke definisi, dan peringatan ketika pemakaian tipe tidak cocok.

Perbandingan singkat antara dua kelompok alat tersebut disajikan pada tabel berikut.

AspekEditor teks dengan ekstensi PHPIDE penuh untuk PHP
Konsumsi sumber dayaringanberat
Penyorotan dan pelengkapanmelalui ekstensibawaan dan lengkap
Debugger terintegrasiterbatasterintegrasi penuh
Waktu beradaptasisingkatlebih lama

Contoh editor teks yang umum dipakai adalah Vim, Neovim, dan Visual Studio Code, sedangkan PhpStorm mewakili kelompok IDE yang fiturnya lengkap sejak awal. Untuk tahap belajar, editor teks dengan satu ekstensi PHP yang terawat sudah mencakup hampir semua kebutuhan. Perpindahan ke IDE dapat menunggu sampai proyek yang dikerjakan memang membutuhkannya.

Mengenali Xdebug#

Xdebug adalah ekstensi PHP untuk debugging yang menambahkan pelacakan langkah demi langkah (step debugging), tumpukan pemanggilan yang rinci, dan profil kinerja. Dengan Xdebug, eksekusi program dapat berhenti pada titik tertentu yang disebut breakpoint, isi setiap variabel dapat diperiksa, lalu eksekusinya dilanjutkan baris demi baris. Nilai sebuah array, misalnya, dapat diinspeksi satu per satu pada titik yang dicurigai tanpa mengubah kode sumbernya. Kemampuan tersebut jauh lebih informatif daripada menyebarkan var_dump ke berbagai titik kode.

Xdebug tidak ikut terpasang bersama PHP secara default, sehingga ekstensinya harus dipasang terpisah sesuai sistem operasi. Keterpasangannya mudah diperiksa lewat daftar modul.

bash
# memeriksa keberadaan Xdebug pada daftar modul
php -m | grep -i xdebug || echo "Xdebug belum terpasang"
text Keluaran
Xdebug belum terpasang

Lingkungan contoh pada jalur ini sengaja tidak memasang Xdebug, sehingga keluarannya menunjukkan pesan di atas. Pemasangan dapat dilakukan kapan saja melalui PECL atau paket yang disediakan distribusi, dan dokumentasi resmi Xdebug memandu penyiapan untuk editor yang populer. Penyiapannya sebaiknya menunggu sampai debugging yang mendalam benar-benar diperlukan.

Kesalahan umum#

Beberapa kekeliruan yang sering terjadi pada tahap penyiapan adalah sebagai berikut.

  • Membuka berkas .php lewat file:// pada browser. Tidak ada server yang mengeksekusi kodenya, sehingga browser menampilkan kode mentah atau halaman kosong. Minta halaman melalui server bawaan pada alamat http://localhost:8000.
  • Menjalankan server pada port yang sudah dipakai. PHP menolak berjalan dan menampilkan pesan Address already in use. Matikan server lama atau jalankan ulang pada port lain, misalnya localhost:8001.
  • Menjalankan php -S dari direktori yang salah. Server melayani berkas dari direktori tempatnya dijalankan, sehingga permintaan halo.php berakhir dengan 404 bila berkasnya tidak ada di sana. Pindahlah ke folder proyek terlebih dahulu sebelum menjalankan server.
  • Mengunduh versi PHP yang terlalu lama. Jalur ini menargetkan PHP 8.2 ke atas, dan versi yang jauh lebih tua kehilangan fitur yang dipakai contoh. Pilih arsip dari halaman unduhan resmi yang sesuai dengan kebutuhan tersebut.

Ringkasan#

PHP dipasang melalui pengelola paket pada Linux dan macOS serta melalui arsip ZIP resmi pada Windows, dengan php-cli sebagai paket minimum. Perintah php -v menunjukkan versi terpasang dan php -m menampilkan daftar ekstensi. Server bawaan yang dijalankan dengan php -S localhost:8000 melayani folder tempatnya dijalankan dan hanya untuk keperluan pengembangan. Editor teks dengan ekstensi PHP mencukupi tahap belajar, sementara Xdebug menyediakan debugging langkah demi langkah dan dipasang terpisah ketika dibutuhkan.

Referensi#