標籤:php.ini 設定檔
Php.ini 設定檔詳解(配置php錯誤記錄檔)
第一步禁用一些高風險函數 & 開啟錯誤記錄檔
[[email protected] etc]# vim /usr/local/php/etc/php.ini
disable_functions = eval,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,fsocket,fsockopen
display_errors = On
[[email protected] etc]# apachectl -t
Syntax OK
[[email protected] etc]# apachectl restart
下面來做測試:
[[email protected] etc]# vim /data/www/forum.php
在forum.php 下加一行php 不能識的別的
<?php
wellcome to wuhan 2016-10-01
重新整理網頁,網頁報錯了。
650) this.width=650;" src="http://s1.51cto.com/wyfs02/M02/88/56/wKiom1fvqe7AnB_eAACw02Pf8t0006.jpg" title="dis26.jpg" alt="wKiom1fvqe7AnB_eAACw02Pf8t0006.jpg" />此時我們關掉 display_error off,再次重新整理網頁(500一般是PHP的指令碼有問題).
這一項開啟會暴露我們的一些資訊,所以保持黙認關掉。
650) this.width=650;" src="http://s2.51cto.com/wyfs02/M01/88/52/wKioL1fvqsjDHrMfAADJGrpbxPw978.jpg" title="dis27.jpg" alt="wKioL1fvqsjDHrMfAADJGrpbxPw978.jpg" />
定義我們的錯誤記錄檔的保路徑:
;error_log = php_errors.log
; Log errors to syslog (Event Log on Windows).
;error_log = syslog
----------------------------------------------
error_log = /usr/local/php/logs/php_errors.log (日誌儲存的絕對路徑)
退出確認一下這個目錄存不存在
[[email protected] etc]# ls /usr/local/php/logs
ls: cannot access /usr/local/php/logs: No such file or directory #目錄不存在
[[email protected] etc]# mkdir /usr/local/php/logs/ #建立目錄
[[email protected] etc]# chmod 777 !$
chmod 777 /usr/local/php/logs/ # 更改目示權根為777 ,讓apache 可寫。
修改日起的層級
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED
[[email protected] ~]# apachectl graceful
再次重新整理網頁,依然是看不到相關的任何息,但是我們可以查看日誌。
這樣可以協助我們不暴露我們的資訊,也儲存了錯誤記錄檔,有助我們排查問題。
[[email protected] ~]# cat /usr/local/php/logs/php_errors.log
[01-Oct-2016 12:36:37 UTC] PHP Fatal error: Directive ‘magic_quotes_runtime‘ is no longer available in PHP in Unknown on line 0
[01-Oct-2016 12:42:55 UTC] PHP Fatal error: Directive ‘magic_quotes_runtime‘ is no longer available in PHP in Unknown on line 0
[01-Oct-2016 12:43:17 UTC] PHP Fatal error: Directive ‘magic_quotes_runtime‘ is no longer available in PHP in Unknown on line 0
[01-Oct-2016 12:45:36 UTC] PHP Fatal error: Directive ‘magic_quotes_runtime‘ is no longer available in PHP in Unknown on line 0
分割線———————————————————————————————————————分割線
;open_basedir = 這是一個安全選項,
將它配置為 open_basedir = /data/www2:/tmp
/data/www2 這是一個錯誤的目錄,此時去訪問網站刷出來的是白頁(同上 (500一般是PHP的指令碼有問題).)
查看錯誤記錄檔
—————————————————————————————————————————————
沒有達到理想中的的實驗效果;且記錄下來再說吧.沒搞明白magic_quotes_runtime 這個東西到底該怎麼來設定。
[[email protected] ~]# cat /usr/local/php/logs/php_errors.log
[01-Oct-2016 12:36:37 UTC] PHP Fatal error: Directive ‘magic_quotes_runtime‘ is no longer available in PHP in Unknown on line 0
[01-Oct-2016 12:42:55 UTC] PHP Fatal error: Directive ‘magic_quotes_runtime‘ is no longer available in PHP in Unknown on line 0
[01-Oct-2016 12:43:17 UTC] PHP Fatal error: Directive ‘magic_quotes_runtime‘ is no longer available in PHP in Unknown on line 0
[01-Oct-2016 12:45:36 UTC] PHP Fatal error: Directive ‘magic_quotes_runtime‘ is no longer available in PHP in Unknown on line 0
[02-Oct-2016 06:06:57 UTC] PHP Fatal error: Directive ‘magic_quotes_runtime‘ is no longer available in PHP in Unknown on line 0
[02-Oct-2016 06:11:13 UTC] PHP Fatal error: Directive ‘magic_quotes_runtime‘ is no longer available in PHP in Unknown on line 0
—————————————————————————————————————————————
如果一台伺服器上有多個網站,那麼我們在
[[email protected] etc]# vim /usr/local/php/etc/php.ini 就無法進麼區分限制了。
所以必須在虛擬機器上來做一些設定,一個虛擬機器一個配置
[[email protected] ~]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
<VirtualHost *:80>
DocumentRoot "/data/www"
ServerName www.test.com
ServerAlias www.aaa.com
ServerAlias www.bbb.com
php_admin_value open_basedir "/data/www/:/tmp/" #加一句,
apache 的好處在於可以區分不同的虛擬機器主機,
注釋掉裡面的目錄配置([[email protected] ~]# vim /usr/local/php/etc/php.ini )
然後將php_admin_value open_basedir "/data/www9/:/tmp/"目錄改錯進行測試
再測試開啟網頁,網頁是打不開的。
650) this.width=650;" src="http://s1.51cto.com/wyfs02/M00/88/58/wKiom1fwsfSSv7euAADNqOgSwS8718.jpg" title="dis28.jpg" alt="wKiom1fwsfSSv7euAADNqOgSwS8718.jpg" />
本文出自 “CBO#Boy_Linux之路” 部落格,請務必保留此出處http://20151213start.blog.51cto.com/9472657/1858386
8_Php.ini 設定檔詳解