我通常使用 Apache 作为我的 php 应用程序的 Web 服务器。但我只是发现 php 5.4 带有一个内置的 Web 服务器。
在我尝试加载 php -S 的第一个应用程序中,我注意到重写规则未启用或无法正常工作。
有人知道内置服务器有没有这样的东西?
我通常使用 Apache 作为我的 php 应用程序的 Web 服务器。但我只是发现 php 5.4 带有一个内置的 Web 服务器。
在我尝试加载 php -S 的第一个应用程序中,我注意到重写规则未启用或无法正常工作。
有人知道内置服务器有没有这样的东西?
从手册的内置 Web 服务器部分:
如果在启动 Web 服务器时在命令行上给出了 PHP 文件,则将其视为“路由器”脚本。该脚本在每个 HTTP 请求开始时运行。如果此脚本返回 FALSE,则按原样返回请求的资源。否则脚本的输出将返回给浏览器。
路由器文件
<?php
// routing.php
if (preg_match('/\.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"])) {
return false;
} else {
include __DIR__ . '/index.php';
}
然后使用以下命令启动服务器:
php -S localhost:8888 routing.php
信用: http: //gonzalo123.com/2012/10/15/how-to-rewrite-urls-with-php-5-4s-built-in-web-server/
重要的提示
此 Web 服务器旨在帮助应用程序开发。它也可用于测试目的或在受控环境中运行的应用程序演示。它并非旨在成为功能齐全的 Web 服务器。它不应该在公共网络上使用。