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).

Server ini sangat bermanfaat untuk melakukan development, karena kita bisa mengetahui error melalui console server.

Server bawaan PHP ini tidak direkomendasikan untuk digunakan pada lingkungan produksi (prodcution).

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 servernya siap menerima request dari alamat http://localhost:8000 dengan root dokumenya /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.

[email protected] ~ $ 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 servernya

      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 arugmen -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 berukut.

      <?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 servernya

      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