六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

PHP.INI設置文件漫游(2)

[摘要]文章第一部分已經帶領你領略了php.ini文件的結構,并且說明了如何修改PHP查找路徑、差錯處理,以及解析器的相關選項。第二部分將深入配置文件,內容包括如何激活PHP擴展選項、針對PHP腳本設置資源...
文章第一部分已經帶領你領略了php.ini文件的結構,并且說明了如何修改PHP查找路徑、差錯處理,以及解析器的相關選項。第二部分將深入配置文件,內容包括如何激活PHP擴展選項、針對PHP腳本設置資源限制,以及通過PHP腳本動態改變配置變量。

激活擴展選項


PHP可以使用很多不同的擴展選項。在UNIX系統中,擴展選項需要在編譯時創建;而對于Windows,二進制DLL文件將隨PHP發布而將自己包括進去。變量extension_dir包括了PHP應當查看相關擴展選項的目錄名。

extension_dir = "C:\Program Files\Internet Tools\Apache\bin\php4\extensions"

Windows下的PHP包括了20種不同的擴展選項,并且全部都列在了php.ini文件中(通過注釋)。要激活某個特定的擴展選項只需要將相應行首的分號去掉并重啟服務器就可以了。如果要禁用某個擴展選項(比如在需要提升系統性能的情況下),只需要在行首重新添加分號。

如果擴展選項沒有列在php.ini文件中,可以使用變量extension,然后將相應DLL文件名傳遞給此變量。

extension=php_domxml.dll

extension=php_dbase.dll

設置extension-specific變量
變量extension-specific被存放在配置文件中一個單獨的區域。比如,所有同MySQL擴展功能相關的變量都應當存儲在php.ini中的[MySQL]區域。

如果需要使用PHP的mail()函數,則需要設置以下三個變量。當通過PHP mail()函數發送電子郵件信息時需要使用SMTP以及變量sendmail_from(Windows系統)或變量sendmail_path(UNIX系統)。對于Windows,這些變量設置了所用到的SMTP服務器以及顯示在電子郵件信息中的“From:”地址;而對于UNIX,變量sendmail_path則對郵件傳輸設置了MTA(郵件傳輸代理,mail transfer agent)的路徑。

SMTP = myserver.localnet.com

sendmail_from = me@localhost.com

sendmail_path = /usr/sbin/sendmail

變量java.class.path、java.home、java.library以及java.library.path全部用來設置查找Java類以及庫的路徑。這些值將被Java擴展所使用,所以如果希望PHP能正確的同Java程序進行集成,則必須確保這些變量被正確的設置。

java.class.path = .\php_java.jar

java.home = c:\jdk

java.library = c:\jdk\jre\bin\hotspot\jvm.dll

java.library.path= .\

變量session.save_path指定了保存會話信息所需的臨時目錄。通常而言,此目錄默認為/tmp,但由于在Windows系統中此默認目錄并不存在,所以你必須將其重新設置為正確的Windows臨時目錄,否則會話處理程序將會在調用session_start()函數時彈出討厭的出錯信息。同時可以通過變量session.cookie_lifetime來控制會話cookie的有效期。

session.save_path = c:\windows\temp

session.cookie_lifetime = 1800
安全設置
在php.ini中,有很多同PHP安裝的安全問題相關的變量。其中最有趣的是safe_mode變量,建議針對ISP以及共享主機服務(shared-hosting services)對其進行設置,此變量將對用戶對PHP的使用范圍進行限制。



safe_mode = Off

當safe mode打開的時候,可以通過變量safe_mode_include_dir指定在何目錄中查找相關文件。通過將二進制程序放在特定目錄并使用safe_mode_include_dir變量將目錄告之PHP,PHP將對可使用exec()命令運行PHP腳本的程序種類進行限制。在此目錄中僅二進制文件可以通過exec()命令進行訪問。

safe_mode_include_dir = /usr/local/lib/php/safe-include

safe_mode_exec_dir = /usr/local/lib/php/safe-bin

還可以通過變量open_basedir來限制文件操作。此變量將設置作為文件操作根(root)的目錄名。此變量設置后,對于PHP來說,存放在此目錄樹以外的文件將無法訪問。這對于在共享系統中將用戶限制在各自的home或者Web目錄是一種很好的方法。

open_basedir = /home/web/

變量max_execution_time設置了在強制終止腳本前PHP等待腳本執行完畢的時間,此時間以秒計算。當腳本進入了一個無限循環狀態時此變量非常有用。然而,當存在一個需要很長時間完成的合法活動時(例如上傳大型文件),這項功能也會導致操作失敗。在這樣的情況下必須考慮將此變量值增加,以避免PHP在腳本正在執行某些重要過程的時候將腳本關閉。

max_execution_time = 90

剛提到了上傳,現在來看看如何配置uploads變量以及form變量。
配置文件上載以及表單變量
如果我們在文章前面所討論安全配置所提供的安全強度還不能滿足你的要求,可以通過關閉文件上傳或設置每次上傳最大文件尺寸限制來進一步提高安全強度。以上兩種功能將分別通過變量file_uploads和upload_max_filesize來實現。通常來說,除非系統中有為接收文件而設計的應用程序(例如基于Web FTP服務的圖片冊),你應當設置一個相對較小的文件尺寸限制值。



file_uploads = On

upload_max_filesize = 2M

如果你對于上傳文件并不關心,但在PHP應用程序中使用了大量的表單,這里有兩個變量將會讓你產生很大的興趣。首先是變量register_globals,它解決了PHP開發人員長期以來的心頭之痛。在PHP 3.x中,此變量默認為On。由此當提交表單時表單變量將自動的轉換成PHP變量。

在PHP 4.x中,出于安全考慮,此變量默認設置為Off。由此,表單變量將只能通過特定的$_GET以及$_POST進行訪問。這也造成了很多用PHP 3.x編寫的腳本在運行時出現問題,要求開發人員重寫腳本并對其重新測試。比如,輸入到表單域<input type="text" name="email">中的值對于PHP 3.x腳本來說將可以理解為$email;而在PHP 4.x腳本中卻被作為$_POST['email']或者$_GET['email']。

通常情況下可以將此變量設置為Off,這樣可以對通過表單進行的腳本攻擊提供更為安全的防范措施。如果需要考慮到對早期PHP 3.x腳本的兼容問題,則應當置于On。

register_globals = Off

同表單提交相關的一個變量是post_max_size,它將控制在采用POST方法進行一次表單提交中PHP所能夠接收的最大數據量。似乎不大可能需要將默認的8 MB改得更大。相反,應當適當將其降到更為實際的數值。但如果希望使用PHP文件上傳功能,則需要將此值改為比upload_max_filesize還要大。

post_max_size = 8M

在PHP 5中增加了max_input_time變量。此變量可以以秒為單位對通過POST、GET以及PUT方式接收數據時間進行限制。如果應用程序所運行環境處在低速鏈路上,則需要增加此值以適應接收數據所需的更多時間。

max_input_time = 90
性能調整
你還可以通過調整一些變量值來提升PHP解析器的性能。為了避免正在運行的腳本大量使用系統可用內存,PHP允許定義內存使用限額。通過memory_limit變量來指定單個腳本程序可以使用的最大內存容量:



memory_limit = 8M

變量memory_limit的值應當適當大于post_max_size的值。

另一項可以用于提高性能的方法是禁用變量$argc以及$argv,這兩個值被用于存放在命令行中傳遞給應用程序的參數數量以及實際參數值。

register_argc_argv = false

類似,還可以禁用$HTTP_GET_VARS以及$HTTP_POST_VARS,因為在使用$_GET以及$_POST的今天你不大可能用到前兩種方式。禁用此功能可以帶來性能上的提升,但這只能通過PHP 5中的變量register_long_arrays實現。

register_long_arrays = false

函數ini_set()

最后,需要注意ini_set()函數。當PHP讀取php.ini配置文件中的所有設置信息的同時,它還提供了采用ini_set()函數根據per-script原則更改這些設置的功能。此函數接收兩個參數:需要調整的配置變量名,以及變量的新值。例如,在某腳本出現時增加最大執行時間(maximum execution time):

<?php

ini_set('max_execution_time', 600)

// more code

?>

這樣的設置將僅僅影響被設置的腳本。一旦腳本執行完畢,該變量將自動恢復到原始值。

如果PHP應用程序運行在一個共享服務器上,你不大可能可以訪問到主php.ini配置文件。這時,函數ini_set()就可以允許根據特殊要求對PHP配置做動態修改,這將會給你帶來很大的方便。





主站蜘蛛池模板: 天天操天天擦 | 日本卡一卡2卡3卡4精品卡网站 | 亚洲欧洲一二三区 | 在线看片h站 | 日韩欧美网站 | 四虎成人影院网址 | 日毛片| 日韩视频91 | 亚洲欧美另类精品久久久 | 欧美一区精品二区三区 | 天堂网在线网站成人午夜网站 | 一级做a爰片久久毛片看看 一级做a爰片久久毛片16 | 欧美一区色 | 色综合天天网 | 日韩美女视频在线 | 中文字幕一区二区在线视频 | 午夜在线观看免费高清在线播放 | 中文字幕福利视频 | 四虎影院永久网站 | 小草cc| 星辰影院在线观看 | 我想看一级黄色毛片 | 亚洲图片综合区另类图片 | 日本 免费 高清 | 青青草国产免费国产 | 亚洲天堂热 | 亚洲资源最新版在线观看 | 欧美香蕉人人人人人人爱 | 色综合久久中文字幕综合网 | 日韩av成人| 日本在线国产 | 青春草在线播放 | 午夜毛片不卡高清免费 | 我在修仙世界朝九晚五漫画免费观看 | 综合激情五月婷婷 | 四虎影院永久免费 | 天天天狠天天透天天制色 | 欧美特黄三级成人 | 日韩欧美中文 | 亚洲高清在线观看 | 午夜久久久久久 |