登录
首页 >  文章 >  php教程

PHP查看PHPINFO方法详解

时间:2026-05-01 23:58:41 415浏览 收藏

本文深入探讨了在PHP中如何准确判断phpinfo()是否已被成功执行并输出有效信息,指出仅靠函数返回值或代码存在性无法可靠检测,而最实用的方法是结合ob_start()捕获输出并匹配“PHP Version”“PHP Credits”等标志性内容,同时兼顾disable_functions配置检查、CLI模式差异及安全模块(如Suhosin)导致的敏感字段过滤问题,为开发者提供了一套兼顾鲁棒性、兼容性与安全意识的完整验证方案。

PHP怎样检测PHPINFO信息_PHP检测PHPINFO信息调用【查看】

怎么判断当前页面是否输出了 phpinfo() 内容

直接检测 phpinfo() 是否被调用过,PHP 本身不提供运行时钩子或状态标志。它只是立即输出 HTML 表格并返回 true(成功)或 false(失败),但不记录“是否已执行”。所以不能靠查变量或函数调用栈来反向确认——除非你主动拦截。

用 ob_start 拦截并检查 phpinfo() 输出内容

这是最可靠、实际可用的方法:把 phpinfo() 的输出捕获到缓冲区,再用字符串匹配判断是否真生成了标准信息表。注意必须在 phpinfo() 调用前开启输出缓冲。

  • 仅对当前请求有效,不影响其他脚本
  • 匹配 PHP Version

    PHP Credits

    等标志性 HTML 片段比匹配文字更稳定(避免语言/版本差异)
  • 若服务器禁用了 phpinfo()(如 disable_functions=phpinfo),调用会失败并触发警告,需配合 @ 抑制或 set_error_handler
ob_start();
@phpinfo();
$output = ob_get_clean();
if (strpos($output, 'PHP Version') !== false || strpos($output, '<h1>PHP Credits') !== false) {
    echo "phpinfo() 已执行且输出正常";
} else {
    echo "phpinfo() 未执行,或被禁用/出错";
}</pre>

<h3>检查 phpinfo() 是否被禁用(disable_functions)</h3>
<p>很多生产环境会通过 <code>php.ini</code> 的 <code>disable_functions</code> 关闭它。这时调用 <code>phpinfo()</code> 会返回 <code>false</code> 并抛出 <code>E_WARNING</code>。单纯看返回值不够,得结合配置检查。</p>
<ul><li>用 <code>ini_get('disable_functions')</code> 获取禁用函数列表,再用 <code>in_array('phpinfo', explode(',', ini_get('disable_functions')))</code> 判断</li>
<li>注意空格:<code>disable_functions = exec,passthru,phpinfo</code> 中的逗号后可能有空格,建议用 <code>array_map('trim', ...)</code> 处理</li>
<li><code>phpinfo()</code> 在 CLI 模式下默认不输出 HTML,而是纯文本,此时匹配逻辑要相应调整(比如搜 <code>"PHP Version"</code> 而非 HTML 标签)</li>
</ul><h3>为什么不能用 get_defined_functions() 或 debug_backtrace() 检测</h3>
<p>因为 <code>phpinfo()</code> 是语言内置函数,不是用户定义函数,不会出现在 <code>get_defined_functions()['internal']</code> 的“已调用”列表里;<code>debug_backtrace()</code> 只能查当前调用栈,无法回溯历史调用。</p>
<p>更关键的是:即使你在一个文件里写了 <code>phpinfo()</code>,它也可能被前面的 <code>exit</code>、<code>die</code>、异常或 <code>http_response_code(403)</code> 阻断——所以“代码存在”不等于“已执行”。真正有意义的检测,永远落在输出结果或系统配置层面。</p>
<p>最易被忽略的一点:某些安全加固模块(如 Suhosin、Hardened PHP)不仅禁用函数,还会在 <code>phpinfo()</code> 输出中自动过滤敏感字段(如 <code>$_SERVER</code>、扩展路径),此时内容虽存在,但关键信息已被裁剪——光看是否有输出还不够,得校验字段完整性。</p><p>今天关于《PHP查看PHPINFO方法详解》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!</p>      </div>
        <div class="labsList">
                    </div>
          </div>

         <!-- 最新阅读 -->
     <div class="contBoxNor">
      <div class="contTit">
        <div class="tit">相关阅读</div>
        <a href="/articlelist.html" class="more">更多></a>
      </div>
      <ul class="latestReadList">
                <li>
          <div class="info">
                                  <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> ·
                                <a href="/articlelist/84_new_0_1.html" class="aLightGray" title="php教程">php教程</a>
                          |  2年前  |  
                                       <a href="javascript:;" class="aLightGray" title="PHP技术">PHP技术</a>
                                                 <a href="javascript:;" class="aLightGray" title="高薪回报">高薪回报</a>
                                                 <a href="javascript:;" class="aLightGray" title="发展前景">发展前景</a>
                      </div>
          <div class="tit lineOverflow"><a href="/article/61908.html"  title="PHP技术的高薪回报与发展前景" class="aBlack">PHP技术的高薪回报与发展前景</a></div>
          <div class="opt">
            <span><i class="view"></i>501</span>
            <span class="collectBtn user_collection" data-id="61908" data-type="article" title="收藏"><i class="collect"></i>收藏</span>
          </div>
        </li>
                <li>
          <div class="info">
                                  <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> ·
                                <a href="/articlelist/84_new_0_1.html" class="aLightGray" title="php教程">php教程</a>
                          |  2年前  |  
                                       <a href="javascript:;" class="aLightGray" title="php">php</a>
                                                 <a href="javascript:;" class="aLightGray" title="优惠券">优惠券</a>
                                                 <a href="javascript:;" class="aLightGray" title="商场">商场</a>
                      </div>
          <div class="tit lineOverflow"><a href="/article/62538.html"  title="基于 PHP 的商场优惠券系统开发中的常见问题解决方案" class="aBlack">基于 PHP 的商场优惠券系统开发中的常见问题解决方案</a></div>
          <div class="opt">
            <span><i class="view"></i>501</span>
            <span class="collectBtn user_collection" data-id="62538" data-type="article" title="收藏"><i class="collect"></i>收藏</span>
          </div>
        </li>
                <li>
          <div class="info">
                                  <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> ·
                                <a href="/articlelist/84_new_0_1.html" class="aLightGray" title="php教程">php教程</a>
                          |  2年前  |  
                                       <a href="javascript:;" class="aLightGray" title="PHP支付功能">PHP支付功能</a>
                                                 <a href="javascript:;" class="aLightGray" title="在线支付开发">在线支付开发</a>
                                                 <a href="javascript:;" class="aLightGray" title="简单支付实现">简单支付实现</a>
                      </div>
          <div class="tit lineOverflow"><a href="/article/62741.html"  title="如何使用PHP开发简单的在线支付功能" class="aBlack">如何使用PHP开发简单的在线支付功能</a></div>
          <div class="opt">
            <span><i class="view"></i>501</span>
            <span class="collectBtn user_collection" data-id="62741" data-type="article" title="收藏"><i class="collect"></i>收藏</span>
          </div>
        </li>
                <li>
          <div class="info">
                                  <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> ·
                                <a href="/articlelist/84_new_0_1.html" class="aLightGray" title="php教程">php教程</a>
                          |  2年前  |  
                                       <a href="javascript:;" class="aLightGray" title="分布式缓存">分布式缓存</a>
                                                 <a href="javascript:;" class="aLightGray" title="PHP消息队列">PHP消息队列</a>
                                                 <a href="javascript:;" class="aLightGray" title="缓存刷新器">缓存刷新器</a>
                      </div>
          <div class="tit lineOverflow"><a href="/article/62881.html"  title="PHP消息队列开发指南:实现分布式缓存刷新器" class="aBlack">PHP消息队列开发指南:实现分布式缓存刷新器</a></div>
          <div class="opt">
            <span><i class="view"></i>501</span>
            <span class="collectBtn user_collection" data-id="62881" data-type="article" title="收藏"><i class="collect"></i>收藏</span>
          </div>
        </li>
                <li>
          <div class="info">
                                  <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> ·
                                <a href="/articlelist/84_new_0_1.html" class="aLightGray" title="php教程">php教程</a>
                          |  2年前  |  
                                       <a href="javascript:;" class="aLightGray" title="微服务">微服务</a>
                                                 <a href="javascript:;" class="aLightGray" title="调度">调度</a>
                                                 <a href="javascript:;" class="aLightGray" title="分布式任务">分布式任务</a>
                      </div>
          <div class="tit lineOverflow"><a href="/article/63734.html"  title="如何在PHP微服务中实现分布式任务分配和调度" class="aBlack">如何在PHP微服务中实现分布式任务分配和调度</a></div>
          <div class="opt">
            <span><i class="view"></i>501</span>
            <span class="collectBtn user_collection" data-id="63734" data-type="article" title="收藏"><i class="collect"></i>收藏</span>
          </div>
        </li>
              </ul>
    </div>
         <!-- 最新阅读 -->
      <div class="contBoxNor">
          <div class="contTit">
              <div class="tit">最新阅读</div>
              <a href="/articlelist.html" class="more">更多></a>
          </div>
          <ul class="latestReadList">
                            <li>
                  <div class="info">
                                            <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> ·
                                            <a href="/articlelist/84_new_0_1.html" class="aLightGray" title="php教程">php教程</a>
                                              |  6天前  |  
                                            <a href="javascript:;" class="aLightGray" title="PHP字符串">PHP字符串</a>
                      </div>
                  <div class="tit lineOverflow"><a href="/article/619685.html"  title="PHPBase64解密方法与实战教程" class="aBlack">PHPBase64解密方法与实战教程</a></div>
                  <div class="opt">
                      <span><i class="view"></i>291</span>
                      <span class="collectBtn user_collection" data-id="619685" data-type="article" title="收藏"><i class="collect"></i>收藏</span>
                  </div>
              </li>
                            <li>
                  <div class="info">
                                            <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> ·
                                            <a href="/articlelist/84_new_0_1.html" class="aLightGray" title="php教程">php教程</a>
                                              |  6天前  |  
                      </div>
                  <div class="tit lineOverflow"><a href="/article/619672.html"  title="PHP移动端扫码数据接收与处理技巧" class="aBlack">PHP移动端扫码数据接收与处理技巧</a></div>
                  <div class="opt">
                      <span><i class="view"></i>169</span>
                      <span class="collectBtn user_collection" data-id="619672" data-type="article" title="收藏"><i class="collect"></i>收藏</span>
                  </div>
              </li>
                            <li>
                  <div class="info">
                                            <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> ·
                                            <a href="/articlelist/84_new_0_1.html" class="aLightGray" title="php教程">php教程</a>
                                              |  6天前  |  
                                            <a href="javascript:;" class="aLightGray" title="phpenv">phpenv</a>
                      </div>
                  <div class="tit lineOverflow"><a href="/article/619664.html"  title="PHPEnv解决Accessdenied报错教程" class="aBlack">PHPEnv解决Accessdenied报错教程</a></div>
                  <div class="opt">
                      <span><i class="view"></i>222</span>
                      <span class="collectBtn user_collection" data-id="619664" data-type="article" title="收藏"><i class="collect"></i>收藏</span>
                  </div>
              </li>
                            <li>
                  <div class="info">
                                            <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> ·
                                            <a href="/articlelist/84_new_0_1.html" class="aLightGray" title="php教程">php教程</a>
                                              |  6天前  |  
                                            <a href="javascript:;" class="aLightGray" title="Laravel">Laravel</a>
                      </div>
                  <div class="tit lineOverflow"><a href="/article/619648.html"  title="Laravel并发任务日志记录方法" class="aBlack">Laravel并发任务日志记录方法</a></div>
                  <div class="opt">
                      <span><i class="view"></i>322</span>
                      <span class="collectBtn user_collection" data-id="619648" data-type="article" title="收藏"><i class="collect"></i>收藏</span>
                  </div>
              </li>
                            <li>
                  <div class="info">
                                            <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> ·
                                            <a href="/articlelist/84_new_0_1.html" class="aLightGray" title="php教程">php教程</a>
                                              |  6天前  |  
                      </div>
                  <div class="tit lineOverflow"><a href="/article/619641.html"  title="宝塔面板Docker部署方法详解" class="aBlack">宝塔面板Docker部署方法详解</a></div>
                  <div class="opt">
                      <span><i class="view"></i>362</span>
                      <span class="collectBtn user_collection" data-id="619641" data-type="article" title="收藏"><i class="collect"></i>收藏</span>
                  </div>
              </li>
                            <li>
                  <div class="info">
                                            <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> ·
                                            <a href="/articlelist/84_new_0_1.html" class="aLightGray" title="php教程">php教程</a>
                                              |  6天前  |  
                      </div>
                  <div class="tit lineOverflow"><a href="/article/619636.html"  title="学号重复检测,PHP唯一性校验技巧" class="aBlack">学号重复检测,PHP唯一性校验技巧</a></div>
                  <div class="opt">
                      <span><i class="view"></i>117</span>
                      <span class="collectBtn user_collection" data-id="619636" data-type="article" title="收藏"><i class="collect"></i>收藏</span>
                  </div>
              </li>
                            <li>
                  <div class="info">
                                            <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> ·
                                            <a href="/articlelist/84_new_0_1.html" class="aLightGray" title="php教程">php教程</a>
                                              |  6天前  |  
                                            <a href="javascript:;" class="aLightGray" title="Webman">Webman</a>
                      </div>
                  <div class="tit lineOverflow"><a href="/article/619625.html"  title="Webman多应用模式:多域名多系统架构解析" class="aBlack">Webman多应用模式:多域名多系统架构解析</a></div>
                  <div class="opt">
                      <span><i class="view"></i>231</span>
                      <span class="collectBtn user_collection" data-id="619625" data-type="article" title="收藏"><i class="collect"></i>收藏</span>
                  </div>
              </li>
                            <li>
                  <div class="info">
                                            <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> ·
                                            <a href="/articlelist/84_new_0_1.html" class="aLightGray" title="php教程">php教程</a>
                                              |  6天前  |  
                                            <a href="javascript:;" class="aLightGray" title="Yii框架">Yii框架</a>
                      </div>
                  <div class="tit lineOverflow"><a href="/article/619623.html"  title="Yii框架入口文件隐藏与URL优化方案" class="aBlack">Yii框架入口文件隐藏与URL优化方案</a></div>
                  <div class="opt">
                      <span><i class="view"></i>278</span>
                      <span class="collectBtn user_collection" data-id="619623" data-type="article" title="收藏"><i class="collect"></i>收藏</span>
                  </div>
              </li>
                            <li>
                  <div class="info">
                                            <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> ·
                                            <a href="/articlelist/84_new_0_1.html" class="aLightGray" title="php教程">php教程</a>
                                              |  6天前  |  
                      </div>
                  <div class="tit lineOverflow"><a href="/article/619586.html"  title="PHP加密数据查询与解密方法详解" class="aBlack">PHP加密数据查询与解密方法详解</a></div>
                  <div class="opt">
                      <span><i class="view"></i>123</span>
                      <span class="collectBtn user_collection" data-id="619586" data-type="article" title="收藏"><i class="collect"></i>收藏</span>
                  </div>
              </li>
                            <li>
                  <div class="info">
                                            <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> ·
                                            <a href="/articlelist/84_new_0_1.html" class="aLightGray" title="php教程">php教程</a>
                                              |  6天前  |  
                      </div>
                  <div class="tit lineOverflow"><a href="/article/619581.html"  title="安全下载PHP文件的正确方式" class="aBlack">安全下载PHP文件的正确方式</a></div>
                  <div class="opt">
                      <span><i class="view"></i>186</span>
                      <span class="collectBtn user_collection" data-id="619581" data-type="article" title="收藏"><i class="collect"></i>收藏</span>
                  </div>
              </li>
                            <li>
                  <div class="info">
                                            <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> ·
                                            <a href="/articlelist/84_new_0_1.html" class="aLightGray" title="php教程">php教程</a>
                                              |  6天前  |  
                      </div>
                  <div class="tit lineOverflow"><a href="/article/619553.html"  title="PHP空合并运算符??与??=使用技巧解析" class="aBlack">PHP空合并运算符??与??=使用技巧解析</a></div>
                  <div class="opt">
                      <span><i class="view"></i>153</span>
                      <span class="collectBtn user_collection" data-id="619553" data-type="article" title="收藏"><i class="collect"></i>收藏</span>
                  </div>
              </li>
                            <li>
                  <div class="info">
                                            <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> ·
                                            <a href="/articlelist/84_new_0_1.html" class="aLightGray" title="php教程">php教程</a>
                                              |  6天前  |  
                      </div>
                  <div class="tit lineOverflow"><a href="/article/619550.html"  title="PHP数组遍历方法对比与优化技巧" class="aBlack">PHP数组遍历方法对比与优化技巧</a></div>
                  <div class="opt">
                      <span><i class="view"></i>460</span>
                      <span class="collectBtn user_collection" data-id="619550" data-type="article" title="收藏"><i class="collect"></i>收藏</span>
                  </div>
              </li>
                        </ul>
      </div>
    <!-- 课程推荐 -->
    <div class="contBoxNor">
      <div class="contTit">
        <div class="tit">课程推荐</div>
        <a href="/courselist.html" class="more">更多></a>
      </div>
      <ul class="classRecomList">
                <li>
          <a href="/course/9.html" title="前端进阶之JavaScript设计模式" class="img_box">
            <img src="/uploads/20221222/52fd0f23a454c71029c2c72d206ed815.jpg" onerror="this.onerror='';this.src='/assets/images/moren/morentu.png'" alt="前端进阶之JavaScript设计模式">
                      </a>
          <dl>
            <dt class="lineOverflow">
              前端进阶之JavaScript设计模式            </dt>
            <dd class="cont1 lineOverflow">设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。</dd>
            <dd class="cont2">
              <a href="/course/9.html" title="前端进阶之JavaScript设计模式" class="toStudy">立即学习</a>
              <span>543次学习</span>
            </dd>
          </dl>
        </li>
                <li>
          <a href="/course/2.html" title="GO语言核心编程课程" class="img_box">
            <img src="/uploads/20221221/634ad7404159bfefc6a54a564d437b5f.png" onerror="this.onerror='';this.src='/assets/images/moren/morentu.png'" alt="GO语言核心编程课程">
                      </a>
          <dl>
            <dt class="lineOverflow">
              GO语言核心编程课程            </dt>
            <dd class="cont1 lineOverflow">本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。</dd>
            <dd class="cont2">
              <a href="/course/2.html" title="GO语言核心编程课程" class="toStudy">立即学习</a>
              <span>516次学习</span>
            </dd>
          </dl>
        </li>
                <li>
          <a href="/course/74.html" title="简单聊聊mysql8与网络通信" class="img_box">
            <img src="/uploads/20240103/bad35fe14edbd214bee16f88343ac57c.png" onerror="this.onerror='';this.src='/assets/images/moren/morentu.png'" alt="简单聊聊mysql8与网络通信">
                      </a>
          <dl>
            <dt class="lineOverflow">
              简单聊聊mysql8与网络通信            </dt>
            <dd class="cont1 lineOverflow">如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让</dd>
            <dd class="cont2">
              <a href="/course/74.html" title="简单聊聊mysql8与网络通信" class="toStudy">立即学习</a>
              <span>500次学习</span>
            </dd>
          </dl>
        </li>
                <li>
          <a href="/course/57.html" title="JavaScript正则表达式基础与实战" class="img_box">
            <img src="/uploads/20221226/bbe4083bb3cb0dd135fb02c31c3785fb.jpg" onerror="this.onerror='';this.src='/assets/images/moren/morentu.png'" alt="JavaScript正则表达式基础与实战">
                      </a>
          <dl>
            <dt class="lineOverflow">
              JavaScript正则表达式基础与实战            </dt>
            <dd class="cont1 lineOverflow">在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。</dd>
            <dd class="cont2">
              <a href="/course/57.html" title="JavaScript正则表达式基础与实战" class="toStudy">立即学习</a>
              <span>487次学习</span>
            </dd>
          </dl>
        </li>
                <li>
          <a href="/course/28.html" title="从零制作响应式网站—Grid布局" class="img_box">
            <img src="/uploads/20221223/ac110f88206daeab6c0cf38ebf5fe9ed.jpg" onerror="this.onerror='';this.src='/assets/images/moren/morentu.png'" alt="从零制作响应式网站—Grid布局">
                      </a>
          <dl>
            <dt class="lineOverflow">
              从零制作响应式网站—Grid布局            </dt>
            <dd class="cont1 lineOverflow">本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。</dd>
            <dd class="cont2">
              <a href="/course/28.html" title="从零制作响应式网站—Grid布局" class="toStudy">立即学习</a>
              <span>485次学习</span>
            </dd>
          </dl>
        </li>
              </ul>
    </div>
        </div>
  <!-- footer -->
  <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<div class="footer">
    <ul>
      <li  ><a href="/" class="aLightGray"><em class="material-icons">home</em><span>首页</span></a></li>
      <li  class="curr"><a href="/articlelist.html" class="aLightGray"><em class="material-icons">menu_book</em><span>阅读</span></a></li>
      <li  ><a href="/courselist.html" class="aLightGray"><em class="material-icons">school</em><span>课程</span></a></li>
      <li  ><a href="/ai.html" class="aLightGray"><em class="material-icons">smart_toy</em><span>AI助手</span></a></li>
      <li ><a href="/user.html" class="aLightGray"><em class="material-icons">person</em><span>我的</span></a></li>
    </ul>
  </div>
  <script src="/assets/js/require.js" data-main="/assets/js/require-frontend.js?v=1671101972"></script>
<script>
    var _hmt = _hmt || [];
    (function() {
        var hm = document.createElement("script");
        hm.src = "https://hm.baidu.com/hm.js?3dc5666f6478c7bf39cd5c91e597423d";
        var s = document.getElementsByTagName("script")[0];
        s.parentNode.insertBefore(hm, s);
    })();
</script>
</body>
</html>