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

CLI环境下PHP include_once仅输出文件内容未执行代码问题求助

问题分析与解决方案

问题根源

你的include.php文件开头使用了短标签<?,而CLI环境下PHP默认未启用短标签解析(short_open_tag配置项为Off),导致PHP将<?识别为普通文本直接输出,而非PHP代码的起始标记。而Nginx环境对应的PHP配置开启了短标签支持,因此能正常执行代码。

解决方法

有两种可行的修复方案:

  1. 修改文件标签(推荐):将include.php开头的<?替换为标准PHP标签<?php,这是跨环境兼容的最优方案,无需依赖配置差异。修改后的代码如下:
<?php
require_once(dirname(__FILE__).'/classes/CommonObject.php');  
require_once(dirname(__FILE__).'/classes/Callback.php');
require_once(dirname(__FILE__).'/classes/AdminSecurity.php');
require_once(dirname(__FILE__).'/classes/Site.php');
  1. 调整CLI环境PHP配置:找到CLI对应的php.ini文件(注意与Nginx使用的可能不是同一个配置文件),将short_open_tag参数设置为On:
short_open_tag = On

修改后重启CLI会话即可生效,但这种方式依赖环境配置,更换环境后可能再次出现问题。

验证

修改完成后,再次在CLI中执行php test.php,即可正常执行include.php中的代码,不会再输出文件内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 18:32:13