为何在PhpStorm新建目录与文件中PHP的$_GET变量不为空?
问题解释:PhpStorm中$_GET自动带有_ijt参数的原因
在PhpStorm中新建目录与文件后,运行以下PHP代码检测$_GET变量:
print_r($_GET); var_dump($_GET); if (empty($_GET)) { echo '$_GET is either 0, empty, or not set at all'; } else { echo '$_GET is not empty'; }
得到的输出结果为:
Array ( [_ijt] => mt4q815k0l6ke5gpmebq419g12 ) array (size=1) '_ijt' => string 'mt4q815k0l6ke5gpmebq419g12' (length=26)
同时输出了$_GET is not empty。
原因说明
这个_ijt参数是PhpStorm内置PHP开发服务器自动添加的标识,核心作用是标记当前会话连接,规避静态资源缓存问题,保证每次请求都能加载最新的文件内容。
当你通过PhpStorm的运行按钮直接启动PHP文件时,它会拉起自带的开发服务器,这个服务器会自动在请求URL末尾追加_ijt参数,因此$_GET数组会包含这个键值对,导致empty($_GET)返回false,最终输出$_GET is not empty。
如果不想看到这个参数,可以手动在浏览器中直接访问PHP文件路径,而非通过PhpStorm的运行入口打开;或者改用外部Web服务器(如XAMPP、WAMP)运行代码,这类服务器不会自动添加该参数。
内容的提问来源于stack exchange,提问作者O.K
相关产品推荐
相关产品推荐

