自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

輕松學(xué)習(xí)PHP配置文件

開發(fā) 后端
文章介紹了GPC是GET/POST/COOKIE三種變量的第一個(gè)字母,它的順序體現(xiàn)系統(tǒng)處理三種變量的優(yōu)先級(jí)別和PHP配置文件。

PHP經(jīng)過長時(shí)間的發(fā)展,很多用戶都很了解PHP了,這里我發(fā)表一下個(gè)人理解,和大家討論討論。PHP.INI文件相信每位PHP愛好者都不會(huì)生疏,在PHP的上一個(gè)版本PHP3.0中它被命名為PHP3.INI。用NOTEPAD打開它,文件通常在操作系統(tǒng)的Windows目錄下。大家都看到,PHP.INI文件里面有很多分號(hào)“”,和Windows系統(tǒng)一樣。

這些分號(hào)用來表示注解,也就是說為了PHP配置文件清楚易懂,開發(fā)者在分號(hào)后面對(duì)每個(gè)配置功能做了簡短說明,系統(tǒng)處理時(shí)會(huì)忽略這些注解行。當(dāng)然,另外一個(gè)好處是,當(dāng)PHP系統(tǒng)配置有變化的時(shí)候,我們可以對(duì)某些行加上或去掉注解就行了,簡單又方便。

auto_prepend_file string 可以指定一個(gè)文件自動(dòng)地在讀取所有php文件之前解析執(zhí)行,可以為PHP、ASP、HTML等任何文件(不過圖像文件可不行),在非凡時(shí)候倒是很有用。比如你想在每個(gè)PHP頁面上增加一段廣告,又假設(shè)你在開發(fā)一個(gè)網(wǎng)站,想讓所有訪問者在讀取任何PHP頁面之前進(jìn)行身份驗(yàn)證,你就可以把你的驗(yàn)證代碼作成單獨(dú)文件,然后在這里設(shè)置string為該文件名就行啦。細(xì)心的讀者要問了:假如我只是某些文件需要這些功能,可怎么辦呀,開動(dòng)腦筋吧,舉個(gè)PHP配置文件例子:

  1. myprefix.php文件  
  2. <?php 
  3. if (strstr(strtoupper( PHP_SELF),"/PHPTEST/"))  
  4. echo "我的廣告!<BR>";  
  5. ?> 

這樣只要設(shè)置:auto_prepend_file=“myprefix.php”,那么所有phptest目錄下的PHP文件就都包含你的廣告頭啦!還需要說明的是這個(gè)文件應(yīng)該放在include_path所指的路徑里面,不然可能會(huì)出錯(cuò)的,下面就會(huì)提到它。

auto_append_file string 和上面功能類似,只是自動(dòng)加在PHP文件末尾,而且PHP程序用exit()退出時(shí)就不管用了。有了這個(gè)功能,我們可以易如反掌地添加公司地址的腳注了!include_path string 這個(gè)參數(shù)的作用是讓include()、require()等函數(shù)在這里所定義的路徑中查找文件,是不是有點(diǎn)象DOS時(shí)代里用的SET PATH命令?這個(gè)參數(shù)可以提供一個(gè)路徑列表,不過在UNIX中路徑間用冒號(hào)分隔,在NT中用分號(hào),而且斜杠的方向也不相同。PHP配置文件如:

  1. UNIX例:include_path=.:/home/lib  
  2. NT 例:include_path=".:c:homeib" 其中“.”表示當(dāng)前目錄。  
  3. gpc_order string 

GPC是GET/POST/COOKIE三種變量的***個(gè)字母,它的順序體現(xiàn)系統(tǒng)處理三種變量的優(yōu)先級(jí)別,從左到右,優(yōu)先權(quán)依次遞增。默認(rèn)設(shè)置為 GPC,這樣當(dāng)有其中任兩種或三種名稱相同變量傳遞到服務(wù)器時(shí),系統(tǒng)會(huì)按優(yōu)先權(quán)排序,只讀取優(yōu)先權(quán)較高的變量。又比如設(shè)定成 “GP” 表示忽視 cookie,并在存取方法 (method) 相同時(shí),以 POST 取代GET。當(dāng)然,我們?cè)诰幊踢^程中應(yīng)當(dāng)盡量避免同時(shí)用不同的方式傳遞名稱相同的變量,否則程序的可讀性會(huì)變壞,而且在配置不同的系統(tǒng)里可能會(huì)有不同的輸出結(jié)果。

magic_quotes_gpc boolean 這個(gè)參數(shù)能確定包含在GET/POST/COOKIE這三種變量中的非凡字符:單引號(hào)、雙引號(hào)、斜杠,是否加轉(zhuǎn)義字符反斜杠(就是C語言里常用的“”)?因?yàn)樵赑HP數(shù)據(jù)庫等系統(tǒng)中,單引號(hào)等字符通常有非凡意義,為了和真正的字符區(qū)分,我們可以設(shè)置magic_quotes_gpc=on,這樣假如我們從用戶端得到的變量中有單引號(hào)時(shí),會(huì)在前面加轉(zhuǎn)義符,然后我們可以根據(jù)需要用函數(shù)stripslashes(string str);(該函數(shù)可去掉字串中的反斜杠轉(zhuǎn)義符“”。若是連續(xù)二個(gè)反斜杠,則去掉一個(gè),留下一個(gè)。若只有一個(gè)反斜杠,就直接去掉。)來去掉轉(zhuǎn)義符“”,我們可以比較一下:

  1. <form> 
  2. <input type="Text" value="" name="a"> 
  3. <input type="Submit"> 
  4. </form> 
  5. <?php 
  6. echo a;  
  7. ?> 

讓我們分別在magic_quotes_gpc=on和off的情況下,在文本框中輸入單引號(hào)、雙引號(hào),然后提交,看看有什么區(qū)別?SMTP string 指定郵件發(fā)送服務(wù)器的域名或IP地址,這樣我們就可以發(fā)信啦,比起微軟的ASP來,PHP的這個(gè)功能簡單方便得多了,有人要問,假如我沒有配備郵件服務(wù)器怎么辦?很簡單,只要填上當(dāng)?shù)豂SP的郵件服務(wù)器就行了。其實(shí)收發(fā)郵件服務(wù)器就像我們現(xiàn)實(shí)生活中的郵局一樣,在哪個(gè)郵局都能發(fā)信,而收信是在固定郵局。

  1. mysql.default_host string  
  2. mysql.default_user string  
  3. mysql.default_password string 

用過ODBC的讀者們都知道,設(shè)置ODBC的時(shí)候總需要設(shè)置數(shù)據(jù)庫所在及其默認(rèn)的登錄用戶名和口令,這幾個(gè)參數(shù)也是這個(gè)意思,不過是用在MYSQL里面罷了。為了安全起見,我們還有必要在MYSQL里對(duì)該用戶的權(quán)力做一些限定,千萬不要偷懶用“root“?。〖偃鐬榱朔奖愣O(shè)置了這些參數(shù),那我們就能直接用函數(shù)mysql_connect()來連接數(shù)據(jù)庫了,注重這里可以不用任何參數(shù)!大家可能在想,雖然這樣很方便,同時(shí)也很危險(xiǎn)呀!別急,在PHP的安全模式里這些參數(shù)是無效的,下面我們來看看安全模式的設(shè)置吧。

#T#Safe mode boolean 這可不是WINDOWS 98的安全模式啊。當(dāng)PHP系統(tǒng)處于安全模式下時(shí),我們就能對(duì)PHP程序的行為進(jìn)行一定的控制,這時(shí)候一些數(shù)據(jù)庫比如MYSQL、INFOMIX等的默認(rèn)數(shù)據(jù)庫主機(jī)、用戶名、口令等設(shè)置無效,非法用戶就不能輕易連接數(shù)據(jù)庫了。而且在安全模式下safe_mode_allowed_env_vars string該項(xiàng)設(shè)置表示什么類型的系統(tǒng)環(huán)境變量可以被程序更改,若設(shè)置成safe_mode_allowed_env_vars=PHP_則表示只有 PHP_打頭的系統(tǒng)環(huán)境變量可以被修改,例如這時(shí)假如在程序中企圖使用putenv("windir=UUU");來修改環(huán)境變量,系統(tǒng)就會(huì)提示一個(gè)安全模式的保護(hù)錯(cuò)誤。還有,安全模式對(duì)系統(tǒng)命令system()等有一定限制,如只能在指定目錄運(yùn)行等,這樣能對(duì)系統(tǒng)文件有一定的保護(hù)作用。log_errors boolean 這個(gè)參數(shù)指定PHP程序出錯(cuò)時(shí)是否要將錯(cuò)誤信息記錄在 LOG文檔中。在NT系統(tǒng)中假如我們同時(shí)設(shè)置error_log =syslog的話,我們就能在事件查看器的應(yīng)用程序日志里看到PHP所發(fā)生過的錯(cuò)誤信息,這對(duì)測(cè)試一個(gè)大型的系統(tǒng)有些幫助。

  1. error_prepend_string = "<font color=ff0000>" 
  2. error_append_string = "</font>" 

這兩個(gè)設(shè)置參數(shù)更有意思啦,按如上設(shè)置,那么我們一眼就能看到:我們的程序是否出錯(cuò)了!因?yàn)樗墓δ苁前殉鲥e(cuò)信息設(shè)置成顯眼的紅顏色了。

責(zé)任編輯:田樹 來源: 博客
相關(guān)推薦

2021-09-30 06:31:12

Spring Boot配置密碼

2010-02-06 14:00:05

Linux Nginx

2024-06-11 08:30:25

Quartz.NET開源任務(wù)調(diào)度庫

2022-04-28 09:46:20

Nginx文件Linux

2024-01-19 13:40:00

TOML庫TomliPytoml

2011-09-08 16:07:13

Widget配置文件

2011-01-13 16:27:26

Linux配置文件

2011-01-19 14:00:21

2010-12-28 16:35:32

Outlook 配置文

2010-12-27 14:59:31

Outlook 配置文

2011-03-25 17:13:37

Nagios配置文件

2010-08-05 14:36:07

NFS服務(wù)

2010-05-05 16:14:09

Unix管理

2009-09-22 10:23:15

Hibernate配置

2011-01-21 15:27:10

Sendmail

2009-06-17 14:10:30

Spring配置文件

2011-02-25 16:39:34

proftpd配置文件

2011-01-21 15:08:45

Sendmail

2011-04-01 16:30:49

Nagios

2011-03-28 15:52:16

Nagios配置文件
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)