PHP 54 内置Web服务器 web服务器排名 web服务器原理 简单的web服务器
PHP是一种脚本语言,它需要PHP解释器来分析运行PHP文件。当把PHP做为CGI服务Web请求时,它需要被嵌入到某种Web服务器里,最常见的是集成到Apache或IIS里,这就是说,在使用PHP前,你需要安装Apache或IIS,并且正确的配置它们和PHP集成的参数。虽然这种配置已经很规范,文档非常丰富,但我们还是经常在安装Apache和PHP集成时遇到问题,而且,有时候我们只想测试一个简单的PHP特征,不想就为此安装、启动Apache服务。
但据官方文档上说,这个内置的Web服务器只是提供开发测试使用,不推荐使用中生产环境中。因为这个服务器接受处理请求时顺序执行的,不能并发处理。
这个内置的web服务器使用起来非常的方便,你只需要执行下面的命令:
<ol><li><span><span>$ php -S localhost:8000 </span></span></li></ol>
然后就可以访问了。这样启动后,默认的web服务目录是执行命令的当前目录,如果不想使用当前目录,你需要使用 -t 参数来指定。
例 #1 启动Web服务器
<ol> <li><span><span>$ cd ~/public_html </span></span></li> <li><span>$ php -S localhost:8000 </span></li> </ol>
终端输出信息:
<ol> <li><span><span>PHP 5.4.0 Development Server started at Thu Jul 21 10:43:28 2011 </span></span></li> <li><span>Listening on localhost:8000 </span></li> <li><span>Document root is /home/me/public_html </span></li> <li><span>Press Ctrl-C to quit </span></li> </ol>
当请求了 http://localhost:8000/ 和 http://localhost:8000/myscript.html 地址后,终端输出类似如下的信息:
<ol> <li><span><span>PHP 5.4.0 Development Server started at Thu Jul 21 10:43:28 2011 </span></span></li> <li><span>Listening on localhost:8000 </span></li> <li><span>Document root is /home/me/public_html </span></li> <li><span>Press Ctrl-C to quit. </span></li> <li><span>[Thu Jul 21 10:48:48 2011] ::1:39144 GET /favicon.ico - Request read </span></li> <li><span>[Thu Jul 21 10:48:50 2011] ::1:39146 GET / - Request read </span></li> <li><span>[Thu Jul 21 10:48:50 2011] ::1:39147 GET /favicon.ico - Request read </span></li> <li><span>[Thu Jul 21 10:48:52 2011] ::1:39148 GET /myscript.html - Request read </span></li> <li><span>[Thu Jul 21 10:48:52 2011] ::1:39149 GET /favicon.ico - Request read </span></li> </ol>
例 #2 启动web服务器时指定文档的根目录
<ol> <li><span><span>$ cd ~/public_html </span></span></li> <li><span>$ php -S localhost:8000 -t foo/ </span></li> </ol>
终端显示信息:
<ol> <li><span><span>PHP 5.4.0 Development Server started at Thu Jul 21 10:50:26 2011 </span></span></li> <li><span>Listening on localhost:8000 </span></li> <li><span>Document root is /home/me/public_html/foo </span></li> <li><span>Press Ctrl-C to quit </span></li> </ol>
如果你在启动命令行后面附加一个php脚本文件,那这个文件将会被当成一个“路由器”脚本。这个脚本将负责所有的HTTP请求,如果这个脚本执行时返回FALSE,则被请求的资源会正常的返回。如果不是FALSE,浏览里显示的将会是这个脚本产生的内容。
例 #3 使用路由器脚本
在这个例子中,对图片的请求会返回相应的图片,但对HTML文件的请求会显示“Welcome to PHP”:
<ol> <li><span><span><?php </span></span></span></li> <li> <span>// router.php </span><span> </span> </li> <li> <span>if</span><span> (preg_match(</span><span>'/\.(?:png|jpg|jpeg|gif)$/'</span><span>, </span><span>$_SERVER</span><span>[</span><span>"REQUEST_URI"</span><span>])) { </span> </li> <li> <span>return</span><span> false; </span><span>// serve the requested resource as-is. </span><span> </span> </li> <li> <span>} </span><span>else</span><span> { </span> </li> <li> <span>echo</span><span> </span><span>"<p>Welcome to PHP</p>"</span><span>; </span> </li> <li><span>} </span></li> <li><span>?> </span></li> </ol>
<ol><li><span><span>$ php -S localhost:8000 router.php </span></span></li></ol>
例 #4 判断是否是在使用内置web服务器
通过程序判断来调整同一个PHP路由器脚本在内置Web服务器中和在生产服务器中的不同行为:
<ol> <li><span><span><?php </span></span></span></li> <li> <span>// router.php </span><span> </span> </li> <li> <span>if</span><span> (php_sapi_name() == </span><span>'cli-server'</span><span>) { </span> </li> <li> <span>/* route static assets and return false */</span><span> </span> </li> <li><span>} </span></li> <li> <span>/* go on with normal index.php operations */</span><span> </span> </li> <li><span>?> </span></li> </ol>
<ol><li><span><span>$ php -S localhost:8000 router.php </span></span></li></ol>
这个内置的web服务器能识别一些标准的MIME类型资源,它们的扩展有:.css, .gif, .htm, .html, .jpe, .jpeg, .jpg, .js, .png, .svg, and .txt。对.htm 和 .svg 扩展到支持是在PHP 5.4.4之后才支持的。
例 #5 处理不支持的文件类型
如果你希望这个Web服务器能够正确的处理不被支持的MIME文件类型,这样做:
<ol> <li><span><span><?php </span></span></span></li> <li> <span>// router.php </span><span> </span> </li> <li> <span>$path</span><span> = </span><span>pathinfo</span><span>(</span><span>$_SERVER</span><span>[</span><span>"SCRIPT_FILENAME"</span><span>]); </span> </li> <li> <span>if</span><span> (</span><span>$path</span><span>[</span><span>"extension"</span><span>] == </span><span>"ogg"</span><span>) { </span> </li> <li> <span>header(</span><span>"Content-Type: video/ogg"</span><span>); </span> </li> <li> <span>readfile(</span><span>$_SERVER</span><span>[</span><span>"SCRIPT_FILENAME"</span><span>]); </span> </li> <li><span>} </span></li> <li> <span>else</span><span> { </span> </li> <li> <span>return</span><span> FALSE; </span> </li> <li><span>} </span></li> <li><span>?> </span></li> </ol>
<ol><li><span><span>$ php -S localhost:8000 router.php </span></span></li></ol>
如果你希望能远程的访问这个内置的web服务器,你的启动命令需要改成下面这样:
例 #6 远程访问这个内置Web服务器
<ol><li><span><span>$ php -S 0.0.0.0:8000 </span></span></li></ol>
这样你就可以通过 8000 端口远程的访问这个内置的web服务器了
以上就介绍了PHP 54 内置Web服务器,包括了Web服务器方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Lima jenis pelayan web ialah: 1. IIS, pelayan web yang membenarkan penerbitan maklumat pada intranet awam atau Internet 2. Apache, pelayan web sumber terbuka Yayasan Perisian WebSphere, aplikasi Web; pelayan; 4. Tomcat ialah bekas perisian aplikasi Web berasaskan Java 5. Lighttpsd ialah perisian pelayan Web sumber terbuka.

Gambaran keseluruhan pengauditan keselamatan dan pengurusan log peristiwa pelayan web yang dibina pada CentOS Dengan perkembangan Internet, pengauditan keselamatan dan pengurusan log peristiwa pelayan web telah menjadi semakin penting. Selepas menyediakan pelayan web pada sistem pengendalian CentOS, kita perlu memberi perhatian kepada keselamatan pelayan dan melindungi pelayan daripada serangan berniat jahat. Artikel ini akan memperkenalkan cara melaksanakan pengauditan keselamatan dan pengurusan log peristiwa serta memberikan contoh kod yang berkaitan. Audit keselamatan Audit keselamatan merujuk kepada pemantauan menyeluruh dan pemeriksaan status keselamatan pelayan untuk segera menemui potensi

Amalan Terbaik: Panduan Penalaan Prestasi untuk Membina Pelayan Web pada CentOS Ringkasan: Artikel ini bertujuan untuk menyediakan beberapa amalan terbaik penalaan prestasi untuk pengguna membina pelayan web pada CentOS, bertujuan untuk meningkatkan prestasi dan kelajuan tindak balas pelayan. Beberapa parameter penalaan utama dan kaedah pengoptimuman yang biasa digunakan akan diperkenalkan dan beberapa kod sampel akan disediakan untuk membantu pembaca memahami dan menggunakan kaedah ini dengan lebih baik. 1. Matikan perkhidmatan yang tidak diperlukan Apabila membina pelayan web pada CentOS, beberapa perkhidmatan yang tidak diperlukan akan dimulakan secara lalai, yang akan menduduki sumber sistem.

Kebenaran dan strategi kawalan capaian yang perlu anda perhatikan sebelum membina pelayan web pada CentOS Dalam proses membina pelayan web, keizinan dan strategi kawalan akses adalah sangat penting. Menetapkan kebenaran dan dasar kawalan akses dengan betul boleh melindungi keselamatan pelayan dan menghalang pengguna yang tidak dibenarkan daripada mengakses data sensitif atau mengendalikan pelayan secara tidak betul. Artikel ini akan memperkenalkan keizinan dan strategi kawalan akses yang perlu diberi perhatian apabila membina pelayan web di bawah sistem CentOS, dan memberikan contoh kod yang sepadan. Pengurusan pengguna dan kumpulan Pertama, kita perlu membuat khusus

Swoole ialah rangka kerja komunikasi rangkaian berprestasi tinggi sumber terbuka berdasarkan PHP Ia menyediakan pelaksanaan pelayan dan klien TCP/UDP, serta pelbagai IO tak segerak, coroutine dan ciri lanjutan yang lain. Apabila Swoole menjadi semakin popular, ramai orang mula mengambil berat tentang penggunaan Swoole oleh pelayan web. Mengapakah pelayan web semasa (seperti Apache, Nginx, OpenLiteSpeed, dll.) tidak menggunakan Swoole? Mari kita terokai soalan ini.

Bahasa Go telah menjadi bahasa pembangunan yang popular, terutamanya untuk pengaturcaraan rangkaian. Apabila menulis pelayan web dalam Go, terdapat banyak amalan terbaik untuk memastikan keselamatan, kebolehselenggaraan dan kebolehskalaan pelayan. Berikut ialah beberapa cadangan dan amalan yang boleh membantu anda meningkatkan kecekapan dan kebolehpercayaan pelayan web Go anda. Menggunakan perpustakaan standard Terdapat banyak pakej yang berkaitan dengan pengaturcaraan rangkaian dalam perpustakaan standard bahasa Go. Sebagai contoh, pakej net/http membantu anda menulis pelayan HTTP, dan pakej bersih membantu mengendalikan sambungan rangkaian peringkat rendah.

Tutorial peringkat permulaan: Panduan ringkas untuk membina pelayan web pada CentOS Pengenalan: Dalam era Internet hari ini, membina pelayan web anda sendiri telah menjadi keperluan bagi ramai orang. Artikel ini akan memperkenalkan cara membina pelayan web pada sistem pengendalian CentOS, dan menyediakan contoh kod untuk membantu pembaca melaksanakannya dengan cepat. Langkah 1: Pasang dan konfigurasi Apache Buka terminal dan pasang pelayan Apache melalui arahan berikut: sudoyuminstallhttpd Selepas pemasangan selesai, mulakan Apac

Amalan terbaik dan langkah berjaga-jaga untuk membina pelayan web di bawah CentOS7 Pengenalan: Dalam era Internet hari ini, pelayan web adalah salah satu komponen teras untuk membina dan mengehos laman web. CentOS7 ialah pengedaran Linux berkuasa yang digunakan secara meluas dalam persekitaran pelayan. Artikel ini akan meneroka amalan dan pertimbangan terbaik untuk membina pelayan web pada CentOS7, dan memberikan beberapa contoh kod untuk membantu anda memahami dengan lebih baik. 1. Pasang pelayan HTTP Apache Apache adalah w yang paling banyak digunakan
