You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

启动本地PHP服务器后终端无法切换目录,是否必须退出服务器?

必须退出PHP开发服务器才能切换目录吗?

我在终端执行cd project后,进入了如下状态:

MacBook-Pro:project work$

接着我通过以下命令启动了本地PHP开发服务器:

MacBook-Pro:project work$ php -S 127.0.0.1:8000 -t public

服务器启动后显示:

PHP 7.2.6 Development Server started at Tue May 29 10:45:40 2018
Listening on http://127.0.0.1:8000
Document root is /Users/work/project/public
Press Ctrl-C to quit.

这时候我尝试执行cd或cd project命令都没有任何反应,只有按下Ctrl-C退出服务器后,才会重新出现MacBook-Pro:project work$提示符。请问是否必须退出服务器才能切换目录?


不用必须退出服务器就能切换目录的,这是因为你当前的终端会话被PHP开发服务器占用了——服务器在前台运行时会持续监听请求,终端此时会优先处理服务器的输出和运行状态,自然不会响应你的命令输入。

给你几个实用的解决办法:

  • 后台运行服务器
    启动服务器的时候在命令末尾加上&,让它在后台运行:

    php -S 127.0.0.1:8000 -t public &
    

    这样终端会立刻回到命令提示符状态,你可以正常执行cd等命令。如果需要停止后台的服务器,用fg命令把它调回前台,再按Ctrl-C退出;或者先用ps aux | grep php找到进程ID,再用kill [进程ID]终止进程。

  • 打开新的终端窗口/标签页
    直接新开一个终端会话,在新窗口里执行cd project或者其他目录切换命令,原来的终端窗口保持服务器运行即可。这是最直观也最常用的方式,不用折腾后台进程的操作。

  • 使用终端多路复用工具(进阶)
    比如安装tmux或者screen这类工具,它们可以在同一个终端窗口里创建多个会话面板。你可以在一个面板里运行服务器,切换到另一个面板执行目录操作,不用开多个终端窗口,适合习惯高效操作的开发者。

简单来说,前台运行的进程会占据当前终端的输入焦点,只要让服务器不占用当前会话的焦点,你就能正常执行目录切换命令啦~


内容的提问来源于stack exchange,提问作者peace_love

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:46:32