php - 为什么 php 内置的 web 服务器在这种情况下不起作用?
问题描述
当我尝试使此代码在内置 php 服务器中工作时,它不起作用。
我尝试做的是:
- 在 cmd 中运行
php -S 0.0.0.0:8000 file.php
此命令。接下来我http://localhost:8000
在浏览器中输入。 - 单击应该将我带到页面中指定的其他站点的按钮后,
file.php
该页面将清除其内容,但不会按应有的方式更改。不过,地址栏发生了变化。
文件 1。
<!DOCTYPE html>
<html>
<head>
<title>PHP</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<form action="example.php" method="post">
Count:
<input type="text" name="Example">
<input type="submit" value="Click">
</form>
</body>
</html>
文件 2。
<!DOCTYPE html>
<html>
<head>
<title>PHP</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<body>
<?php echo $_POST['Example']; ?>
</body>
</html>
解决方案
就像手册说的那样:“如果在启动 Web 服务器时在命令行上给出了一个 PHP 文件,它将被视为一个“路由器”脚本”
这意味着,如果您定义file.php
启动 Web 服务器的时间,所有请求都将作为目标file.php
,并由您的应用程序来处理路由。
如果您不想这样做,则需要将开始文件重命名file.php
为index.php
(如果您不传递文件名,这是 Web 服务器查找的默认文件)。
现在您可以使用以下命令启动服务器:
php -S 0.0.0.0:8000
它应该按预期工作。
推荐阅读
- javascript - 无法获取 OneSignal 用户 ID (cordova)
- azure - 自定义策略 REST API ValidationTechnicalProfile ContinueOnError 不适用于 HTTP 代码,例如 404 NotFound 和 401 未授权
- yaml - 如何在 YAML 中配置别名?
- python - 如何使用 Python 读取文件并将其完全写入多个文本文件?
- javascript - 如何从 bitstamp 获取比特币价格
- javascript - 我使用的是哪个版本的 Microsoft Edge?
- dart - 如何动态更改小部件的属性?
- angular - 错误类型错误:无法读取未定义的属性“导航”
- mysql - 使用mysql获取今天之后一天/一个月的下一次出现
- clojure - 如何使用函数spit编写函数的结果?