最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
php配置——php.ini配置文件詳解

查找PHP配置文件

“專業(yè)、務(wù)實(shí)、高效、創(chuàng)新、把客戶的事當(dāng)成自己的事”是我們每一個(gè)人一直以來(lái)堅(jiān)持追求的企業(yè)文化。 創(chuàng)新互聯(lián)建站是您可以信賴的網(wǎng)站建設(shè)服務(wù)商、專業(yè)的互聯(lián)網(wǎng)服務(wù)提供商! 專注于成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、軟件開發(fā)、設(shè)計(jì)服務(wù)業(yè)務(wù)。我們始終堅(jiān)持以客戶需求為導(dǎo)向,結(jié)合用戶體驗(yàn)與視覺(jué)傳達(dá),提供有針對(duì)性的項(xiàng)目解決方案,提供專業(yè)性的建議,創(chuàng)新互聯(lián)建站將不斷地超越自我,追逐市場(chǎng),引領(lǐng)市場(chǎng)!

① 命令行(不推薦,服務(wù)器有多個(gè)php,httpd不一定加載的此模塊)

[root@wy ~]# /usr/local/php/bin/php -i | grep 'Loaded Configuration'

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

② 調(diào)用php函數(shù)(推薦使用,精確)

[root@wy ~]# vim /data/www/phpinfo.php

    phpinfo();

?>

php配置——php.ini配置文件詳解

禁掉一些危險(xiǎn)的函數(shù)

## 編輯配置文件,查找到disable_functions

[root@wy ~]# vim /usr/local/php/etc/php.ini

disable_functions = eval,assert,popen,passthru,escapeshellarg,\

escapeshellcmd,passthru,exec,system,chroot,scandir,chgrp,chown,\

escapeshellcmd,escapeshellarg,shell_exec,proc_get_status,ini_alter,\

ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,leak,\

popepassthru,stream_socket_server,popen,proc_open,proc_close

解釋說(shuō)明:

配置disable_functions;

exec,shell_exec這兩個(gè)函數(shù)是調(diào)用linux命令非常危險(xiǎn)必須禁用;

有時(shí)候也會(huì)禁止phpinfo函數(shù);

#重啟apache,再刷新網(wǎng)頁(yè)可看到禁掉的函數(shù)

[root@wy ~]# /usr/local/apache2/bin/apachectl restart

php配置——php.ini配置文件詳解

配置PHP錯(cuò)誤日志

## 關(guān)閉此選項(xiàng),如果PHP代碼有錯(cuò),將不會(huì)提示錯(cuò)誤信息直接顯示白頁(yè)

[root@wy ~]# vim /usr/local/php/etc/php.ini

display_errors = Off/On      ## 默認(rèn)Off

解釋說(shuō)明:

雖然開啟便于程序調(diào)試,但***獲取到這些錯(cuò)誤可能會(huì)發(fā)起***,不安全;

## 確認(rèn)開啟

log_errors = On

## 配置錯(cuò)誤日志

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

解釋說(shuō)明:

配置的錯(cuò)誤日志目錄必須存在(mkdir /usr/local/php/logs)且必須寫絕對(duì)路徑

chown -R daemon.daemon /usr/local/php/logs/  或者chmod 777 /usr/local/php/logs(因?yàn)樯慑e(cuò)誤日志的用戶是apache,所以要有寫權(quán)限)

## 日志級(jí)別

error_reporting = E_ALL & ~E_NOTICE

解釋說(shuō)明:

設(shè)置日志級(jí)別就是在過(guò)濾錯(cuò)誤日志記錄呢些內(nèi)容;

E_ALL 包含所有的錯(cuò)誤和警告(且包含了PHP5.4版本中的E_STRICT);

E_NOTICE 把所有的錯(cuò)誤都顯示,除了通知和代碼的標(biāo)準(zhǔn)警告;

& 并且;

| 或者;

~ 取反;

是指 E_ALL 為真,或者 非E_NOTICE 為真;

## 為了測(cè)試,故意php文件寫錯(cuò)

[root@wy ~]# cat /data/www/phpinfo.php

phpinfo();

e cho "ni hao php";   ## 此行故意寫錯(cuò)

?>

## 檢查并重新加載

[root@wy ~]# /usr/local/apache2/bin/apachectl -t

Syntax OK

[root@wy ~]# /usr/local/apache2/bin/apachectl graceful

## 解析并查看生成的錯(cuò)誤日志

[root@wy ~]# /usr/local/php/bin/php /data/www/phpinfo.php

[root@wy ~]# tail /usr/local/php/logs/php_errors.log

[06-Nov-2016 04:53:30 Asia/Chongqing] PHP Parse error:  syntax error, unexpected T_STRING in /data/www/phpinfo.php on line 3

配置open_basedir

也是一個(gè)安全選項(xiàng),它有什么意義呢,舉個(gè)例子,咱們這個(gè)php,apache它要去訪問(wèn)一個(gè)網(wǎng)站,它要找到

一個(gè)路徑,我們有給它定義一個(gè)路徑,比如說(shuō)/data/www,那這個(gè)時(shí)候如果,假設(shè)這個(gè)你的環(huán)境,你的網(wǎng)站

有一些漏洞,讓不法分子獲得了一些權(quán)限,他可以上傳一個(gè)他自己的***,那他這個(gè)***呢可以獲得你服務(wù)

器上的一些信息,比如可以獲得一些目錄、一些文件,可以查看,那這個(gè)時(shí)候呢,我們應(yīng)該想到一個(gè)策略,

為了以防萬(wàn)一,我們應(yīng)該把它限制死在某一個(gè)目錄下,因?yàn)槲覀兙W(wǎng)站在/data/www下,那我們就應(yīng)該給它

限定死,你只能訪問(wèn)/data/www這個(gè)目錄,其他的目錄(比如根目錄、etc目錄),你是不可以查看的,如何

去做呢

## 編輯配置文件

[root@wy ~]# vim /usr/local/php/etc/php.ini

open_basedir = /data/www/:/tmp/

解釋說(shuō)明:

/tmp/  一般都會(huì)用到,就寫上

## 不過(guò)為了測(cè)試,故意寫錯(cuò)受限制路徑(就出現(xiàn)了500錯(cuò)誤)

open_basedir = /data/www1/:/tmp/

## apache重新加載

[root@wy ~]# /usr/local/apache2/bin/apachectl graceful

## 訪問(wèn)網(wǎng)頁(yè)測(cè)試

php配置——php.ini配置文件詳解

## 命令行測(cè)試

[root@wy ~]# curl -xlocalhost:80 www.test.com/phpinfo.php -I          

HTTP/1.0 500Internal Server Error

Date: Sat, 05 Nov 2016 21:23:53 GMT

Server: Apache/2.2.16 (Unix) DAV/2 PHP/5.3.28

X-Powered-By: PHP/5.3.28

Cache-Control: max-age=0

Expires: Sat, 05 Nov 2016 21:23:53 GMT

Connection: close

Content-Type: text/html

X-Pad: avoid browser bug

## 查看日志

[root@wy ~]# /usr/local/php/bin/php /data/www/forum.php    ## 解析

[root@wy ~]# tail /usr/local/php/logs/php_errors.log

[06-Nov-2016 05:30:41 Asia/Chongqing] PHP Warning:  require():open_basedir restriction in effect. File(./source/class/class_core.php) is not within the allowed path(s): (/data/www1/:/tmp/)in /data/www/forum.php on line 15

[06-Nov-2016 05:30:41 Asia/Chongqing] PHP Warning:  require(./source/class/class_core.php): failed to open stream: Operation not permitted in /data/www/forum.php on line 15

[06-Nov-2016 05:30:41 Asia/Chongqing] PHP Fatal error:  require(): Failed opening required './source/class/class_core.php' (include_path='.:/usr/local/php/lib/php') in /data/www/forum.php on line 15

備注:訪問(wèn)網(wǎng)頁(yè)后,錯(cuò)誤日志沒(méi)有生成,我又自己解析的,這才出來(lái)錯(cuò)誤日志。

其實(shí)在apache里同樣可以定義,假如說(shuō)我們現(xiàn)在有多個(gè)虛擬主機(jī),多個(gè)網(wǎng)站,多個(gè)網(wǎng)站你就應(yīng)該去做多個(gè)

open_basedir的限制,如果用php.ini去做,只能配置一句;你要是限定多個(gè)目錄的話,不同的站點(diǎn)你是

沒(méi)有辦法區(qū)分開的,所以我們可以針對(duì)apache的虛擬主機(jī)去做一些限制,每一個(gè)虛擬主機(jī)(VirtualHost)使用一個(gè)open_basedir(好處在于我們可以區(qū)分不同的虛擬主機(jī)),如何去配置?那先把php.ini的open_basedir先注釋掉(注:php里;來(lái)作為注釋),然后做下面的實(shí)驗(yàn)。

## 配置apache虛擬主機(jī)的open_basedir

[root@wy ~]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf

   DocumentRoot "/data/tmp"

   ServerName tmp.com

  php_admin_value open_basedir "/tmp/tmp/"

   DocumentRoot "/data/www"

   ServerName www.test.com

   ServerAlias www.aaa.com

   ServerAlias www.bbb.com

   php_admin_value open_basedir "/data/www/:/tmp/"

解釋說(shuō)明:

在open_basedir時(shí),一定要將目錄/dir/(后面的/一定要加上)否則會(huì)包含www、www1、www2......

## 檢查并重新加載

[root@wy ~]# /usr/local/apache2/bin/apachectl -t

Syntax OK

[root@wy ~]# /usr/local/apache2/bin/apachectl graceful


名稱欄目:php配置——php.ini配置文件詳解
網(wǎng)站路徑:http://fisionsoft.com.cn/article/jjjdio.html