为什么你的 phpinfo() 无法显示

一、问题描述

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

<?php
    echo phpinfo();
?>

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

二、问题定位及解决

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

<?
    echo phpinfo();
?>

  这种情况是需要把  php.ini 中的 short_open_tags 打开,然后重新加载 php.ini 服务就OK了。

  这里又有两个问题,一是怎么知道php执行加载的是哪个 php.ini 文件呢,可以在命令行下执行:   php -i | grep 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() 是很敏感的信息,平时最好还是不要暴露给客户端,因此测试完我就赶紧给关掉了。

时间: 2024-10-23 21:06:02

为什么你的 phpinfo() 无法显示的相关文章

php5.4成功安装imageMagick, windows7下。(phpinfo中显示不出来是因为:1.imagick软件本身、php本身、php扩展三方版本要一致,2.需要把CORE_RL_*.dll多个文件放到/php/目录下面)

windows7下   php5.4成功安装imageMagick . (phpinfo中显示不出来是因为:1.软件本身.php本身.php扩展三方版本要一致,2.需要把CORE_RL_*.dll多个文件放到/php/目录下面) (作者:王奇疏 http://www.cnblogs.com/wangqishu/p/5609950.html ) 楼主需要用php处理一些特别的图片事宜,所以安装了iMagick for php来编写程序. 先看一下,这是我在windwos7安装成功的 imageMa

安装swoole 扩展,在phpinfo中显示,但是php -m 中不显示的问题

步骤如下: 1 首先找到php.ini的目录:linux命令:find / -name php.ini 我的路径如下: 2 然后把apache下德php.ini 复制到cli中 linux命令:mv /etc/php5/apache2/php.ini  /etc/php5/cli/php.ini 3 最后linux命令:php -m 就会看到swoole出现了 如下图:

php memcache 扩展 php -m 与 phpinfo() 不同

事情起因,因要升级 openssl(openssl升级这里不表) ,所以在升级后对 php 也进行了从新编译,编译成功. 发现没有安装,memcache 扩展,从新编译安装了一下,显示的安装成功,但是 phpinfo() 不显示 memcache 扩展 查找了,php.ini 文档当中,也有 extension="memcache.so" 很奇怪的问题, 查找 phpinfo() 当中 extension_dir 的目录,也存在 memcache.so, 重启了 php-fpm 也不显

关于win下Memcached安装步骤

2天对我来说有点煎熬..数据量达到17w的时候 我本地执行查询速度特别慢! 请教了一些php大牛如何解决速度问题,在加了索引和优化sql后还是速度慢!我决定在win环境下用Memcached和memcache 来处理,先声明一下: memcache是php的拓展,memcached是客户端,复杂的说:Memcache模块提供了于memcached方便的面向过程及面向对象的接口,memcached是为了降低动态web应用 从数据库加载数据而产生的一种常驻进程缓存产品. 因为我本地用的是xampp集

windows7搭建wnmp环境

官方下载地址 Nginx MySql PHP 到官网上下载对应版本压缩包,我下载的是分别是nginx1.12.1,mysql5.6.37,php5.6.31. [php5.6.31须安装VC11运行库即Visual C++ Visual Studio 2012,下载地址:https://www.microsoft.com/zh-CN/download/details.aspx?id=30679] 一:安装Nginx 把下载下来的nginx-1.12.1.zip文件,解压到指定的目录(更名为:ng

PHP 5.6.15 编译安装

1.准备安装文件 php-5.6.15.tar http://php.net/downloads.php 2.准备安装环境和必须的包     yum install -y libxml2-devel openssl-devellibcurl-devel libjpeg-devel libpng-devel libicu-devel openldap-devel     yum install gcc gcc-c++ #编译工具 如果想让编译的php支持mcrypt扩展,需安装libmcrypt 

Xdebug的安装、配置和使用

对于我这么一个渣渣php码农,平时总觉得echo.var_dump.print_r就能满足我的调试需求了,最近公司开始一个新项目,要大量阅读调试旧的源码,echo和var_dump开始不够用了,于是装了一下xdebug扩展,配合phpstrom使用,效率啪啪啪往上涨,后悔用晚了,下面就如何安装和使用xdebug做一个简单的说明介绍. 1.什么是Xdebug? Xdebug是一个开放源代码的PHP程序调试器(即一个Debug工具),可以用来跟踪,调试和分析PHP程序的运行状况. 2.如何下载安装X

Windows 2003 IIS下配置MySQL+PHP+ISAPI_Rewrite+Zend+Xcache

Windows 2003 IIS下配置MySQL+PHP+ISAPI_Rewrite+Zend+Xcache zend  mysql  php  iis  windows  extension 一.准备工作 windows 2003,自己买吧... 安装IIS 6.0:安装系统后在"控制面板"->"添加或删除程序"->"添加/删除Windows组件"->双击"应用程序服务器"->然后选中"In

PHP扩展代码结构详解

PHP扩展代码结构详解: 这个是继:使用ext_skel和phpize构建php5扩展  内容 (拆分出来) Zend_API:深入_PHP_内核:http://cn2.php.net/manual/zh/internals2.ze1.php 我们使用ext_skel创建扩展 hello_module,该模块包含一个方法:hello_world. 使用ext_skel 生成的代码都是PHP_开头的宏, 而不是ZEND_开头. 实际上这两者是一样的. 在源代码src/main/PHP.h 中发现: