如何在日常使用的Ubuntu桌面环境中配置按需启动的PHP本地开发环境
嘿,太懂你这种“以前搞定过现在完全摸不着头脑”的感觉了!刚好我之前在Ubuntu桌面环境里折腾过这种不需要常驻服务、随用随启随关的PHP开发环境,还完美支持IDE断点调试,给你一步步捋清楚:
第一步:安装必要的PHP工具包
首先得把基础的PHP CLI和调试组件装上,打开终端跑这个命令:
sudo apt update && sudo apt install php-cli php-xdebug php-curl php-mbstring
php-cli:让你能直接从命令行运行PHP脚本,也是启动内置服务器的基础php-xdebug:这是实现断点调试的核心扩展,必须装- 后面的
php-curl和php-mbstring是日常开发常用的扩展,提前装上避免后续踩坑
第二步:配置Xdebug支持断点调试
接下来要给Xdebug做基础配置,让它能和你的IDE联动。找到Xdebug的配置文件(路径一般是/etc/php/[你的PHP版本号]/cli/conf.d/20-xdebug.ini,比如PHP8.2就是/etc/php/8.2/cli/conf.d/20-xdebug.ini),用编辑器打开(比如sudo nano /etc/php/8.2/cli/conf.d/20-xdebug.ini),添加以下内容:
xdebug.mode = debug xdebug.start_with_request = yes xdebug.client_host = 127.0.0.1 xdebug.client_port = 9003
注意:9003是Xdebug 3.x的默认调试端口,如果你用的是老版本Xdebug(2.x),端口是9000,记得对应调整。
第三步:按需启动PHP内置服务器
这就是实现“不常驻、随用随关”的关键!PHP自带了一个轻量的内置Web服务器,完全不需要装Apache或者Nginx。
- 打开终端,cd到你的PHP项目根目录
- 运行命令:
php -S localhost:8000 - 这时候服务器就启动了,浏览器访问
http://localhost:8000就能看到你的项目页面 - 用完之后直接在终端按
Ctrl+C,服务器就立刻关闭,不会在后台偷偷运行
要是觉得每次敲命令麻烦,可以给自己整个别名:打开~/.bashrc文件,加一行alias phpserver='php -S localhost:8000',保存后运行source ~/.bashrc,下次直接敲phpserver就能启动服务器了。需要换端口的话,比如php -S localhost:8080就行。
第四步:IDE关联调试配置
以VS Code为例,先安装「PHP Debug」插件,然后点击左侧的调试图标,创建launch.json配置文件,粘贴以下内容:
{ "version": "0.2.0", "configurations": [ { "name": "监听Xdebug", "type": "php", "request": "launch", "port": 9003 }, { "name": "运行当前打开的脚本", "type": "php", "request": "launch", "program": "${file}", "cwd": "${fileDirname}", "port": 9003 } ] }
配置好之后,你可以:
- 在代码里打个断点,启动IDE的调试监听,然后刷新浏览器里的项目页面,断点就会触发
- 或者直接调试单个PHP脚本,选择「运行当前打开的脚本」配置就能启动调试
如果用的是PhpStorm,更简单:直接开启右上角的调试监听按钮,然后在设置里把Xdebug的端口设为9003,就能自动联动调试了。
备注:内容来源于stack exchange,提问作者lilHar

