2016年5月22日 星期日

xampp 常用的設定

xampp 設定 – php.ini 翻譯與設定

修改 httpd.conf
DocumentRoot “C:/xampp/htdocs" 改為
DocumentRoot “C:/xampp/htdocs/www"
我習慣用www包起來我寫的專案
若有固定IP要開放伺服器外連,修改httpd-xampp.conf ,
<LocationMatch “^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
#Order deny,allow
Allow from all
#Deny from all
#Allow from ::1 127.0.0.0/8
#fc00::/7 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16
#fe80::/10 169.254.0.0/16#ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>
允許所有人使用。
修改php.ini (PHP 7 適用)
short_open_tag = On
open_basedir = 請指定
max_execution_time = 60; 每個腳本的最大執行時間, 按秒計.
max_input_time = 60 ; 每個腳本的最大讀取資料時間, 按秒計.
memory_limit = 800M; 一個腳本可使用記憶體的最大值
display_errors = On 遇到 PHP 語法解析錯誤,會顯示錯誤訊息。建議正式環境改為 Off
post_max_size = 200M
default_charset = “UTF-8″
max_input_vars = 100000 指定每次傳送最大的表單數量,如多少比筆<input type=”text”> 或註解掉
upload_max_filesize = 200M 允許上傳檔案的最大值.
date.timezone = Asia/Taipei

php.ini 翻譯
http://mic1491.pixnet.net/blog/post/30159855-php.ini%E8%A8%AD%E5%AE%9A%E6%AA%94%E4%B8%AD%E6%96%87%E8%AA%AA%E6%98%8E

;;;;;;;;;;;;;;;;;;;
; PHP.INI中文說明 ;
;;;;;;;;;;;;;;;;;;;
; 這個檔案是PHP安裝的預設配置檔案.
; 預設設定下, PHP是以程式開發為目的,而不是為了其它目的!
; 由於PHP在應用在您的網站之前必須考慮一些安全問題,
; 所以請您參考php.ini-recommended(被推薦的)中相關參數的設定,
; 另外,您也可以在以下網站獲得幫助:http://php.net/manual/en/security.php.

;;;;;;;;;;;;;;;;
; 關於這個檔案 ;
;;;;;;;;;;;;;;;;
; 這個檔案控制著PHP的許多方面,為了能讓PHP正常讀取它,這個檔案必須被命名為"php.ini".
; PHP運行時依次在以下路徑中尋找這個檔案:目前工作目錄,環境變量PHPPRC指定路徑,編譯時
; 指定的路徑.
; 在Windows下,編譯時指定路徑就是Windows的安裝目錄,
; 在命令提示符下,可以用-c的參數來替代php.ini的查找路徑.
;
; 這個配置檔案的設定極其簡單. 以空白字元和分號開始的行被忽略(可能您已經想到了^_^),
; 雖然它們可能在將來有意義...
;
; 您在配置php.ini時,請使用以下的指定語法:
; 指示 = 值
; 注意:指示標識符是區分大小寫的,例如foo=bar和FOO=bar是不同的.
; 值可以是一個字元,一個數字,一個PHP常量(例如E_ALL和M_PI),
; 一個INI常量(例如On,Off,True,False,Yes,No和None),一個表達式(例如E_ALL & ~E_NOTICE),
; 或是用引號括起來的字元串(例如"foo").
;
; INI檔案中的表達式被限製為下面的運算符:
; | 代表 OR
; & 代表 AND
; ~ 代表 NOT(except)
; ! 代表 NOT
;
; 其中佈爾值可用1,On,True或Yes表示設為開的狀態,
; 可用0,Off,False或No表示設為關的狀態.
;
; 一個空字元串可以以在等號後不寫任何東西的方法表示,或者用None表示.例如:
;
; foo = ; 將foo值設定為空字元串
; foo = none ; 將foo值設定為空字元串
; foo = "none" ; 將foo值設定為字元串'none'
;
; 如果您在值設定中使用常量,並且這些常量屬於動態調入的擴展庫(PHP擴展或Zend擴展),
; 那麼,您只能在調入這些擴展庫之後再使用這些常量.
;
; 所有在 php.ini-dist 檔案裡設定的值與內建的預設值相同(就是說,如果 php.ini
; 沒被使用或者你刪掉了這些行,預設值與之相同).

;;;;;;;;;;;
; 語言選項;
;;;;;;;;;;;
; 是否使PHP腳本語言在Apache伺服器下有效.
engine = On
; 是否允許使用<? ?>這種簡單的標識格式,當設定為Off時只有<?php ?>這種標識能被識別.
short_open_tag = On
; 是否允許使用ASP風格的標識格式<% %>.
asp_tags = Off
; 浮點類型數顯示時的有效位數.
precision = 12
; 是否開啟2000年適應 (可能在非2000年適應的瀏覽器中導致問題).
y2k_compliance = Off
; 輸出緩存允許你甚至在輸出正文內容之後發送header標頭(包括cookies), 但這樣會使速度有些下降.
; 您可以在運行時使用輸出緩存功能,也可以把output_buffering的值設為On使所有檔案的輸出緩存打
; 開.您也可以使用一個數值(單位是byte)作為輸出緩存上限,例如: output_buffering=4096.
output_buffering = 4096
; 您可以把腳本輸出到一個函數,
; 字元編碼將會自動地轉換為您指定的編碼,這樣可能會對您處理以及記錄日誌有所幫助.
; 例如,如果您把 output_handler 設為 ob_iconv_handler,
; 輸出會為支援gzip或deflate編碼的瀏覽器設一個輸出處理器自動地開啟輸出緩衝.
;
; 說明: 您不必完全依照這個檔案中的設定去編寫腳本程式,相反地,您應該使用ob_start()函數
; 具體設定,如果您在不瞭解正在被執行的腳本的情況下使用這個INI檔案中的配置,就有
; 可能引起一些問題.
; 您不能同時使用"ob_gzhandler" 和 "zlib.output_compression".
;output_handler =
; 輸出會為支援壓縮使用了zlib庫
; 這個選項的有效值是'off','on',或者一個具體的值,預設值是4KB.
; 說明: 您可以增大數值來增加執行效率.
; 您必須使用zlib.output_handler來替代標準的output_handler否則輸出緩存會失效.
; .
zlib.output_compression = Off
; 如果zlib.output_compression被設為On,您就不能再額外地指定輸出的值.
; 在不同在設定下,結果是一樣的.
;zlib.output_handler =
; 強制更新使PHP輸出層在每個輸出塊之後自動更新自身資料.
; 這等效於在執行每個print()或echo()或每個HTML塊後調用flush()函數.
; 開啟這項設定可能會在運行時導致嚴重的衝突,建議僅在debug過程中開啟.
implicit_flush = Off
; 得到一個串行變量,並將其轉化為PHP值,可能為整型,雙精度,字元串,數組,或對像.
; 如果些函數發現了未定義的或類或參數,將會出現提示,如果您想使用這一函數,請設定
; 這個功能.
unserialize_callback_func=
; 是否強迫函數調用時按引用傳遞參數,在將來的PHP/Zend中,這一功能很可能不會再被支援,
; 建議您把此項設為Off,並在腳本中用函數聲明此變量,以便在將來的PHP下正常運行.
allow_call_time_pass_reference = Off
; 安全模式
; 是否啟用安全模式
safe_mode = Off
; 預設設定為Off,在開啟檔案時,安全模式會作一個UID對比檢查,如果設定為On,則作GID對比.
safe_mode_gid = Off
; 如果PHP在安全模式下運行,UID/GID檢查將在這個命令指定的檔案夾及其子檔案夾中進行.
safe_mode_include_dir =
; 如果PHP在安全模式下運行,system()和其它執行系統程式的函數都只能執行這個指令所指定
; 的目錄
safe_mode_exec_dir =
; 改變某些環境變量可能是一個有效的安全措施.
; 這個指令包括了一個含有符號的前綴.在安全模式下,會員只能改變或設定以這裡指定的前綴
; 的名字的環境變量.
; 說明: 如果不指定前綴,PHP會允許會員任意修改環境變量.
safe_mode_allowed_env_vars = PHP_
; 這個指令包含了一個符號,使得會員不能使用putenv()函數修改環境變量.
; 即使safe_mode_allowed_env_vars設定為允許會員修改,這些環境變量也會受到保護.
safe_mode_protected_env_vars = LD_LIBRARY_PATH
; 如果設定了open_basedir,將會使所有被定義的目錄及其子目錄的操作受到限制,這一指令在
; 每一個目錄和每一個虛擬主機構造檔案中著很大的作用.不論safe_mode被設定為On或是Off,
; 這個指令都不會受到任何影響.
;open_basedir =
; 這個指令允許您基於安全原因限制某些函數的使用.
; 如果您想禁用多個函數,可以在函數間用逗號隔開. 同樣地,
;不論safe_mode被設定為On或是Off,這個指令都不會受到任何影響.
disable_functions =
; 語法以高亮度模式顯示的色彩.所有能被<font color="??????">接受的東西就可以運行.
;highlight.string = #DD0000
;highlight.comment = #FF9900
;highlight.keyword = #007700
;highlight.bg = #FFFFFF
;highlight.default = #0000BB
;highlight.html = #000000

;;;;;;;;;;;;
; 雜項設定 ;
;;;;;;;;;;;;
; 是否承認您的伺服器上安裝了PHP這一事實(例如通過附加簽名到WEB伺服器上)
; 這個指令不會引起安全問題,但它使檢查你的伺服器上是否安裝了PHP有了可能.
expose_php = On

;;;;;;;;;;;;
; 資源限制 ;
;;;;;;;;;;;;
max_execution_time = 15 ; 每個腳本的最大執行時間, 按秒計.
max_input_time = 60 ; 每個腳本的最大讀取資料時間, 按秒計.
memory_limit = 8M ; 一個腳本可使用記憶體的最大值 (這裡是8MB).
;;;;;;;;;;;;;;;;;;
; 錯誤控制和記錄 ;
;;;;;;;;;;;;;;;;;;
; 錯誤報告是按比特記的,或者將數字加起來得到想要的錯誤報告等級.
; E_ALL - 所有的錯誤和警告.
; E_ERROR - 運行時的嚴重錯誤.
; E_WARNING - 運行時的警告(並不是非常嚴重的).
; E_PARSE - 編譯時解析錯誤.
; E_NOTICE - 運行時提醒(這些經常是是你的代碼的bug引起的,
; 也可能是有意的行為造成的(如基於未初始化的變量自動初始化為一個
; 空字元串而使用一個未初始化的變量).
; E_CORE_ERROR - 發生於PHP啟動時初始化過程中的致命錯誤.
; E_CORE_WARNING - 發生於PHP啟動時初始化過程中的警告(非致命性錯).
; E_COMPILE_ERROR - 編譯時致命性錯誤.
; E_COMPILE_WARNING - 編譯時警告(非致命性錯).
; E_USER_ERROR - 會員產生的出錯消息.
; E_USER_WARNING - 會員產生的警告消息.
; E_USER_NOTICE - 會員產生的提醒消息.
;
; 例子:
;
; - error_reporting = E_ALL & ~E_NOTICE 顯示所有的錯誤,除了提醒.
;
; - error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR 僅顯示錯誤.
;
error_reporting = E_ALL & ~E_NOTICE
; 顯示錯誤(作為輸出的一部分).在WEB網站上,建議您關掉這個功能,並用錯誤日誌的方式來代替.
; 如果開啟此功能可能會給您帶來安全問題,例如檔案在伺服器上的路徑和您的資料庫或其它訊息.
; 不過在Debug過程中,開啟此項會給調試程式帶來極大的方便.
display_errors = On
; 如果display_startup_errors設定為Off,即使display_errors被設定成On,
; 在PHP啟動過程中的錯誤也不會被顯示.如果不是在Debug過程中,建議您關閉此項.
display_startup_errors = On
; 在日誌檔案中記錄錯誤(伺服器日誌,stderr標準錯誤輸出, 或者error_log (下面的)).
; 正如上面說明的那樣,強烈建議你在最終發表的web網站時以日誌方式記錄錯誤.
log_errors = Off
; 設定錯誤日誌檔案最大值.預設大小是1024M.
log_errors_max_len = 1024
; 不記錄重複的訊息.在ignore_repeated_source被設為On前,重複的訊息一定發生在同一文
; 件的同一行
ignore_repeated_errors = Off
; 忽略重複多次的訊息.如果ignore_repeated_source被設為On,您將不能記錄不同檔案或不同行
的相同訊息.
ignore_repeated_source = Off
; 如果此命令設為Off,記憶體溢出將不會被顯示.
; 而這只在Debug, 並且error reporting中包含E_WARNING時才有意義.
report_memleaks = On
; 是否在$php_errormsg中存儲錯誤/警告訊息(布爾).
track_errors = Off
; 是否在錯誤訊息中包含HTML語法錯誤.
html_errors = On
; 如果您已經讓PHP記錄HTML錯誤,並想通過在錯誤頁面上的按這裡來獲得詳細訊息,
; 您可以從http://www.php.net/docs.php下載一個文件,
; 並且修改docref_root來使用這個文件,這個值必須以'/'開頭,您也必須指定該文件的副檔名.
;docref_root = /phpmanual/
;docref_ext = .html
; 在錯誤訊息輸出前的字元.
;error_prepend_string = "<font color=ff0000>"
; 在錯誤訊息輸出後的字元.
;error_append_string = "</font>"
; 用於記錄錯誤日誌的指定檔案.
;error_log = filename
; 用系統日誌記錄錯誤(NT,XP,w2k下的事件觀看器,WIN95和WIN98下無效).
;error_log = syslog

;;;;;;;;;;;;
; 資料處理 ;
;;;;;;;;;;;;
;
; 說明 - track_vars 在PHP 4.0.3中是一直啟動的
; 在PHP中分隔URL的符號,預設是 "&".
;arg_separator.output = "&amp;"
; 在變量中插入URL的分隔符號,預設是 "&".
; 說明: 任何字元在這裡都是作為分隔符的!
;arg_separator.input = ";&"
; 這條指示描述了PHP記錄GET,POST,Cookie,Environment和Built-in這些變量的順序.
; 以G,P,C,E和S代表,通常以EGPCS或GPC的方式引用,按從左到右記錄,最新的記錄覆蓋較舊的.
variables_order = "EGPCS"
; 是否將這些 EGPCS 變量註冊為全局變量.
; 若你不想讓會員資料不在全局範圍內混亂的話,你可以想關閉它.
; 這和 track_vars 連起來用更有意義 — 這樣你可以通過$HTTP_*_VARS[] 數組瀏覽所有的GPC變量.
; 建議您儘量不使用全局變量,因為它有可能引起安全問題,所以這個指令是不被推薦的.
register_globals = On
; 是否啟用argv和argc變量(這裡argv為數組,argc為變量數).
; 如果您不使用這些變量,您可以設為Off來增加PHP的執行效率.
register_argc_argv = Off
; PHP能接收POST資料的最大值.
post_max_size = 4M
; 不推薦您使用此指令,推您使用variables_order來代替.
gpc_order = "GPC"
;;;;;;;;;;;;
; 魔術引用 ;
;;;;;;;;;;;;
; 是否對引入的GET/POST/Cookie資料啟用魔術引用.
magic_quotes_gpc = On
; 是否對運行時產生的資料啟用魔術引用,例如用SQL搜尋得到的資料,用exec()函數得到的資料等.
magic_quotes_runtime = Off
; 是否使用Sybase形式的魔術引用(即用'代替'').
magic_quotes_sybase = On
; 在PHP文件前的後自動填加檔案.
auto_prepend_file =
auto_append_file =
; 像4.0b4一樣,PHP總是預設地在"Content-type:"頭標輸出一個字元的編碼方式
; 只要設定為空,就會取消這個字元了.PHP的內建預設值是text/html.
default_mimetype = "text/html"
;default_charset = "iso-8859-1"
; 是否一直使用$HTTP_RAW_POST_DATA變量.
always_populate_raw_post_data = Off
; 是否允許處理PHP腳本以外的HTTP請求.
; 如果您想獲得這些請求的資料, 您必須同時設定always_populate_raw_post_data變量.
;allow_webdav_methods = On
;;;;;;;;;;;;
; 路徑設定 ;
;;;;;;;;;;;;
; UNIX伺服器使用如下路徑: "/path1:/path2"
;include_path = ".:/php/includes"
;
; Windows伺服器使用如下路徑: "path1;path2"
;include_path = ".;c:phpincludes"
; PHP檔案的根目錄, 僅在非空時有效,如果PHP被設定為安全模式,PHP不會處理此目錄以外檔案.
doc_root =
; 在使用/~username動工開啟腳本時,PHP尋找該腳本的路徑,同樣地僅在非空時有效.
user_dir =
; 存放可加載的擴展庫(模塊)目錄的路徑.
extension_dir = ./
; 是否啟用dl()函數.在多線程的服務上(如IIS和Zeus)dl()函數不能很好的工作,
; 在多線程服務上該指令預設被禁止.
enable_dl = On
; 在很多伺服器上,以CGI形式運行PHP來提高安全性能.預設設定下,PHP設其為On.
; 您可以在這裡關掉它,但關掉以後是有風險的.但在IIS下您則可以毫無風險的關掉它,
; 事實上,在IIS下您必須關掉它.
; cgi.force_redirect = 1
; 如果cgi.force_redirect功能開啟,並且您不是在Apache或Netscape(iPlanet)伺服器下運行,
您可能須要設定一個環境變量名,PHP將尋找此變量來確定可以繼續執行,設定此變量可能會引起
安全問題,避免的方法是先弄清楚您在作什麼~~~
; cgi.redirect_status_env = ;
; 此選項提供了在IIS伺服器下的智能化安全解決風格,如果在IIS下請設為On,目前不支援Apache
; 伺服器(2002年3月17日),預設值是0.
; fastcgi.impersonate = 1;
; 在發送HTTP響應時cgi.rfc2616_headers告訴PHP使用哪種headers.
; 如果設為0,PHP的發送情況是被Apache所支援的,如果設為1,PHP將發送自適應的RFC2616headers.
; 在IIS下,請設其值為1,預設值是0.
;cgi.rfc2616_headers = 0

;;;;;;;;;;;;
; 檔案上傳 ;
;;;;;;;;;;;;
; 是否允許以HTTP方式上傳檔案.
file_uploads = On
; 以HTTP方式上傳檔案的臨時目錄 (未指定時使用系統預設).
;upload_tmp_dir =
; 允許上傳檔案的最大值.
upload_max_filesize = 2M

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Fopen wrappers(這個俺不會譯5555~) ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; 是否允許把URLs(如http://和ftp://)當作檔案處理.
allow_url_fopen = On
; 指定一個匿名FTP瀏覽密碼(例如您的電子信箱)
;from="Neter@Neter.CN"
; 指定User-Agent字元串(User-Agent是啥呀?會員代理?55555555~)
; user_agent="PHP"
; 預設連接超時時間(以秒計).
default_socket_timeout = 60
; 如果您的腳本程式不是在蘋果機等作業系統下,而只是運行在unix或者win32系統下,
; 開啟這個變量將使PHP自動地檢查已結束的那些字元變量以便fgets()函數和file()函數
; 不受限制的表達.
; auto_detect_line_endings = Off

;;;;;;;;;;;;
; 動態擴展 ;
;;;;;;;;;;;;
;
; 如果您想讓動態擴展庫能夠自動的被加載,請使用下面的語法.
;
; extension=modulename.extension
;
; 例如在Windows下:
;
; extension=msql.dll
;
; 在UNIX下:
;
; extension=msql.so
;
; 注意後面的值只是模塊的名字,並不包含該模塊所在的目錄,您應該用上面的extension_dir
; 來指示指定擴展庫的路徑.

;Windows擴展
;注意:PHP已經內建了對MySQL和ODBC支援,所以不必再為其配置任何dll擴展.
;
;extension=php_bz2.dll
;extension=php_cpdf.dll
;extension=php_crack.dll
;extension=php_curl.dll
;extension=php_db.dll
;extension=php_dba.dll
;extension=php_dbase.dll
;extension=php_dbx.dll
;extension=php_domxml.dll
;extension=php_exif.dll
;extension=php_fbsql.dll
;extension=php_fdf.dll
;extension=php_filepro.dll
;extension=php_gd.dll
;extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_hyperwave.dll
;extension=php_iconv.dll
;extension=php_ifx.dll
;extension=php_iisfunc.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_java.dll
;extension=php_ldap.dll
;extension=php_mbstring.dll
;extension=php_mcrypt.dll
;extension=php_mhash.dll
;extension=php_mime_magic.dll
;extension=php_ming.dll
;extension=php_mssql.dll
;extension=php_msql.dll
;extension=php_oci8.dll
;extension=php_openssl.dll
;extension=php_oracle.dll
;extension=php_pdf.dll
;extension=php_pgsql.dll
;extension=php_printer.dll
;extension=php_shmop.dll
;extension=php_snmp.dll
;extension=php_sockets.dll
;extension=php_sybase_ct.dll
;extension=php_w32api.dll
;extension=php_xmlrpc.dll
;extension=php_xslt.dll
;extension=php_yaz.dll
;extension=php_zip.dll

;;;;;;;;;;;;
; 模塊設定 ;
;;;;;;;;;;;;
[系統日誌]
; 是否定義各種系統日誌變量(如$LOG_PID,$LOG_CRON等).關掉這個指令將會提高效率.
; 您可以在運行時使用define_syslog_variables()函數來定義這些變量.
define_syslog_variables = Off
[郵件功能]
; 僅在Windows下.
SMTP = localhost
; 僅在Windows下.
sendmail_from = Administrator@localhost.com
; 僅在Unix下.您也可以指定參數(預設值是: "sendmail -t -i").
;sendmail_path =
[Java]
;java.class.path = .php_java.jar
;java.home = c:jdk
;java.library = c:jdkjre inhotspotjvm.dll
;java.library.path = .
[SQL]
sql.safe_mode = Off
[ODBC]
;odbc.default_db = Not yet implemented
;odbc.default_user = Not yet implemented
;odbc.default_pw = Not yet implemented
; 是否允許持續連接.
odbc.allow_persistent = On
; 是否在重用前檢查連接可用性.
odbc.check_persistent = On
; 允許持續連接的最大值.-1代表無限制.
odbc.max_persistent = -1
; 允許連接的最大值(持續連接和非持續連接的和).-1代表無限制.
odbc.max_links = -1
; 控制LONG類型的字段.返回變量的大小(比特).0代表不控制.
odbc.defaultlrl = 4096
; 控制二進制資料.0不控制,1保持,2轉換成字元.
; 可參見有關odbc_binmode和odbc_longreadlen的文件
; 以得到uodbc.defaultlrl和uodbc.defaultbinmode的解釋.
odbc.defaultbinmode = 1
[MySQL]
; 是否允許持續連接.
mysql.allow_persistent = On
; 允許持續連接的最大值.-1代表無限制.
mysql.max_persistent = -1
; 允許連接的最大值(持續連接和非持續連接的和).-1代表無限制.
mysql.max_links = -1
; mysql_connect()函數的預設端口.如不設定,mysql_connect()將使用$MYSQL_TCP_PORT或者
; 在/etc/services下的mysql-tcp或者編譯定義的MYSQL_PORT(nuix)依次搜尋,而在Win32下,將
; 僅檢查MYSQL_PORT.
mysql.default_port = 3306
; 用於本地MySql連接的預設socket,為空時,使用內建值.
mysql.default_socket = MySql
; mysql_connect()連接的預設主機(安全模式下無效).
mysql.default_host = localhost
; mysql_connect()連接時的預設會員名稱(安全模式下無效).
mysql.default_user = root
; mysql_connect()連接時的預設密碼(安全模式下無效).
; 注意,在這裡使用密碼十分危險,因為任何有PHP權限的會員都可以通過運行'echo get_cfg_var("mysql.default_password")'
; 的方法來獲得該密碼,當然,任何有瀏覽權限的會員也可以得到此密碼.
mysql.default_password =
; 連接超時的最大值(以秒計).-1代表無限制.
mysql.connect_timeout = -1
; 鑑定報告模式.如果此模式被啟動(即設為On),關於table/index和MYSQL錯誤將會被列出.
mysql.trace_mode = Off
[mSQL]
; 是否允許持續連接.
msql.allow_persistent = On
; 允許持續連接的最大值.-1代表無限制.
msql.max_persistent = -1
; 允許連接最大值(持續連接與非持續連接的和).-1代表無限制.
msql.max_links = -1
[PostgresSQL]
; 是否允許持續連接.
pgsql.allow_persistent = On
; 是否使用pg_pconnect()函數檢查中斷的持續連接.Need a little overhead(55555俺又不懂了).
pgsql.auto_reset_persistent = Off
; 允許持續連接的最大值. -1代表無限制.
pgsql.max_persistent = -1
; 允許連接的最大值(持續連接與非持續連接的和).-1代表無限制.
pgsql.max_links = -1
; 是否忽略PostgreSQL的返回訊息.
pgsql.ignore_notice = 0
; 是否記錄PostgreSQL的返回訊息.
; 僅當pgsql.ignore_notice=0時,模塊才能記錄該訊息.
pgsql.log_notice = 0
[Sybase]
; 是否允許持續連接.
sybase.allow_persistent = On
; 允許持續連接的最大值.-1代表無限制.
sybase.max_persistent = -1
; 允許連接的最大值(持續連接與非持續連接的和).-1代表無限制.
sybase.max_links = -1
;sybase.interface_file = "/usr/sybase/interfaces"
; 顯示錯誤的最低嚴重性.
sybase.min_error_severity = 10
; 顯示訊息的最低嚴重性.
sybase.min_message_severity = 10
; 與舊的版本(PHP3.0)兼容.如果設為On,PHP將根據它們的Sybase類型自動地賦值到結果中,
; 而不是把它們全當作字元串處理,此模式在將來不再被支援,所以儘量對代碼進行修改,並
; 關掉這項.
sybase.compatability_mode = Off
[Sybase-CT]
; 是否允許持續的連接.
sybct.allow_persistent = On
; 允許持續連接的最大值.-1代表無限制.
sybct.max_persistent = -1
; 允許連接的最大值(持續連接與非持續連接的和).-1代表無限制.
sybct.max_links = -1
; 伺服器訊息最小顯示量.
sybct.min_server_severity = 10
; 客戶訊息最小顯示量.
sybct.min_client_severity = 10
[dbx]
; 通過對dbx.colnames_case的設定,返回的數組名能夠轉換成兼容的值.
; "unchanged" (在不設定時的預設值)
; "lowercase" (小寫)
; "uppercase" (大寫)
; 推薦不區分大小寫字母,但是由於兼容性的限制我們不得不把大小寫區分開.
dbx.colnames_case = "unchanged"
[bcmath]
; 用於所有bcmath函數的10十進制數小數的個數.
bcmath.scale = 0
[browscap]
;browscap = extra/browscap.ini
[Informix]
; ifx_connect()的預設主機(安全模式下無效).
ifx.default_host =
; ifx_connect()的預設會員(安全模式下無效).
ifx.default_user =
; ifx_connect()的預設密碼(安全模式下無效).
ifx.default_password =
; 是否允許持續連接.
ifx.allow_persistent = On
; 允許持續連接的最大值.-1代表無限制.
ifx.max_persistent = -1
; 允許連接的最大值(持續連接與非持續連接的和).-1代表無限制.
ifx.max_links = -1
; 若開啟,select狀態符將返回一個byte blobs而不是它的ID.
ifx.textasvarchar = 0
; 若開啟,select狀態符將返回一個text content而不是它的ID.
ifx.byteasvarchar = 0
; 從固定長度的字元列裡分離出空格.可能對Informix SE會員有效.
ifx.charasvarchar = 0
; 若開啟, text和byte blobs的內容被導出到一個檔案,而不是儲存在記憶體中.
ifx.blobinfile = 0
; NULL(空)被作為空字段返回,除非,這裡被設為1,這種情況下(為1)NULL作為字串NULL返回.
ifx.nullformat = 0
[Session]
; 用於儲存/取得取資料的控制方式.
session.save_handler = files
; session的儲存路徑.
; 說明1: PHP不會建立這個檔案夾,您必須自行建立.
;
; 說明2: 如果您使用子檔案夾進行存儲,請檢查下面的路徑.
session.save_path = /tmp
; 是否使用cookies.
session.use_cookies = 1
; 這個選項能夠使會員避免由於session名被作為URLs的一部分顯示而受到的攻擊.
; 預設值是0.
; session.use_only_cookies = 1
; session的名稱(同時作為cookie的名稱).
session.name = PHPSESSID
; 是否在請求開始時初始化session.
session.auto_start = 0
; cookie的儲存時間(以秒計),設為0時,瀏覽器關閉時不再儲存.
session.cookie_lifetime = 0
; cookie的有效路徑.
session.cookie_path = /
; cookie的有效域.
session.cookie_domain =
; 控制連續的資料.PHP是PHP資料的標準控制器.
session.serialize_handler = php
; 定義'garbage collection'(碎片整理)程序的初始化比率
; 這個比率是通過gc_probability/gc_dividend算出的.
; e.g. 1/100 means 1%.
session.gc_probability = 1
session.gc_dividend = 100
; 在指定的秒數後,存儲的資料將會被看作'碎片'並且被碎片整理程序清理掉.
; 警告: 您的檔案系統會定期的存儲資料,FAT系統除外.所以應該使用特別的方法來刪除sessions.
session.gc_maxlifetime = 1440
; 說明: 如果您使用檔案夾來存儲session檔案(觀看session.save_path中的設定),
; 碎片整理不會自動的運行,您必須通過其它方法整理這些碎片.
; 例如下面的方法和把session.gc_maxlifetime設成1440(1440秒=24分)是等效的.
; cd /path/to/sessions; find -cmin +24 | xargs rm
; 在PHP4.2及更早的版本中沒有正式的檔案允許您初始一個處於全局的session變量,即使是在
; register_globals被禁用的情況下.PHP4.3及以後版本中,如果此功能被使用,PHP提醒您.
; 您可以對此功能和警告訊息單獨禁用,此時,如果bug_compat_42是啟動的,僅會顯示警告訊息.
session.bug_compat_42 = 1
session.bug_compat_warn = 1
; 檢查HTTP引用使額外包含於URLs中的ids無效.
; HTTP_REFERER應該包含有效的session字段作為子鏈.
session.referer_check =
; 從檔案中讀取字元的大小.
session.entropy_length = 0
; 在這裡指定session id.
session.entropy_file =
;session.entropy_length = 16
;session.entropy_file = /dev/urandom
; 設定為{nocache,private,public,}來決定HTTP的緩存問題,
; 或者不進行設定來避免發送明顯的headers.
session.cache_limiter = nocache
; 文件在指定時間(以分計)後過期.
session.cache_expire = 180
; 預設情況下不支援過渡sid.使用此功能時您會收到警告訊息.
; 使用過渡sid是有風險的.因為:
;
; - 會員可以發送包含處於啟動狀態的session ID的URL給其它人.
;
; - 包含處於啟動狀態的session ID的URL會存在於容易接近的公共電腦裡.
;
; - 會員可以通過使用存儲於瀏覽器歷史記錄或書籤中相同的session ID來瀏覽您的網站.
;
session.use_trans_sid = 0
; 重寫URL時將從定義的HTML標籤中尋找form/fieldset是特殊的,如果您在這裡使用它們,
; 就會附;加一個隱藏的<input>,其訊息不同與其它的對URLs的附加.如果您想符合XHTML,
; 刪除form記錄.注意:所有有效的命令必須包含一個"="號,即使命令後面沒有具體值.
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=,fieldset="
[MSSQL]
; 是否允許持續連接.
mssql.allow_persistent = On
; 允許持續連接的最大值.-1表示無限制.
mssql.max_persistent = -1
; 允許連接的最大值(持續連接與非持續連接的和).-1表示無限制.
mssql.max_links = -1
; 顯示最小錯誤嚴重性.
mssql.min_error_severity = 10
; 顯示最小訊息重要性.
mssql.min_message_severity = 10
; 是否開啟與舊的PHP 3.0兼容的模式.
mssql.compatability_mode = Off
; 有效範圍0 - 2147483647.預設值是4096.
;mssql.textlimit = 4096
; 有效範圍0 - 2147483647.預設值是4096.
;mssql.textsize = 4096
; 限制每一批中的記錄數量.設為0時表示所有記錄記錄在一批中.
;mssql.batchsize = 0
; 當連接到伺服器時使用NT驗證.
mssql.secure_connection = Off
; 指定最大程序數.預設是25
;mssql.max_procs = 25
[Assertion]
; Assert(expr);預設值是啟動的.(俺不行了,這組指令譯不過來了55555)
;assert.active = On
; Issue a PHP warning for each failed assertion.
;assert.warning = On
; Don't bail out by default.
;assert.bail = Off
; User-function to be called if an assertion fails.
;assert.callback = 0
; Eval the expression with current error_reporting(). Set to true if you want
; error_reporting(0) around the eval().
;assert.quiet_eval = 0
[Ingres II]
; 是否允許持續連接.
ingres.allow_persistent = On
; 允許持續連接在最大值. -1代表無限制.
ingres.max_persistent = -1
; 允許連接的最大值.-1代表無限制.
ingres.max_links = -1
; 預設的database(格式是: [node_id::]dbname[/srv_class]).
ingres.default_database =
; 預設會員.
ingres.default_user =
; 預設密碼.
ingres.default_password =
[Verisign Payflow Pro]
; 預設的Payflow Pro伺服器.
pfpro.defaulthost = "test-payflow.verisign.com"
; 伺服器的預設端口.
pfpro.defaultport = 443
; 預設的超時時間(以秒計).
pfpro.defaulttimeout = 30
; 預設代理伺服器IP位址(如果須要).
;pfpro.proxyaddress =
; 預設代理伺服器端口.
;pfpro.proxyport =
; 預設的登入名.
;pfpro.proxylogon =
; 預設的登入密碼.
;pfpro.proxypassword =
[Sockets]
; 是否使用系統的read()功能來替代php_read().
sockets.use_system_read = On
[com]
; 指向包含GUIDs,IIDs或典型靜態庫檔案的檔案名稱的檔案的路徑.
;com.typelib_file =
; 是否允許調用分佈式的COM檔案
;com.allow_dcom = true
; 是否自動把組成典型靜態庫檔案的常量註冊到com_load()函數.
;com.autoregister_typelib = true
; 是否區分常量的大小寫
;com.autoregister_casesensitive = false
; 是否在有重複的常量出現時顯示錯誤
;com.autoregister_verbose = true
[Printer]
;printer.default_printer = ""
[mbstring]
; 語言選擇.
;mbstring.language = Chinese
; 語言/腳本的編碼.
; 某些編碼不能作為本地的語言編碼,例如SJIS, BIG5, ISO-2022-.
;mbstring.internal_encoding = GB2312
; http輸入編碼.
;mbstring.http_input = auto
; http輸出編碼.mb_output_handler必須註冊為函數的輸出緩存.
;mbstring.http_output = SJIS
; 是否根據mbstring.internal_encoding的設定自動翻譯編碼. 把這項設為On可以把輸入字元
; 轉換為設定的編碼語言.
; 說明: 一定不要使用這項功能編譯靜態庫檔案和某些軟體.
;
;mbstring.encoding_translation = Off
; 編碼檢查順序.
;mbstring.detect_order = auto
; 當字元不能夠被轉換時,是否使用substitute_character.
;mbstring.substitute_character = none;
; 是否用加密的字元覆蓋沒有加密的字元.例如用mb_send_mail(), mb_ereg()覆蓋
; mail(), ereg()等.有效的值是0,1,2,4或者它們的組合.例如,7代表覆蓋全部.
; 0: 不覆蓋
; 1: 覆蓋mail()函數
; 2: 覆蓋str*()函數
; 4: 覆蓋ereg*()函數
;mbstring.func_overload = 0
[FrontBase]
;fbsql.allow_persistent = On
;fbsql.autocommit = On
;fbsql.default_database =
;fbsql.default_database_password =
;fbsql.default_host =
;fbsql.default_password =
;fbsql.default_user = "_SYSTEM"
;fbsql.generate_warnings = Off
;fbsql.max_connections = 128
;fbsql.max_links = 128
;fbsql.max_persistent = -1
;fbsql.max_results = 128
;fbsql.batchSize = 1000
[Crack]
; 修改下面的設定,使這與cracklib檔案夾的本地路徑相符合,只可以使用基本的檔案名稱,
; 不包含副檔名.
; crack.default_dictionary = "c:phplibcracklib_dict"
[exif]
; 這組就不用譯了吧
; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS.
; With mbstring support this will automatically be converted into the encoding
; given by corresponding encode setting. When empty mbstring.internal_encoding
; is used. For the decode settings you can distinguish between motorola and
; intel byte order. A decode setting cannot be empty.
;exif.encode_unicode = ISO-8859-15
;exif.decode_unicode_motorola = UCS-2BE
;exif.decode_unicode_intel = UCS-2LE
;exif.encode_jis =
;exif.decode_jis_motorola = JIS
;exif.decode_jis_intel = JIS
; Local Variables:
; tab-width: 4
; End:

—————————————————————————-
PHP上傳檔案的限制與修改
http://163.23.86.99/wpmu301/blog/2011/10/10/php%E4%B8%8A%E5%82%B3%E6%AA%94%E6%A1%88%E7%9A%84%E9%99%90%E5%88%B6%E8%88%87%E4%BF%AE%E6%94%B9/

   
PHP上傳檔案的限制與修改(1Byte=8bits)
一、
製作PHP網頁也很常用到的一個功能就是利用表單上傳檔案
尤其是像自製相簿、影音的話
檔案輕則1~5MB
大的話20MB以上都有
然而Apache本身是有限制檔案上傳的
包括檔案大小、上傳時間是否會time out等等的
所以在製作前要從php.ini來作修改,要修改的包括以下幾項
max_execution_time
max_input_time
memory_limit
post_max_size
upload_max_filesize
default_socket_timeout
mysql.connect_timeout
可以利用 Ctrl + F 在php.ini裡一項一項尋找
1. max_execution_time
Script執行時間上限(單位:秒)
把數字改成 max_execution_time = 300
2. max_input_time
Script處理資料時間上限(單位:秒)
把數字改成 max_input_time = 300
3. memory_limit
系統記憶體(注意,這個的值一定要設比下面兩項的值都大)
把數字改成 memory_limit = 800M
4. post_max_size
使用表單的file欄位時是用POST傳值
這個可設定POST發送時的容量
把數字改成 post_max_size = 200M
5. upload_max_filesize
單次上傳檔案容量
把數字改成 upload_max_filesize = 200M
6. default_socket_timeout
Socket無回應斷線時間(單位:秒)
把數字改成 default_socket_timeout = 300
7. mysql.connect_timeout
無回應斷線時間(單位:秒;-1代表不斷線一直等)
把數字改成 mysql.connect_timeout = -1
這樣設定的話利用表單上傳大檔案就不怕出現錯誤了,當然數值可以自己改,不過基本上在一般功能來說這樣已經很夠了

二、
post_max_size
控制在採用POST方法進行一次表單提交中PHP所能夠接收的最大數據量。如果希望使用PHP文件上傳功能,則需要將此值改為比upload_max_filesize要大。
允許的POST數據最大Bytes。此設定也影響到文件上傳。 要上傳大文件,該值必須大於upload_max_filesize指令的值。
如果啟用了記憶體限制,那麼該值應當小於memory_limit指令的值。
max_input_time
以秒為單位對通過POST、GET以及PUT方式接收數據時間進行限制。如果應用程序所運行環境處在低速網路上,則需要增加此值以適應接收數據所需的更多時間
單個腳本解析輸入數據(POST, GET, upload)的最大允許時間(秒),設置為-1 表示不限制。
memory_limit
為了避免正在運行的腳本大量使用系統可用記憶體,PHP允許定義內存使用限額。通過memory_limit變量來指定單個腳本程序可以使用的最大記憶體容量變量memory_limit的值應當適當大於post_max_size的值
單個程序腳本可以佔用的最大記憶體數,設置為-1表示為不限制
max_execution_time
max_execution_time設置了在強制終止腳本前PHP等待腳本執行完畢的時間,此時間以秒計算。當腳本進入了一個無限循環狀態時此變量非常有用。然而,當存在一個需要很長時間完成的合法活動時(例如上傳大型文件),這項功能也會導致操作失敗。在這樣的情況下必須考慮將此變量值增加,以避免PHP在腳本正在執行某些重要過程的時候將腳本關閉
允許單個程序腳本佔用服務器的最大時間,單位是秒,這樣可以避免不經意間寫出一個死循環或者什麼程序,長期佔用服務器而把服務器累死。如果設置值為0表示不限制運行時間。
upload_max_filesize = 2M
允許上傳的文件的大小,默認是2M,如果需要上傳大於2M的文件就要修改這裡,當然需要關聯修改memory_limit和post_max_size的值。
四個重要的設置控制 PHP 可使用多少系統資源,
設置                                                 描述                                                                                                  建議值
max_execution_time                 一個腳本可使用多少 CPU 秒                                                        30
max_input_time                         一個腳本等待輸入數據的時間有多長 (秒)                                 60
memory_limit                              在被取消之前,一個腳本可使用多少記憶體                             32M
output_buffering                         數據發送給客戶機之前,有多少數據(Bytes)需要記憶體         4096
具體數字主要取決於您的應用程序。如果要從用戶處接收大文件,那麼 max_input_time 可能必須增加,可以在 php.ini 中修改,也可以通過代碼重寫它。與之類似,CPU 或記憶體佔用較多的程序也可能需要更大的設置值。目標就是緩解超標程序的影響,因此不建議全局禁用這些設置。關於 max_execution_time,還有一點需要注意:它表示進程的 CPU 時間,而不是絕對時間。因此一個進行大量 I/O 和少量計算的程序的運行時間可能遠遠超過 max_execution_time。這也是 max_input_time 可以大於 max_execution_time 的原因所在。
zymic free hosting.
max_input_time 30
max_execution_time 20
godaddy grid economic plan
max_input_time -1 -1
max_execution_time 30 30
freewebhostingarea.com/ free hosting
Default value for max_execution_time is 15 seconds and for max_input_time it is 10 seconds.
PS:具體可查看 PHP手冊 中的 〔php.ini 核心配置選項說明〕
upload_max_filesize 所上傳的文件的最大大小。
post_max_size 設定 POST 數據所允許的最大大小。
memory_limit 設定了一個腳本所能夠申請到的最大記憶體Bytes數。
一般來說:memory_limit > post_max_size > upload_max_filesize

1 則留言:

  1. Bluehost is ultimately the best web-hosting company for any hosting plans you might need.

    回覆刪除