Server web ini dirancang untuk membantu pengembangan aplikasi. Mungkin juga berguna untuk tujuan pengujian atau untuk demonstrasi aplikasi yang dijalankan di lingkungan yang terkendali. Itu tidak dimaksudkan untuk menjadi server web berfitur lengkap. Seharusnya tidak digunakan di jaringan publik
CLI SAPI menyediakan server web bawaan
Server web hanya menjalankan satu proses single-threaded, sehingga aplikasi PHP akan terhenti jika permintaan diblokir
Permintaan URI dilayani dari direktori kerja saat ini di mana PHP dimulai, kecuali opsi -t digunakan untuk menentukan root dokumen eksplisit. Jika permintaan URI tidak menentukan file, maka index. php atau index. html di direktori yang diberikan dikembalikan. Jika tidak ada file, pencarian untuk index. php dan index. html akan dilanjutkan di direktori induk dan seterusnya hingga ditemukan atau root dokumen telah tercapai. Jika sebuah indeks. php atau index. html ditemukan, dikembalikan dan $_SERVER['PATH_INFO'] disetel ke bagian akhir dari URI. Jika tidak, kode respons 404 dikembalikan
Jika file PHP diberikan pada baris perintah saat server web dijalankan, file tersebut diperlakukan sebagai skrip "router". Skrip dijalankan di awal setiap permintaan HTTP. Jika skrip ini mengembalikan false, maka sumber daya yang diminta dikembalikan apa adanya. Jika tidak, keluaran skrip dikembalikan ke browser
Jenis MIME standar dikembalikan untuk file dengan ekstensi. . 3gp,. aplikasi,. Avi,. BMP,. css,. csv,. dokter,. dokumen,. mengelupas,. gif,. gz. zip,. htm,. html,. ics,. jpe,. jpeg,. jpg,. js,. kml,. km,. m4a,. film,. mp3,. mp4,. mpeg,. mpg,. opp,. ods,. odt,. dengan baik,. Oh Tuhan,. Oh Tuhan,. pdf,. pdf,. png,. hal,. pptx,. Qt,. svg,. SWF,. ter,. teks,. bertengkar,. txt,. wow,. webm,. wmv,. xls,. xlsx,. xml,. xls,. xsd, dan. ritsleting
Changelog. Jenis MIME yang didukung (ekstensi file)DeskripsiVersi5. 5. 12. xml,. xsl, dan. xsd5. 5. 7. 3gp,. aplikasi,. Avi,. BMP,. csv,. dokter,. dokumen,. mengelupas,. gz. zip,. ics,. kml,. km,. m4a,. mp3,. mp4,. mpg,. mpeg,. film,. opp,. ods,. odt,. dengan baik,. pdf,. pptx,. hal,. Qt,. SWF,. ter,. teks,. bertengkar,. wow,. wmv,. xls,. xlsx, dan. zip5. 5. 5. pdf5. 4. 11. Oh Tuhan,. ogv, dan. webm5. 4. 4. htm dan. svgChangelogVersionDescription7. 4. 0Anda dapat mengonfigurasi server web bawaan untuk membagi beberapa pekerja untuk menguji kode yang memerlukan beberapa permintaan bersamaan ke server web bawaan. Setel variabel lingkungan PHP_CLI_SERVER_WORKERS ke jumlah pekerja yang diinginkan sebelum memulai server. Ini tidak didukung di WindowsPeringatan
Fitur eksperimental ini tidak dimaksudkan untuk penggunaan produksi. Umumnya, Server Web bawaan tidak dimaksudkan untuk penggunaan produksi
Contoh #1 Memulai server web
$ cd ~/public_html $ php -S localhost:8000
PHP 5.4.0 Development Server started at Thu Jul 21 10:43:28 2011 Listening on localhost:8000 Document root is /home/me/public_html Press Ctrl-C to quit _
Setelah permintaan URI untuk http. // localhost. 8000/ dan http. // localhost. 8000/myscript. html terminal akan menampilkan sesuatu yang mirip dengan
PHP 5.4.0 Development Server started at Thu Jul 21 10:43:28 2011 Listening on localhost:8000 Document root is /home/me/public_html Press Ctrl-C to quit. [Thu Jul 21 10:48:48 2011] ::1:39144 GET /favicon.ico - Request read [Thu Jul 21 10:48:50 2011] ::1:39146 GET / - Request read [Thu Jul 21 10:48:50 2011] ::1:39147 GET /favicon.ico - Request read [Thu Jul 21 10:48:52 2011] ::1:39148 GET /myscript.html - Request read [Thu Jul 21 10:48:52 2011] ::1:39149 GET /favicon.ico - Request read
Perhatikan bahwa sebelum PHP 7. 4. 0, sumber daya statis tersinkronisasi belum dapat diakses di Windows, kecuali skrip router akan menanganinya
Contoh #2 Dimulai dengan direktori root dokumen tertentu
$ cd ~/public_html $ php -S localhost:8000 -t foo/
PHP 5.4.0 Development Server started at Thu Jul 21 10:50:26 2011 Listening on localhost:8000 Document root is /home/me/public_html/foo Press Ctrl-C to quit _
Contoh #3 Menggunakan Script Router
Dalam contoh ini, permintaan untuk gambar akan menampilkannya, tetapi permintaan untuk file HTML akan menampilkan "Welcome to PHP"
// router.php
if (preg_match('/\.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"])) {
return false; // serve the requested resource as-is.
} else {
echo "_
PHP 5.4.0 Development Server started at Thu Jul 21 10:43:28 2011 Listening on localhost:8000 Document root is /home/me/public_html Press Ctrl-C to quit _0
PHP 5.4.0 Development Server started at Thu Jul 21 10:43:28 2011 Listening on localhost:8000 Document root is /home/me/public_html Press Ctrl-C to quit _1$ php -S localhost:8000 router.php
Contoh #4 Memeriksa Penggunaan CLI Web Server
Untuk menggunakan kembali kerangka skrip router selama pengembangan dengan server web CLI dan kemudian juga dengan server web produksi