首页 > 解决方案 > PHP开发服务器在启动时冻结

问题描述

嗨,我开始学习 PHP,第一步是运行开发服务器开始练习,我使用的行是:

php -S localhost:4000

但它只是冻结了,我得到了这条线:

PHP 8.0.7 Development Server (http://localhost:4000) started

在等待了很长时间后,我得到了这个:

[Tue Jun 15 08:25:08 2021] PHP 8.0.7 Development Server (http://localhost:4000) started
[Tue Jun 15 08:50:15 2021] [::1]:62470 Accepted
[Tue Jun 15 08:50:15 2021] [::1]:62471 Accepted
[Tue Jun 15 08:50:16 2021] [::1]:62470 [404]: (null) / - No such file or directory
[Tue Jun 15 08:50:16 2021] [::1]:62470 Closing
[Tue Jun 15 08:50:18 2021] [::1]:62471 Closed without sending a request; it was probably just an unused speculative preconnection
[Tue Jun 15 08:50:18 2021] [::1]:62471 Closing

你能帮我弄清楚发生了什么吗?

标签: php

解决方案


服务器没有“冻结”,它正在做它的工作,等待请求并提供响应。在 Web 浏览器中转到 http://localhost:4000 以向其请求某些内容。

具体来说,由于您没有指定要运行的 PHP 脚本,它正在等待您请求特定文件 - 如果您有一个名为“index.php”的文件,您可以转到“http://localhost:4000” /index.php”,如果它被称为“arnoldo-rocks.php”,请转到“http://localhost:4000/arnoldo-rocks.php”,依此类推。

它会继续这样做,直到你用 Ctrl-C 杀死它

如果你想在运行其他命令的同时在后台运行它,并且使用 Linux/Unix shell(不是 CMD 或 PowerShell),你可以这样运行它:

php -S localhost:4000 &

这将启动它并立即“将其置于后台”;要杀死它,您需要运行fg(“将最近的后台进程置于前台”),然后键入 Ctrl-C


推荐阅读