php phpinfo不能出現php資訊的解決方法:1、找到並開啟php.ini檔案;2、將其中的short_open_tags開啟;3、重新載入php.ini服務即可。
本文操作環境:windows7系統、PHP7.1版、DELL G3電腦
php phpinfo 不能出現php資訊怎麼辦?為什麼你的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 --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中文網其他相關文章!