PHP.ini配置文件詳解

查看PHP.ini文件的路徑

/usr/local/php/bin/php -i |head

如果此處為None說明沒有加載到具體的php.ini,想想自己以前安裝PHP的時候是不是忘記拷貝過來?

一般文件的位置都是在

Loaded Configuration File => /usr/local/php/etc/php.ini

若是沒有或則自己的里面沒有大量的注釋內(nèi)容(以;開頭的),kk勸你還是再拷貝一份吧。

cp /usr/local/src/php-5.6.31/php.ini-production /usr/local/php/etc/php.ini

1. 禁止使用部分函數(shù)?

在php中有大量的函數(shù),但是有一些函數(shù)對我們來說是不安全的,所以需要禁掉

vim /usr/local/php/etc/php.ini


建議大家搜索一下關(guān)鍵字,對應(yīng)的寫到相應(yīng)的部分


disable_functions = eval,assert,popen,passthru,escapeshellarg,escapeshellcmd,passthru,exec,system,chroot,scandir,chg,rp,chown,escapeshellcmd,escapeshellarg,shell_exec,proc_get_status,ini_alter,ini_restore,dl,pfsock,open,openlog,syslog,readlink,symlink,leak,popepassthru,stream_socket_server,popen,proc_open,proc_close

2. 配置error_log

PHP排查錯誤有兩種做法

(1)錯誤信息直接輸出顯示到網(wǎng)頁中

vim /usr/local/php/etc/php.ini

找到(466行)display_error=更改為

display_error=on

重啟服務(wù)器即可

/usr/local/apache2/bin/apachectl graceful

但是這種情況只適合臨時調(diào)試,不適合長期配置,因為可能暴露我們服務(wù)器的一些信息,被人攻擊,所以就要用到第二種方法

(2)錯誤信息輸出到日志文件

vim /usr/local/php/etc/php.ini

更改一下配置,以前沒有的配置要自己寫

首先關(guān)閉日志輸出到瀏覽器

display_errors = Off

然后打開錯誤日志開關(guān)

log_errors = On

指定錯誤日志的輸出路徑

error_log=/usr/local/php/logs/error.log

指定錯誤日志的級別,意思是報告所有的錯誤信息,除了E_STRICT這一種

error_reporting = E_ALL | E_STRICT


解釋一下不同的錯誤級別

1 ? E_ERROR? ? ? ? ? ? 報告導(dǎo)致腳本終止運行的致命錯誤

2 ? E_WARNING ? ? ? 報告運行時的警告類錯誤(腳本不會終止運行)

4 ? E_PARSE ? ? ? ? ? ? 報告編譯時的語法解析錯誤

8 ? E_NOTICE ? ? ? ? ? 報告通知類錯誤,腳本可能會產(chǎn)生錯誤

30767 ? E_ALL ? ? ? ? ? ? ? ? ?報告所有的可能出現(xiàn)的錯誤(不同的PHP版本,常量E_ALL的值也可能不同)


重啟服務(wù)器后生效

/usr/local/apache2/bin/apachectl graceful

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容