天天看点

php建立服务器,利用 PHP 快速建立一个 Web 服务器

从 PHP 5.4.0 起, CLI SAPI 提供了一个内置的 Web 服务器。我们可以通过这个内置的 Web 服务器很方便的搭建一个本地开发环境。

启动 Web 服务器

默认情况下,URI 请求会被发送到 PHP 所在的的工作目录进行处理。$cd/tmp/wordpress-install$php-Slocalhost:8000PHP7.1.16DevelopmentServerstartedatMonJun416:48:422018Listeningonhttp://localhost:8000Documentrootis/private/tmp/wordpress-installPressCtrl-Ctoquit.如果请求未指定执行 PHP 文件,则默认执行目录内的index.php或者index.html。如果这两个文件都不存在,服务器会则返回 404 错误。

接着通过浏览器打开http://localhost:8000/就可访问对应的 Web 程序,在终端窗口会输出类似以下的访问日志:[MonJun416:50:552018]::1:54854[302]:/[MonJun416:50:552018]::1:54855[200]:/wp-admin/setup-config.php[MonJun416:50:552018]::1:54858[200]:/wp-includes/css/buttons.min.css?ver=4.9.4[MonJun416:50:552018]::1:54860[200]:/wp-includes/js/jquery/jquery.js?ver=1.12.4[MonJun416:50:552018]::1:54859[200]:/wp-admin/css/install.min.css?ver=4.9.4[MonJun416:50:552018]::1:54861[200]:/wp-includes/js/jquery/jquery-migrate.min.js?ver=1.4.1[MonJun416:50:552018]::1:54862[200]:/wp-admin/js/language-chooser.min.js?ver=4.9.4[MonJun416:50:562018]::1:54863[200]:/wp-admin/images/wordpress-logo.svg?ver=20131107[MonJun416:50:572018]::1:54864[404]:/favicon.ico-Nosuchfileordirectory

启动时指定根目录

如果要自定义启动根目录,你可以使用-t参数来自定义不同的目录。$cd/tmp/wordpress-install$php-Slocalhost:8000-twp-admin/PHP7.1.16DevelopmentServerstartedatMonJun416:53:552018Listeningonhttp://localhost:8000Documentrootis/private/tmp/wordpress-install/wp-adminPressCtrl-Ctoquit.[MonJun416:54:042018]::1:54912[302]:/

使用路由脚本

默认情况下,PHP 建立的 Web 服务器会由index.php接收所有请求参数。如果要让指定的 PHP 文件来处理请求,可以在启动这个 Web 服务器时直接指定要处理请求的文件名。这个文件会作为一个路由脚本,意味着每次请求都会先执行这个脚本。(通常将此文件命名为 router.php)

下面我们来看一个例子,请求图片直接显示图片,请求 HTML 则显示 “Welcome to PHP”。$vimrouter.php<?php //router.phpif(preg_match('/\.(?:png|jpg|jpeg|gif)$/',$_SERVER["REQUEST_URI"]))returnfalse;//直接返回请求的文件else{echo"

WelcometoPHP

";}?>

执行后,访问 HTML 文件就会在终端窗口输出对应的 HTML 代码。$php-Slocalhost:8000router.phpPHP7.1.16DevelopmentServerstartedatMonJun417:00:192018Listeningonhttp://localhost:8000Documentrootis/private/tmp/wordpress-installPressCtrl-Ctoquit.$curlhttp://localhost:8000/index.html

WelcometoPHP

%

接下来,我们在看看访问图片。访问图片后就会在终端窗口输出类似以下的访问日志:[MonJun417:00:392018]::1:55008[200]:/wp-content/themes/twentyseventeen/assets/images/coffee.jpg[MonJun417:00:572018]::1:55034[200]:/wp-content/themes/twentyseventeen/assets/images/espresso.jpg[MonJun417:01:082018]::1:55035[200]:/wp-content/themes/twentyseventeen/assets/images/header.jpg[MonJun417:01:162018]::1:55037[200]:/wp-content/themes/twentyseventeen/assets/images/sandwich.jpg

今日思想

不能忍受生命中注定要忍受的事情,就是软弱和愚蠢的表现。

——勃朗特