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

WSL2环境下VSCode Code Runner调用Windows PHP报错咨询

WSL2下VSCode Code Runner调用Windows XAMPP PHP报错的问题

环境:WSL2(Ubuntu 20.04)+ VSCode,搭配Code Runner扩展与Windows端XAMPP。已在Windows环境变量配置php.exe路径,VSCode的settings.json中给Code Runner设置PHP执行器路径为"C:\\xampp\\php\\php.exe"。右键运行index.php时,终端报错:/bin/sh: 1: C:xamppphpphp.exe: not found;修改shell类型后错误变为/bin/sh: C:xamppphpphp.exe: not found。

1. 报错原因

  • 你当前使用的是WSL2的Ubuntu终端环境,该环境默认遵循Linux路径规则,无法直接识别Windows的盘符路径格式(比如C:\xxx)。
  • 路径被处理后变成了无分隔符的C:xamppphpphp.exe,shell找不到这个不存在的文件,因此抛出"not found"错误。

2. 路径反斜杠丢失的原因

  • 在JSON配置文件(如settings.json)中,反斜杠\是转义字符,你写入的\\会被JSON解析器转换成单个\。
  • 当这个路径传递给WSL的shell时,shell会把单个\当作转义符处理——由于\x这类组合没有特殊转义意义,shell会直接忽略反斜杠,导致所有路径段拼接在一起,最终变成C:xamppphpphp.exe。

修复方案

要在WSL2环境中调用Windows的PHP,需遵循WSL的路径转换规则:

  • 将Windows的C:\路径转换为WSL的/mnt/c/格式,正确的PHP路径应为/mnt/c/xampp/php/php.exe
  • 修改VSCode的settings.json中Code Runner的PHP配置:
    "code-runner.executorMap": {
        "php": "/mnt/c/xampp/php/php.exe"
    }
    
  • 确保WSL已挂载Windows C盘(默认自动挂载,若未挂载可执行命令:sudo mkdir /mnt/c && sudo mount -t drvfs C: /mnt/c)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 02:28:34