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

VS Code中Intelephense无法识别引入文件中的PHP变量

解决PHP Intelephense提示“Undefined variable '$con'”的问题

你的代码场景:

$root = $_SERVER['DOCUMENT_ROOT'];
include($root . '/sqlcon.php');

$gettextquery = mysqli_query($con, "SELECT * FROM `pics` WHERE ai_cats = ''");

收到提示:

Undefined variable '$con'

尽管$con在sqlcon.php中定义,且已尝试清除缓存、重启VS Code,可按以下方案解决:

  • 显式声明全局变量
    在include语句后添加global $con;,明确告知Intelephense该变量来自全局作用域:
$root = $_SERVER['DOCUMENT_ROOT'];
include($root . '/sqlcon.php');
global $con;

$gettextquery = mysqli_query($con, "SELECT * FROM `pics` WHERE ai_cats = ''");
  • 给$con添加类型注释
    在sqlcon.php中$con的定义上方添加文档注释,指定变量类型:
/** @var mysqli $con */
$con = mysqli_connect('localhost', 'username', 'password', 'database');
  • 检查Intelephense的文件包含范围
    打开VS Code设置(快捷键Ctrl+,),搜索intelephense.files.include,确保sqlcon.php所在目录被纳入扫描范围。若使用动态路径导致扩展无法识别,可手动添加目录:
"intelephense.files.include": [
    "**/*.php",
    "/your/project/path/**/*.php"
]
  • 触发项目重新索引
    按下Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(Mac),输入PHP Intelephense: Rebuild,让扩展重新扫描所有文件,识别变量定义。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.01 20:42:26