首页 >后端开发 >PHP问题 > 正文

php代码安全phpinfo()出不来怎么办

原创2021-06-02 15:06:450959

php代码安全phpinfo()出不来的解决方法:首先打开php.ini文件,找到“short_open_tag”项,设置为“short_open_tag = On”;然后重启apache,重新加载php.ini服务即可。

本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑

一、问题描述

  编写了一个php文件test.php,代码如下:

<?php
    echo phpinfo();
?>

浏览器访问了一下,却返回了 NULL。

二、问题定位及解决

  网上查了下,大部分人遇到的问题其实是 short_open_tags 的问题,他们的代码如下:

<?
    echo phpinfo();
?>

解决方法:

这种情况需要打开php.ini文件,找到“short_open_tag”,将 short_open_tag = Off 这行注释掉,再打开 ;short_open_tag = On 就可以了,然后重启apache,重新加载 php.ini 服务就OK了。

这里又有两个问题,一是怎么知道php执行加载的是哪个 php.ini 文件呢,可以在命令行下执行: php --ini 来找到php.ini 文件;二是如何重新加载 php.ini 文件,如何你的服务器上面启用了php-fpm,一般来说重启 php-fpm 就OK了,命令为: service php-fmp restart ,如果没有启用 php-fpm 服务(较早版本的php),一般重启 apache服务就OK,命令为 service httpd restart 。

按照上面的步骤操作完成以后,大部分人遇到的问题就解决了,但是这个是别人的问题,跟我的并不是一个问题 orz...

无奈,感觉这个东西肯定是跟php的配置有关系,于是去官网看了下php.ini 的文档,里面以后一项配置如下:

  disable_functions string

本指令允许你基于安全原因禁止某些函数。接受逗号分隔的函数名列表作为参数。 disable_functions 不受安全模式的影响。 本指令只能设置在 php.ini 中。例如不能将其设置在 httpd.conf

意思就是php.ini 里面可以配置一些方法,这些方法不能被调用,打开php.ini 找到这个配置,果然 phpinfo() 这个方法被禁用了,如下:

disable_functions = phpinfo,system,proc_open,proc_close,show_source,popen,pclose

到这里豁然开朗,临时把 phpinfo() 这个方法从disable_functions 中删除掉,重新加载 php.ini 文件,然后再次从浏览器访问 test.php, 这次成功了,问题解决。不过这里要提醒小伙伴们 phpinfo() 是很敏感的信息,平时最好还是不要暴露给客户端,因此测试完我就赶紧给关掉了。

推荐学习:《PHP视频教程

以上就是php代码安全phpinfo()出不来怎么办的详细内容,更多请关注php中文网其它相关文章!

php中文网直播班

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

  • 相关标签:php phpinfo()
  • 相关文章

    相关视频


    网友评论

    文明上网理性发言,请遵守 新闻评论服务协议

    我要评论
  • 专题推荐

    推荐视频教程
  • 《基于Swoole偷看MySQL与PHP的通信过程》《基于Swoole偷看MySQL与PHP的通信过程》
  • PHP安全与漏洞PHP安全与漏洞
  • PHP开发基础之语法篇PHP开发基础之语法篇
  • PHP8新特性初体验(公益直播课)PHP8新特性初体验(公益直播课)
  • PHP开发基础之字符串篇PHP开发基础之字符串篇
  • 视频教程分类