首页 > 解决方案 > 为什么 php 内置的 web 服务器在这种情况下不起作用?

问题描述

当我尝试使此代码在内置 php 服务器中工作时,它不起作用。

我尝试做的是:

  1. 在 cmd 中运行php -S 0.0.0.0:8000 file.php此命令。接下来我 http://localhost:8000在浏览器中输入。
  2. 单击应该将我带到页面中指定的其他站点的按钮后,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>

标签: phphtml

解决方案


就像手册说的那样:“如果在启动 Web 服务器时在命令行上给出了一个 PHP 文件,它将被视为一个“路由器”脚本”

这意味着,如果您定义file.php启动 Web 服务器的时间,所有请求都将作为目标file.php,并由您的应用程序来处理路由。

如果您不想这样做,则需要将开始文件重命名file.phpindex.php(如果您不传递文件名,这是 Web 服务器查找的默认文件)。

现在您可以使用以下命令启动服务器:

php -S 0.0.0.0:8000

它应该按预期工作。


推荐阅读