Live Server与PHP Server无法识别根目录问题求助
问题分析与解决方案
你的问题核心是PHP Server扩展的根目录配置错误,导致启动服务器时无法定位到PHP文件路径C:\Users\frank\www\,同时settings.json中的路径格式不符合JSON要求,引发"invalid path"提示。以下是具体修复步骤:
1. 修正settings.json中的路径格式与根目录配置
Windows路径在JSON中需要用**正斜杠(/)或者双反斜杠(\\)**转义,同时需添加PHP Server的根目录配置。修改后的settings.json如下:
{ "phpserver.port": 4000, "phpserver.phpConfigPath": "C:/php/php.ini", "phpserver.phpPath": "C:/php/php.exe", "phpserver.browser": "google-chrome", "phpserver.root": "C:/Users/frank/www/", // 添加该行指定PHP文件根目录 "liveServer.settings.host": "localhost", "liveServer.settings.root": "./" // 改为相对当前工作区的路径,与PHP Server保持一致 }
2. 调整PHP Server扩展的Relative Path设置
打开PHP Server的设置面板,将Relative Path修改为./,确保扩展启动服务器时,根目录指向C:\Users\frank\www\(需提前在VS Code中打开C:\Users\frank\www\作为工作区)。
3. 正确启动PHP服务器的方式
- 命令行启动:先切换到PHP文件根目录再执行命令
此时服务器根目录为cd C:\Users\frank\www\ php -S localhost:4000C:\Users\frank\www\,直接访问localhost:4000/index.php即可打开文件。 - 扩展启动:确保VS Code工作区是
C:\Users\frank\www\,点击PHP Server扩展的启动按钮,直接访问localhost:4000/index.php即可。
手动输入路径能访问的原因
你手动输入localhost:4000/www/index.php能加载,是因为执行php -S localhost:4000时的命令行工作目录是C:\Users\frank\,此时服务器根目录为C:\Users\frank\,/www/index.php刚好对应C:\Users\frank\www\index.php。但PHP Server扩展默认不会继承这个工作目录,必须手动配置根目录。
内容的提问来源于stack exchange,提问作者Frankie
相关产品推荐
相关产品推荐

