author Ahmad Muhardian

Cara Menggunakan Web Server Bawaan dari PHP untuk Development


Sebenarnya kita tidak butuh XAMPP, apache2, atau web server lainnya untuk menjalankan PHP di localhost.

Karena PHP sendiri sudah menyediakan server bawaan yang bisa kita gunakan untuk Development.

Pada PHP versi 5.4.0, CLI SAPI menyediakan fitur build-in web server yang memungkinkan kita untuk membuat server web dari perintah command line (CLI).

Mengapa lebih baik menggunakan ini daripada XAMPP atau apache2?

Karena dengan web server ini berjalan di console dan kita akan mudah mengetahui error dari sana.

Oh ya, server bawaan PHP ini tidak direkomendasikan untuk digunakan pada lingkungan produksi (production).

Membuat Server dari Commnd Line

Pastikan PHP sudah terinstal, kemudian buat sebuah server dengan perintah berikut ini.

php -S localhost:8000

Perhatikan argumen -S, argumen tersebut menggunakan huruf kapital. Kemudian argumen kedua adalah alamat server dan nomer port yang akan digunakan. Nomer port bebas, asalkan tidak bentrok dengan nomer port service lain.

Menjalankan Server PHP melalui Terminal

Gambar di atas menunjukkan, kalau server-nya siap menerima request dari alamat http://localhost:8000 dengan root dokumennya /home/petanikode.

Percobaan server PHP

Kita akan mendapatkan error 404, karena tidak ada file index.php di root dokumen server tersebut. Berikut ini log yang akan tampil di terminal.

petanikode@imajinasi ~ $ php -S localhost:8000
PHP 7.0.8-0ubuntu0.16.04.3 Development Server started at Sun Oct  9 14:43:04 2016
Listening on http://localhost:8000
Document root is /home/petanikode
Press Ctrl-C to quit.
[Sun Oct  9 14:49:15 2016] 127.0.0.1:40244 [404]: / - No such file or directory
[Sun Oct  9 14:49:15 2016] 127.0.0.1:40246 [404]: /favicon.ico - No such file or directory
[Sun Oct  9 14:49:15 2016] 127.0.0.1:40248 [404]: /favicon.ico - No such file or directory

Untuk menghentikan server, tekan tombol Ctrl+c.

Root Document

Root Document merupakan lokasi dari dokumen proyek atau web.

Misalkan, pada contoh percobaan di atas, root dokumennya berada di /home/petanikode/.

Karena saya menjalankan perintah tersebut di home direktori. Mari kita coba menggunakan root dokumen yang lain.

  1. Buat sebuah direktori baru, kemudian masuk ke direktori tersebut

    mkdir webku
    cd webku
  2. Buat sebuah file baru bernama index.php

    touch index.php
  3. Isi file tersebut dengan kode berikut ini

    <?php
    echo "Hallo, ini webku. Selamat datang ya";
    ?>
    
  4. Keumudian jalankan server-nya

    php -S localhost:8000

Berikut ini hasil output yang akan kita dapatkan.

Hasil Output Server dengan direktori root yang berbeda

Lokasi dokumen root juga dapat kita tentukan secara spesifik dengan argumen -t. Misalnya,

php -S localhost:8000 -t /var/www/html/proyek-web/

Menggunakan Skrip Router

Router fungsinya untuk mengatur arah dan tujuan. Misalkan, sebuah permintaan (request) dengan URI /profil maka arahkan atau buka halaman profil.php.

  1. Buatlah file baru pada direktori sebelumnya dengan nama router.php, kemudian isi dengan kode berikut.

    <?php // router.php
    switch ($_SERVER["REQUEST_URI"]){
    
    case "/profil":
      include("profil.php");
      break;
    case "/home":
      echo "Ini halaman Home";
      break;
    default:
      echo "404: Halaman tidak ditemukan";
    
    }
    ?>
    
  2. Kemudian buatlah file bernama profil.php dengan isi sebagai berikut.

    <?php
    echo "Ini halaman profil";
    ?>
    
  3. Jalankan server-nya

    php -S localhost:8000 router.php

Hasil output yang akan kita dapatkan adalah seperti gambar ini.

Hasil Output

Nah, itulah cara menggunakan web server bawaan PHP. Lebih lengkapnya, bisa dipelajari di dokumentasi PHP. Sekian tulisan kali ini, mudah-mudahan bermanfaat.

Referensi: php.net