swoole phpinfo()不顯示怎么辦

swoole phpinfo()不顯示怎么辦

一、問題描述

編寫了一個php文件test.php,代碼如下:

<?php     echo phpinfo(); ?>

瀏覽器訪問了一下,卻返回了 NULL。

二、問題定位及解決

立即學(xué)習(xí)PHP免費學(xué)習(xí)筆記(深入)”;

網(wǎng)上查了下,大部分人遇到的問題其實是? short_open_tags? 的問題,他們的代碼如下:

 ????echo?phpinfo(); ?&gt;

這種情況是需要把? php.ini 中的 short_open_tags 打開,然后重新加載 php.ini 服務(wù)就OK了。

這里又有兩個問題,一是怎么知道php執(zhí)行加載的是哪個 php.ini 文件呢,可以在命令行下執(zhí)行:? ?php –ini? 來找到php.ini 文件;二是如何重新加載 php.ini 文件,如何你的服務(wù)器上面啟用了php-fpm,一般來說重啟 php-fpm 就OK了,命令為:? service php-fmp restart ,如果沒有啟用? ?php-fpm 服務(wù)(較早版本的php),一般重啟 apache服務(wù)就OK,命令為 service httpd restart? 。

按照上面的步驟操作完成以后,大部分人遇到的問題就解決了,但是這個是別人的問題,跟我的并不是一個問題 orz…

無奈,感覺這個東西肯定是跟php的配置有關(guān)系,于是去官網(wǎng)看了下php.ini 的文檔,里面以后一項配置如下:

disable_functions?string

本指令允許你基于安全原因禁止某些函數(shù)。接受逗號分隔的函數(shù)名列表作為參數(shù)。 disable_functions 不受安全模式的影響。 本指令只能設(shè)置在 php.ini 中。例如不能將其設(shè)置在 httpd.conf

意思就是php.ini里面可以配置一些方法,這些方法不能被調(diào)用,打開php.ini找到這個配置,果然phpinfo()這個方法被禁用了,如下:

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

到這里豁然開朗,臨時把 phpinfo() 這個方法從disable_functions 中刪除掉,重新加載 php.ini 文件,然后再次從瀏覽器訪問? test.php, 這次成功了,問題解決。不過這里要提醒小伙伴們 phpinfo() 是很敏感的信息,平時最好還是不要暴露給客戶端,因此測試完我就趕緊給關(guān)掉了。

PHP中文網(wǎng),有大量免費的Swoole入門教程,歡迎大家學(xué)習(xí)!

以上就是

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點贊5 分享