加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

PHP 5.4内置web服务器

发布时间:2018-07-04 15:08:48 所属栏目:编程 来源:外刊IT评论
导读:PHP是一种剧本说话,它必要PHP表明器来说明运行PHP文件。当把PHP做为CGI处事Web哀求时,它必要被嵌入到某种Web处事器里,最常见的是集成到Apache或IIS里,这就是说,在行使PHP前,你必要安装Apache或IIS,而且正确的设置它们和PHP集成的参数。固然这种设置

PHP是一种剧本说话,它必要PHP表明器来说明运行PHP文件。当把PHP做为CGI处事Web哀求时,它必要被嵌入到某种Web处事器里,最常见的是集成到Apache或IIS里,这就是说,在行使PHP前,你必要安装Apache或IIS,而且正确的设置它们和PHP集成的参数。固然这种设置已经很类型,文档很是富厚,但我们照旧常常在安装Apache和PHP集成时碰着题目,并且,偶然辰我们只想测试一个简朴的PHP特性,不想就为此安装、启动Apache处事。

但据官方文档上说,这个内置的Web处事器只是提供开拓测试行使,不保举行使中出产情形中。由于这个处事器接管处理赏罚哀求时次序执行的,不能并发处理赏罚。

这个内置的web处事器行使起来很是的利便,你只必要执行下面的呼吁:

$ php -S localhost:8000

然后就可以会见了。这样启动后,默认的web处事目次是执行呼吁的当前目次,假如不想行使当前目次,你必要行使 -t 参数来指定。

例 #1 启动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

当哀求了 http://localhost:8000/ 和 http://localhost:8000/myscript.html 地点后,终端输出相同如下的信息:

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

例 #2 启动web处事器时指定文档的根目次

$ 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

假如你在启动呼吁行后头附加一个php剧本文件,那这个文件将会被当成一个“路由器”剧本。这个剧本将认真全部的HTTP哀求,假如这个剧本执行时返回FALSE,则被哀求的资源会正常的返回。假如不是FALSE,赏识里表现的将会是这个剧本发生的内容。

例 #3 行使路由器剧本

在这个例子中,对图片的哀求会返回响应的图片,但对HTML文件的哀求会表现“Welcome to PHP”:

<?php
// router.php
if (preg_match('/.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"])) {
return false;    // serve the requested resource as-is.
} else {
echo "<p>Welcome to PHP</p>";
}
?>

$ php -S localhost:8000 router.php

例 #4 判定是否是在行使内置web处事器

通过措施判定来调解统一个PHP路由器剧本在内置Web处事器中和在出产处事器中的差异举动:

<?php
// router.php
if (php_sapi_name() == 'cli-server') {
/* route static assets and return false */
}
/* go on with normal index.php operations */
?>

$ php -S localhost:8000 router.php

这个内置的web处事器能辨认一些尺度的MIME范例资源,它们的扩展有:.css, .gif, .htm, .html, .jpe, .jpeg, .jpg, .js, .png, .svg, and .txt。对.htm 和 .svg 扩展到支持是在PHP 5.4.4之后才支持的。

例 #5 处理赏罚不支持的文件范例

假如你但愿这个Web处事器可以或许正确的处理赏罚不被支持的MIME文件范例,这样做:

<?php
// router.php
$path = pathinfo($_SERVER["SCRIPT_FILENAME"]);
if ($path["extension"] == "ogg") {
header("Content-Type: video/ogg");
readfile($_SERVER["SCRIPT_FILENAME"]);
}
else {
return FALSE;
}
?>

$ php -S localhost:8000 router.php

假如你但愿能长途的会见这个内置的web处事器,你的启动呼吁必要改成下面这样:

例 #6 长途会见这个内置Web处事器

$ php -S 0.0.0.0:8000

这样你就可以通过 8000 端口长途的会见这个内置的web处事器了.

文:外刊IT评述

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读