8_Php.ini 設定檔詳解

來源:互聯網
上載者:User

標籤: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 設定檔詳解

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.