Skip to content

emka.web.id

menulis pengetahuan – merekam peradaban

Menu
  • Home
  • Tutorial
  • Search
Menu

Cara Cepat Menguji Situs Web Dengan Server Web Bawaan PHP

Posted on August 10, 2022

Perlu memulai server web dengan cepat untuk menguji aplikasi PHP? Interpreter PHP memiliki satu built-in! Anda dapat menggunakan ini untuk memeriksa pekerjaan Anda dengan cepat tanpa menjalankan Apache, NGINX, atau solusi penampung. Server terintegrasi

PHP mendapat perhatian yang relatif sedikit tetapi cukup kuat untuk tujuan pengembangan. Dalam panduan ini, kami akan menunjukkan bagaimana Anda dapat menggunakannya sebagai alternatif untuk server mikro lain seperti SimpleHTTPServer Python atau paket http-server npm, keduanya tidak dapat menjalankan skrip PHP.

Menggunakan Server Bawaan

Server bawaan adalah mekanisme kenyamanan untuk membantu Anda menguji situs PHP di lingkungan yang tidak memiliki server HTTP yang lengkap. Ini tersedia dalam PHP 5.4 dan semua versi yang lebih baru. Anda dapat menjalankannya langsung dari direktori kerja Anda tanpa harus menyiapkan host virtual terlebih dahulu.

Sebelum menggunakan server, berhati-hatilah bahwa server ini dirancang untuk penggunaan pengembangan saja. Dokumentasi PHP secara eksplisit memperingatkan agar tidak menggunakan server ini di depan aplikasi produksi. Tidak cukup aman untuk diekspos di jaringan yang dapat diakses publik.

Memulai Server

Server dimulai dengan meneruskan flag -S ke php executable:

$ php -S localhost:8080 [Jumat 10 Jun 16:00:00 2022] PHP 8.1 .5 Server Pengembangan (http://localhost:8080) start

Argumen yang diberikan pada perintah menentukan alamat server yang mendengarkan. Kami telah menggunakan port 8080 pada localhost pada contoh di atas. Sekarang Anda dapat mengunjungi http://localhost:8080 di browser web Anda untuk mengakses konten di direktori kerja Anda. Semua skrip PHP akan dieksekusi secara otomatis saat Anda memintanya.

Anda dapat menyajikan jalur yang berada di luar direktori kerja Anda dengan menyetel flag -t saat Anda memulai server:

$ php -S localhost:8080 -t /home/$USER/ public_docs

Akar dokumen sekarang akan menjadi /public_docs di dalam folder rumah Anda.

Biarkan jendela terminal Anda tetap terbuka saat Anda menggunakan server web. Tekan Ctrl+C untuk mematikan proses setelah Anda selesai menguji situs Anda. PHP akan mencatat setiap permintaan yang masuk ke jendela terminal Anda, termasuk metode URI dan HTTP. Kesalahan PHP yang tidak tertangkap akan muncul di log juga.

Mengaktifkan Akses Jarak Jauh

Mendengarkan di localhost tidak akan mengizinkan koneksi masuk dari perangkat lain di jaringan Anda. Anda dapat mengizinkan akses jarak jauh dengan mengikat ke 0.0.0.0 sebagai gantinya:

$ php -S 0.0.0.0:8080

Ingat bahwa server tidak dikeraskan untuk penggunaan produksi dan tidak boleh diekspos ke publik. Hanya izinkan akses jarak jauh jika benar-benar diperlukan, seperti saat menguji fitur tertentu di perangkat seluler. Pastikan port yang Anda gunakan tidak terbuka ke internet.

Request Fallback Matching

PHP akan mencari file index.php dan index.html di root dokumen aktif ketika permintaan masuk tidak memiliki komponen URI. Jika tidak satu pun dari file-file ini ada, server akan terus bergerak ke atas pohon direktori, mencari indeks di salah satu induk root dokumen Anda. Ini berarti Anda dapat secara tidak sengaja menyajikan konten yang berada di luar direktori yang telah Anda tentukan. Status 404 Tidak Ditemukan akan dikeluarkan saat puncak pohon tercapai tanpa file indeks ditemukan.

Permintaan yang menyertakan URI (seperti /file) harus sama persis dengan file statis di root dokumen. Jika tidak, 404 akan dikembalikan. PHP secara otomatis menyetel header respons Tipe-Konten ke tipe MIME dari file yang disajikan untuk ekstensi file paling populer.

Menggunakan Skrip Router

Anda dapat secara opsional mengonfigurasi server web untuk memanggil skrip pada setiap permintaan. Ini memungkinkan Anda menggunakan pengontrol depan aplikasi Anda untuk melakukan perutean dinamis lanjutan.

Fungsi router diaktifkan dengan menyediakan nama file PHP pada baris perintah saat Anda memulai server:

$ php -S localhost:8080 router.php

PHP sekarang akan menggunakan router. php untuk menangani setiap permintaan yang masuk. Anda dapat mengarahkan pengguna ke titik yang sesuai dalam aplikasi Anda dengan memeriksa URI permintaan:

if($_SERVER[“REQUEST_URI”]===”/dashboard”){require_once(“dashboard.php”);}elseif($_SERVER[ “REQUEST_URI”]===”/profile”){require_once(“profile.php”);}else{require_once(“404.php”);}

Output yang dihasilkan oleh skrip router Anda akan menjadi respons yang dikirim kembali ke klien. Pengecualian adalah jika skrip mengembalikan false: dalam kasus ini, PHP akan mundur untuk mengembalikan file statis yang cocok dengan URI permintaan asli.

if(str_starts_with($_SERVER[“REQUEST_URI”],”/api”)){// Route ke titik akhir API yang benar// … }else{// Melayani rute lain staticallyreturnfalse;}Mendeteksi Server Bawaan Dari Kode PHP Anda

Kode PHP Anda dapat mendeteksi apakah itu dipanggil oleh server web bawaan dengan memeriksa yang aktif nama antarmuka. Fungsi php_sapi_name() memberikan nilai ini. Ini akan disetel ke cli-server ketika skrip dipanggil oleh komponen server terintegrasi.

if(php_sapi_name()===”cli-server”){ enable_development_mode();}Menangani Beberapa Permintaan Secara Bersamaan

Server default untuk berjalan di mode sinkron proses tunggal secara default. Permintaan ditangani satu per satu dan saling memblokir agar tidak dieksekusi sampai selesai. Ini adalah salah satu alasan mengapa server tidak cocok untuk penggunaan produksi.

PHP 7.4 menambahkan dukungan untuk menangani beberapa permintaan secara bersamaan. Itu bergantung pada ketersediaan fork() dan tidak berfungsi di Windows. Server akan memotong pekerja baru untuk melayani setiap permintaan yang masuk saat mode ini diaktifkan. Anda dapat mengaktifkannya dengan mengatur variabel lingkungan PHP_CLI_SERVER_WORKERS ke jumlah pekerja yang Anda inginkan:

$ PHP_CLI_SERVER_WORKERS=8 php -S localhost:8080

Fungsi ini masih ditandai sebagai eksperimental di PHP 8.1.

Summary

PHP memiliki server web built-in yang nyaman cara untuk menguji aplikasi Anda dan dengan cepat mengekspos konten sistem file lokal di jaringan lokal Anda. Ini mendukung eksekusi skrip PHP, perutean catch-all, dan file statis dengan tipe MIME paling umum.

Meskipun server sekarang mendukung mode forking opsional, tidak disarankan untuk menggunakannya dalam produksi. Ini dimaksudkan sebagai bantuan pengembangan dan tidak memiliki fitur penyesuaian dan keamanan yang Anda perlukan untuk penerapan publik Anda. Keunggulannya adalah sebagai alternatif yang ringan dan terintegrasi untuk platform pengembangan konvensional seperti WAMP, XAMPP, dan Docker containers.

Itulah berita seputar Cara Cepat Menguji Situs Web Dengan Server Web Bawaan PHP, semoga bermanfaat. Disadur dari HowToGeek.com.

Terbaru

  • Contoh Cara Buat SK Panitia TKA 2026
  • Inilah Cara Download Point Blank ID Versi Terbaru 2026, Gampang Banget Ternyata!
  • Inilah Persiapan Lengkap Gladi Bersih TKA 2026 SD dan SMP: Jadwal, Teknis Proktor, dan Aturan yang Wajib Kalian Tahu
  • Inilah Aturan Lengkapnya, Apakah Zakat dalam Bentuk Barang Bisa Mengurangi Pajak Penghasilan Kalian?
  • Inilah Kenapa KBLI Sangat Penting Buat Bisnis Digital dan Gini Caranya Biar Kalian Nggak Salah Pilih Kode
  • Inilah Fitur Keren ONLYOFFICE Docs 9.3, Cara Baru Edit PDF dan Dokumen Lebih Efisien!
  • Inilah Cara Banjir Komisi Shopee Affiliate Hanya Dalam 7 Hari Saja
  • Cara Download Aplikasi BUSSID Versi 3.7.1 Masih Dicari dan Link Download Aman Mediafire
  • Inilah Cara Lengkap Mengajukan SKMT dan SKBK di EMIS GTK 2026, Biar Tunjangan Cair Tanpa Drama!
  • Inilah Kenapa Bukti Setor Zakat Kalian Harus Ada NPWP-nya, Jangan Sampai Klaim Pajak Ditolak!
  • Inilah Cara Jadi Clipper Video Sukses Tanpa Perlu Tampil di Depan Kamera
  • Inilah Cara Upload NPWP dan Rekening di EMIS GTK Madrasah Terbaru, Jangan Sampai Tunjangan Terhambat!
  • Inilah Fakta di Balik Video Ukhti Sholat Mukena Pink Viral yang Bikin Geger Media Sosial
  • Belum Tahu? Inilah Langkah Pengisian Survei Digitalisasi Pembelajaran 2026 Biar Nggak Salah
  • Ini Kronologi Video Viral Ibu Tiri vs Anak Tiri Ladang Sawit Tiktok
  • Inilah Caranya Update Chromebook Sekolah Agar Siap Digunakan untuk TKA SD dan SMP
  • Inilah Caranya Menghindari Mafia Kontraktor Renovasi Nakal Supaya Budget Nggak Boncos
  • Inilah Trik Rahasia Tembus 4000 Jam Tayang YouTube Tahun 2026 Cuma Dalam 2 Hari
  • Inilah Rahasia Tomoro Coffee Bisa Singkirkan Semua Pesaing dan Ekspansi Massif Banget!
  • Inilah Kenapa AI Sering Jadi Kambing Hitam Saat PHK Massal, Padahal Masalahnya Bukan Itu!
  • Inilah Cara Baru Cepat Monetisasi YouTube Tanpa Trik Musik, Cuma 2 Bulan Langsung Cuan!
  • Inilah Kapan Pengumuman SNBP 2026 Jam Berapa Lengkap dengan Cara Cek Hasil Kelulusannya
  • Belum Tahu? Inilah Cara Zakat Perusahaan Kalian Bisa Jadi Pengurang Pajak Penghasilan Bruto!
  • Inilah Cara Menggabungkan Grid Foto Online dan Hapus Background Foto
  • Kenapa Youtuber Mulai Harus Hati-hati Pakai AI: Bisa Digugat dan Kehilangan Hak Cipta!
  • Inilah Alasan Kenapa Sumbangan ke Tempat Ibadah Biasa Nggak Bisa Langsung Jadi Pemotong Pajak!
  • Belum Tahu? Inilah Cara Pasang Iklan Meta Ads untuk Sales WiFi Supaya Banjir Closingan!
  • Inilah Alur Pengerjaan EMIS GTK 2026 yang Benar dari Awal Sampai Akhir
  • Inilah 27 Sekolah Kedinasan untuk Lulusan SMK 2026, Bisa Kuliah Gratis dan Langsung Jadi CPNS!
  • Inilah Cara Kuliah S2 di Inggris dengan GREAT Scholarship 2026: Syarat Lengkap, Daftar Kampus, dan Tips Jitu Biar Lolos!
  • Is the $600 MacBook Neo Actually Any Good? A Detailed Deep-Dive for Student!
  • Build Your Own Mini Data Center: A Guide to Creating a Kubernetes Homelab
  • How Enterprise Stop Breaches with Automated Attack Surface Management
  • The Roadmap to Becoming a Professional Python Developer in the AI Era
  • Why Your High Linux Uptime is Actually a Security Risk: A Lesson for Future Sysadmins
  • How to Use the Tiiny AI Pocket Lab to Run Local Large Language Models
  • AI SEO Tutorial With OpenClaw, Make Your Website Traffic from 0 to 780 Clicks Daily
  • How to Use SoulX FlashHead To Create The Best Talking Avatar for Free on Google Colab!
  • New Claude AI Memory: How to Seamlessly Sync ChatGPT to Anthropic in Minutes
  • Securing LLM with Agentverse (Secure and Scalable Inference)
  • Apa itu Spear-Phishing via npm? Ini Pengertian dan Cara Kerjanya yang Makin Licin
  • Apa Itu Predator Spyware? Ini Pengertian dan Kontroversi Penghapusan Sanksinya
  • Mengenal Apa itu TONESHELL: Backdoor Berbahaya dari Kelompok Mustang Panda
  • Siapa itu Kelompok Hacker Silver Fox?
  • Apa itu CVE-2025-52691 SmarterMail? Celah Keamanan Paling Berbahaya Tahun 2025
Beli Pemotong Rumput dengan Baterai IRONHOOF 588V Mesin Potong Rumput 88V disini https://s.shopee.co.id/70DBGTHtuJ
Beli Morning Star Kursi Gaming/Kantor disini: https://s.shopee.co.id/805iTUOPRV

©2026 emka.web.id | Design: Newspaperly WordPress Theme