php.ini配置详解
<p>本文采集来源:https://blog.csdn.net/chengxuyuanyonghu/article/details/51320794</p><p> <br>; PHP还是一个不断发展的工具,其功能还在不断地删减 <br>; 而php.ini的设置更改可以反映出相当的变化, <br>; 在使用新的PHP版本前,研究一下php.ini会有好处的</p>
<p>;;;;;;;;;;;;;;;;;;; <br>; 关于这个文件 ; <br>;;;;;;;;;;;;;;;;;;;</p>
<p>; 这个文件控制了PHP许多方面的观点。为了让PHP读取这个文件,它必须被命名为 <br>; 'php.ini'。PHP 将在这些地方依次查找该文件:当前工作目录;环境变量PHPRC <br>; 指明的路径;编译时指定的路径。 <br>; 在windows下,编译时的路径是Windows安装目录。 <br>; 在命令行模式下,php.ini的查找路径可以用 -c 参数替代。</p>
<p>; 该文件的语法非常简单。空白字符和用分号';'开始的行被简单地忽略(就象你可能 <br>; 猜到的一样)。 章节标题(例如 : )也被简单地忽略,即使将来它们可能 <br>; 有某种的意义。 <br>; <br>; 指示被指定使用如下语法: <br>; 指示标识符 = 值 <br>; directive = value <br>; 指示标识符 是 *大小写敏感的* - foo=bar 不同于 FOO = bar。 <br>; <br>; 值可以是一个字符串,一个数字,一个 PHP 常量 (如: E_ALL or M_PI), INI 常量中的 <br>; 一个 (On, Off, True, False, Yes, No and None) ,或是一个表达式 <br>; (如: E_ALL & ~E_NOTICE), 或是用引号括起来的字符串(" foo" ). <br>; <br>; INI 文件的表达式被限制于位运算符和括号。 <br>; | bitwise OR <br>; & bitwise AND <br>; ~ bitwise NOT <br>; ! boolean NOT <br>; <br>; 布尔标志可用 1, On, True or Yes 这些值置于开的状态。 <br>; 它们可用 0, Off, False or No 这些值置于关的状态。 <br>; <br>; 一个空字符串可以用在等号后不写任何东西表示,或者用 None 关键字: <br>; <br>; foo = ; 将foo置为空字符串 <br>; foo = none ; 将foo置为空字符串 <br>; foo = " none" ; 将foo置为字符串'none' <br>; <br>; 如果你值设置中使用常量,而这些常量属于动态调入的扩展库(不是 PHP 的扩展,就是 <br>; Zend 的扩展),你仅可以调入这些扩展的行*之后*使用这些常量。 <br>; <br>; 所有在 php.ini-dist 文件里设定的值与内建的默认值相同(这是说,如果 php.ini <br>; 没被使用或者你删掉了这些行,默认值与之相同)。</p>
<p><br>;;;;;;;;;;;;;;;;;;;; <br>; 语言选项 ; <br>;;;;;;;;;;;;;;;;;;;;</p>
<p>engine = On <br>; 使 PHP scripting language engine(PHP 脚本语言引擎)在 Apache下有效。 <br>short_open_tag = On <br>; 允许 tags 将被识别。 <br>asp_tags = Off <br>; 允许ASP-style tags <br>precision = 14 <br>; 浮点类型数显示时的有效位数</p>
<p>y2k_compliance = Off <br>; 是否打开 2000年适应 (可能在非Y2K适应的浏览器中导致问题)</p>
<p>output_buffering = Off <br>; 输出缓存允许你甚至在输出正文内容之后发送 header(标头,包括cookies)行 <br>; 其代价是输出层减慢一点点速度。你可以使用输出缓存在运行时打开输出缓存, <br>; 或者在这里将指示设为 On 而使得所有文件的输出缓存打开。 <br>output_handler = ; 你可以重定向你的脚本的所有输出到一个函数, <br>; 那样做可能对处理或以日志记录它有用。 <br>; 例如若你将这个output_handler 设为" ob_gzhandler" , <br>; 则输出会被透明地为支持gzip或deflate编码的浏览器压缩。 <br>; 设一个输出处理器自动地打开输出缓冲。</p>
<p>implicit_flush = Off <br>; 强制flush(刷新)让PHP 告诉输出层在每个输出块之后自动刷新自身数据。 <br>; 这等效于在每个 print() 或 echo() 调用和每个 HTML 块后调用flush()函数。 <br>; 打开这项设置会导致严重的运行时冲突,建议仅在debug过程中打开。</p>
<p>allow_call_time_pass_reference = On <br>; 是否让强迫函数调用时按引用传递参数。这一方法遭到抗议, <br>; 并可能在将来版本的PHP/Zend里不再支持。 <br>; 受到鼓励的指定哪些参数按引用传递的方法是在函数声明里。 <br>; 你被鼓励尝试关闭这一选项并确认你的脚本仍能正常工作,以保证在将来版本的语言里 <br>; 它们仍能工作。(你将在每次使用该特点时得到一个警告,而参数将按值而不是按引用 <br>; 传递)。</p>
<p>; Safe Mode 安全模式 <br>safe_mode = Off <br>safe_mode_exec_dir = <br>safe_mode_allowed_env_vars = PHP_ <br>; ?Setting certain environment variables <br>; ?may be a potential security breach. <br>; 该指示包含用逗号分隔的前缀列表。安全模式中,用户仅可以替换 <br>; 以在此列出的前缀开头的环境变量的值。 <br>; 默认地,用户将仅能 设定以PHP_开头的环境变量,(如: PHP_FOO=BAR)。 <br>; 注意: 如果这一指示为空,PHP 将让用户更改任意环境变量!</p>
<p>safe_mode_protected_env_vars = LD_LIBRARY_PATH <br>; 这条指示包含一个用逗号分隔的环境变量列表,那是最终用户将不能用putenv () 更改的。 <br>; 这些变量甚至在safe_mode_allowed_env_vars 设置为允许的情况下得到保护。</p>
<p>disable_functions = <br>; 这条指示让你可以为了安全的原因让特定函数失效。 <br>; 它接受一个用逗号分隔的函数名列表。 <br>; 这条指示 *不受* 安全模式是否打开的影响。</p>
<p>; 语法高亮模式的色彩。 <br>; 只要能被接受的东西就能工作。</p>
<p>highlight.string = #DD0000 <br>highlight.comment = #FF8000 <br>highlight.keyword = #007700 <br>highlight.bg = #FFFFFF <br>highlight.default = #0000BB <br>highlight.html = #000000</p>
<p>; Misc 杂项 <br>expose_php = Off <br>; 决定 PHP 是否标示它装在服务器上的事实(例如:加在它 — PHP— 给Web服务 <br>; 发送的信号上)。 <br>; (我个人的意见,在出现什么power-by的header的时候,把这关掉。) <br>; 它不会有安全上的威胁, 但它使检查你的服务器上是否安装了PHP成为了可能。</p>
<p><br>;;;;;;;;;;;;;;;;;;; <br>; Resource Limits ; <br>;;;;;;;;;;;;;;;;;;;</p>
<p>max_execution_time = 30 ; 每个脚本的最大执行时间, 按秒计 <br>memory_limit = 8388608 ; 一个脚本最大可使用的内存总量 (这里是8MB)</p>
<p><br>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; <br>; Error handling and logging ; <br>; 出错控制和登记 ; <br>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; <br>; 错误报告是按位的。或者将数字加起来得到想要的错误报告等级。 <br>; E_ALL - 所有的错误和警告 <br>; E_ERROR - 致命性运行时错 <br>; E_WARNING - 运行时警告(非致命性错) <br>; E_PARSE - 编译时解析错误 <br>; E_NOTICE - 运行时提醒(这些经常是是你的代码的bug引起的, <br>;也可能是有意的行为造成的。(如:基于未初始化的变量自动初始化为一个 <br>;空字符串的事实而使用一个未初始化的变量)</p>
<p>; E_CORE_ERROR - 发生于PHP启动时初始化过程中的致命错误 <br>; E_CORE_WARNING - 发生于PHP启动时初始化过程中的警告(非致命性错) <br>; E_COMPILE_ERROR - 编译时致命性错 <br>; E_COMPILE_WARNING - 编译时警告(非致命性错) <br>; E_USER_ERROR - 用户产生的出错消息 <br>; E_USER_WARNING - 用户产生的警告消息 <br>; E_USER_NOTICE - 用户产生的提醒消息 <br>; 例子: <br>; error_reporting = E_ALL & ~E_NOTICE ; 显示所有的错误,除了提醒 <br>; error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR ; 仅显示错误 <br>error_reporting = E_ALL & ~E_NOTICE ; 显示所有的错误,除了提醒 <br>display_errors = On ; 显示出错误信息(作为输出的一部分) <br>; 在最终发布的web站点上,强烈建议你关掉这个特性,并使用 <br>; 错误日志代替(参看下面)。 <br>; 在最终发布的web站点继续让 display_errors 有效可能 <br>; 暴露一些有关安全的信息,例如你的web服务上的文件路径、 <br>; 你的数据库规划或别的信息。 <br>display_startup_errors = Off ; 甚至当display_erroes打开了,发生于PHP的启动的步骤中 <br>; 的错误也不会被显示。 <br>; 强烈建议保持使 display_startup_errors 关闭, <br>; 除了在改错过程中。 <br>log_errors = Off ; 在日志文件里记录错误(服务器指定的日志,stderr标准错误输出,或error_log(下面的)) <br>; 正如上面说明的那样,强烈建议你在最终发布的web站点以日志记录错误 <br>; 取代直接错误输出。</p>
<p>track_errors = Off ; 保存最近一个 错误/警告 消息于变量 $php_errormsg (boolean) <br>;error_prepend_string = " " ; 于错误信息前输出的字符串 <br>;error_append_string = " " ; 于错误信息后输出的字符串 <br>;error_log = filename ; 记录错误日志于指定文件 <br>;error_log = syslog ; 记录错误日志于系统日志 syslog (NT 下的事件日志, Windows 95下无效) <br>warn_plus_overloading = Off ; 当将‘ +’ 用于字符串时警告</p>
<p><br>;;;;;;;;;;;;;;;;; <br>; Data Handling ; <br>;;;;;;;;;;;;;;;;; <br>variables_order = " EGPCS" ; 这条指示描述了PHP 记录 <br>; GET, POST, Cookie, Environment and Built-in 这些变量的顺序。 <br>; (以 G, P, C, E & S 代表,通常以 EGPCS 或 GPC 的方式引用)。 <br>; 按从左到右记录,新值取代旧值。</p>
<p>register_globals = On ; 是否将这些 EGPCS 变量注册为全局变量。 <br>; 若你不想让用户数据不在全局范围内混乱的话,你可能想关闭它。 <br>; 这和 track_vars 连起来用更有意义 — 这样你可以通过 <br>; $HTTP_*_VARS[] 数组访问所有的GPC变量。</p>
<p>register_argc_argv = On ; 这条指示告诉 PHP 是否声明 argv和argc 变量 <br>; (注:这里argv为数组,argc为变量数) <br>; (其中包含用GET方法传来的数据)。 <br>; 若你不想用这些变量,你应当关掉它以提高性能。</p>
<p>track_vars = On ; 使$HTTP_*_VARS[]数组有效,这里*在使用时用 <br>; ENV, POST, GET, COOKIE or SERVER替换 <br>post_max_size = 8M ; PHP将接受的POST数据最大大小。</p>
<p><br>gpc_order = " GPC" ; 这条指示被人反对。用 variables_order 代替。</p>
<p>; Magic quotes <br>magic_quotes_gpc = On ; 在输入的GET/POST/Cookie数据里使用魔术引用 <br>; (原文就这样,呵呵,所谓magic quotes 应该是指用转义符加在引用性的控制字符上,如 '....) <br>magic_quotes_runtime= Off ; 对运行时产生的数据使用魔术引用, <br>; 例如:用SQL查询得到的数据,用exec()函数得到的数据,等等 <br>magic_quotes_sybase = Off ; 采用 Sybase形式的魔术引用(用 '' 脱出 ' 而不用 ')</p>
<p>; 自动在 PHP 文档之前和之后添加文件 <br>auto_prepend_file = <br>auto_append_file =</p>
<p>; 象4.04b4一样,PHP 默认地总是在 “ Content-type:” 头标输出一个字符的编码方式。 <br>; 让输出字符集失效,只要设置为空。 <br>; PHP 的内建默认值是 text/html <br>default_mimetype = " text/html" <br>;default_charset = " iso-8859-1"</p>
<p>;;;;;;;;;;;;;;;;;;;;;;;;; <br>; Paths and Directories ; <br>;;;;;;;;;;;;;;;;;;;;;;;;; <br>include_path = ; include 路径设置,UNIX: " /path1:/path2" Windows: " \path1;\path2" <br>doc_root = ; php 页面的根路径,仅在非空时有效 <br>user_dir = ; 告知 php 在使用 /~username 打开脚本时到哪个目录下去找,仅在非空时有效 <br>;upload_tmp_dir = ; 存放用HTTP协议上载的文件的临时目录(在没指定时使用系统默认的) <br>upload_max_filesize = 2097152 ; 文件上载默认地限制为2 Meg <br>extension_dir = c:\php\ ; 存放可加载的扩充库(模块)的目录 <br>enable_dl = On ; 是否使dl()有效。 <br>; 在多线程的服务器上 dl()函数*不能*很好地工作, <br>; 例如IIS or Zeus,并在其上默认为禁止</p>
<p><br>;;;;;;;;;;;;;;;; <br>; File Uploads ; <br>;;;;;;;;;;;;;;;; <br>file_uploads = On ; 是否允许HTTP方式文件上载 <br>;upload_tmp_dir = ; 用于HTTP上载的文件的临时目录(未指定则使用系统默认) <br>upload_max_filesize = 2M ; 上载文件的最大许可大小</p>
<p>; Fopen wrappers ; <br>;;;;;;;;;;;;;;;;;; <br>allow_url_fopen = On ; 是否允许把URLs当作http:.. 或把文件当作ftp:...</p>
<p><br>;;;;;;;;;;;;;;;;;;;;;; <br>; 动态扩展 ; <br>; Dynamic Extensions ; <br>;;;;;;;;;;;;;;;;;;;;;; <br>; 若你希望一个扩展库自动加载,用下面的语法: <br>; extension=modulename.extension <br>; 例如,在windows上, <br>; extension=msql.dll <br>; or 在UNIX下, <br>; extension=msql.so <br>; 注意,这只应当是模块的名字,不需要目录信息放在里面。 <br>; 用上面的 extension_dir 指示指定扩展库的位置。</p>
<p><br>;Windows 扩展 <br>;extension=php_nsmail.dll <br>extension=php_calendar.dll <br>;extension=php_dbase.dll <br>;extension=php_filepro.dll <br>extension=php_gd.dll <br>;extension=php_dbm.dll <br>;extension=php_mssql.dll <br>;extension=php_zlib.dll <br>;extension=php_filepro.dll <br>;extension=php_imap4r2.dll <br>;extension=php_ldap.dll <br>;extension=php_crypt.dll <br>;extension=php_msql2.dll <br>;extension=php_odbc.dll <br>; 注意, MySQL的支持现在是内建的,因此,不需要用它的dll</p>
<p><br>;;;;;;;;;;;;;;;;;;; <br>; 模块设定 ; <br>; Module Settings ; <br>;;;;;;;;;;;;;;;;;;;</p>
<p> <br>define_syslog_variables = Off ; 是否定义各种的系统日志变量 <br>; 如:$LOG_PID, $LOG_CRON, 等等。 <br>; 关掉它是个提高效率的好主意。 <br>; 运行时,你可以调用函数define_syslog_variables(),来定义这些变量</p>
<p><br> <br>SMTP = localhost ;仅用于win32系统 <br>sendmail_from = me@localhost.com ;仅用于win32系统 <br>;sendmail_path = ;仅用于unix, 也可支持参数(默认的是'sendmail -t -i')</p>
<p> <br>debugger.host = localhost <br>debugger.port = 7869 <br>debugger.enabled = False</p>
<p> <br>; 这些配置指示用于示例的日志记录机制。 <br>; 看 examples/README.logging 以得到更多的解释 <br>;logging.method = db <br>;logging.directory = /path/to/log/directory</p>
<p> <br>;java.class.path = .\php_java.jar <br>;java.home = c:\jdk <br>;java.library = c:\jdk\jre\bin\hotspot\jvm.dll <br>;java.library.path = .\</p>
<p> <br>sql.safe_mode = Off</p>
<p> <br>;uodbc.default_db = Not yet implemented <br>;uodbc.default_user = Not yet implemented <br>;uodbc.default_pw = Not yet implemented <br>uodbc.allow_persistent = On ; 允许或禁止 持久连接 <br>uodbc.check_persistent = On ; 在重用前检查连接是否还可用 <br>uodbc.max_persistent = -1 ; 持久连接的最大数。-1 代表无限制 <br>uodbc.max_links = -1 ; 连接的最大数目(持久和非持久)。-1 代表无限制 <br>uodbc.defaultlrl = 4096 ; 控制 LONG 类型的字段。返回变量的字节数,0 代表通过(?)0 means passthru <br>uodbc.defaultbinmode = 1 ; 控制 二进制数据。0 代表?????Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char <br>; 见有关 odbc_binmode 和 odbc_longreadlen 的文档以得到 uodbc.defaultlrl 和 uodbc.defaultbinmode 的解释。</p>
<p> <br>mysql.allow_persistent = On ; 允许或禁止 持久连接 <br>mysql.max_persistent = -1 ; 持久连接的最大数。-1 代表无限制 <br>mysql.max_links = -1 ; 连接的最大数目(持久和非持久)。-1 代表无限制 <br>mysql.default_port = ; mysql_connect() 使用的默认端口,如不设置,mysql_connect() <br>; 将使用变量 $MYSQL_TCP_PORT,或在/etc/services 下的mysql-tcp 条目(unix), <br>; 或在编译是定义的 MYSQL_PORT(按这样的顺序) <br>; Win32环境,将仅检查MYSQL_PORT。 <br>mysql.default_socket = ; 用于本地 MySql 连接的默认的套接字名。为空,使用 MYSQL 内建值</p>
<p>mysql.default_host = ; mysql_connect() 默认使用的主机(安全模式下无效) <br>mysql.default_user = ; mysql_connect() 默认使用的用户名(安全模式下无效) <br>mysql.default_password = ; mysql_connect() 默认使用的密码(安全模式下无效) <br>; 注意,在这个文件下保存密码通常是一个*坏*主意 <br>; *任何*可以使用PHP访问的用户可以运行 <br>; 'echo cfg_get_var(" mysql.default_password" )'来显示那个密码! <br>; 而且当然地,任何有读该文件权力的用户也能看到那个密码。</p>
<p> <br>msql.allow_persistent = On ; 允许或禁止 持久连接 <br>msql.max_persistent = -1 ; 持久连接的最大数。-1 代表无限制 <br>msql.max_links = -1 ; 连接的最大数目(持久和非持久)。-1 代表无限制</p>
<p> <br>pgsql.allow_persistent = On ; 允许或禁止 持久连接 <br>pgsql.max_persistent = -1 ; 持久连接的最大数。-1 代表无限制 <br>pgsql.max_links = -1 ; 连接的最大数目(持久和非持久)。-1 代表无限制</p>
<p> <br>sybase.allow_persistent = On ; 允许或禁止 持久连接 <br>sybase.max_persistent = -1 ; 持久连接的最大数。-1 代表无限制 <br>sybase.max_links = -1 ; 连接的最大数目(持久和非持久)。-1 代表无限制 <br>;sybase.interface_file = " /usr/sybase/interfaces" <br>sybase.min_error_severity = 10 ; 显示的错误的最低严重性 <br>sybase.min_message_severity = 10 ; 显示的消息的最低重要性 <br>sybase.compatability_mode = Off ; 与旧版的PHP 3.0 兼容的模式。若打开,这将导致 PHP 自动地 <br>; 把根据结果的 Sybase 类型赋予它们, <br>; 而不是把它们全当成字符串。 <br>; 这个兼容模式不会永远留着, <br>; 因此,将你的代码进行需要的修改, <br>; 并将该项关闭。</p>
<p> <br>sybct.allow_persistent = On ; 允许或禁止 持久连接 <br>sybct.max_persistent = -1 ; 持久连接的最大数。-1 代表无限制 <br>sybct.max_links = -1 ; 连接的最大数目(持久和非持久)。-1 代表无限制 <br>sybct.min_server_severity = 10 ; 显示的错误的最低严重性 <br>sybct.min_client_severity = 10 ; 显示的消息的最低重要性</p>
<p> <br>bcmath.scale = 0 ; 用于所有bcmath函数的10十进制数数字的个数number of decimal digits for all bcmath functions</p>
<p> <br>;browscap = extra/browscap.ini <br>browscap = C:\WIN\SYSTEM\inetsrv\browscap.ini <br> <br>ifx.default_host = ; ifx_connect() 默认使用的主机(安全模式下无效) <br>ifx.default_user = ; ifx_connect() 默认使用的用户名(安全模式下无效) <br>ifx.default_password = ; ifx_connect() 默认使用的密码(安全模式下无效) <br>ifx.allow_persistent = On ; 允许或禁止 持久连接 <br>ifx.max_persistent = -1 ; 持久连接的最大数。-1 代表无限制 <br>ifx.max_links = -1 ; 连接的最大数目(持久和非持久)。-1 代表无限制 <br>ifx.textasvarchar = 0 ; 若打开,select 状态符返回一个 ‘ text blob’ 字段的内容,而不是它的id <br>ifx.byteasvarchar = 0 ; 若打开,select 状态符返回一个 ‘ byte blob’ 字段的内容,而不是它的id <br>ifx.charasvarchar = 0 ; 追踪从固定长度的字符列里剥离的空格。 <br>; 可能对 Informix SE 用户有效。 <br>ifx.blobinfile = 0 ; 若打开,text和byte blobs 的内容被导出到一个文件 <br>; 而不是保存到内存。 <br>ifx.nullformat = 0 ; NULL(空)被作为空字段返回,除非,这里被设为1。 <br>; 这种情况下(为1),NULL作为字串NULL返回。</p>
<p> <br>session.save_handler = files ; 用于保存/取回数据的控制方式 <br>session.save_path = C:\win\temp ; 在 save_handler 设为文件时传给控制器的参数, <br>; 这是数据文件将保存的路径。 <br>session.use_cookies = 1 ; 是否使用cookies <br>session.name = PHPSESSID <br>; 用在cookie里的session的名字 <br>session.auto_start = 0 ; 在请求启动时初始化session <br>session.cookie_lifetime = 0 ; 为按秒记的cookie的保存时间, <br>; 或为0时,直到浏览器被重启 <br>session.cookie_path = / ; cookie的有效路径 <br>session.cookie_domain = ; cookie的有效域 <br>session.serialize_handler = php ; 用于连接数据的控制器 <br>; php是 PHP 的标准控制器。 <br>session.gc_probability = 1 ; 按百分比的'garbage collection(碎片整理)'进程 <br>; 在每次 session 初始化的时候开始的可能性。 <br>session.gc_maxlifetime = 1440 ; 在这里数字所指的秒数后,保存的数据将被视为 <br>; '碎片(garbage)'并由gc 进程清理掉。 <br>session.referer_check = ; 检查 HTTP引用以使额外包含于URLs中的ids无效 <br>session.entropy_length = 0 ; 从文件中读取多少字节 <br>session.entropy_file = ; 指定这里建立 session id <br>; session.entropy_length = 16 <br>; session.entropy_file = /dev/urandom <br>session.cache_limiter = nocache ; 设为{nocache,private,public},以决定 HTTP 的 <br>; 缓存问题 <br>session.cache_expire = 180 ; 文档在 n 分钟后过时 <br>session.use_trans_sid = 1 ; 使用过渡性的 sid 支持,若编译时许可了 <br>; --enable-trans-sid <br>url_rewriter.tags = " a=href,area=href,frame=src,input=src,form=fakeentry"</p>
<p> <br>;extension=php_mssql.dll <br>mssql.allow_persistent = On ; 允许或禁止 持久连接 <br>mssql.max_persistent = -1 ; 持久连接的最大数。-1 代表无限制 <br>mssql.max_links = -1 ; 连接的最大数目(持久和非持久)。-1 代表无限制 <br>mssql.min_error_severity = 10 ; 显示的错误的最低严重性 <br>mssql.min_message_severity = 10 ; 显示的消息的最低重要性 <br>mssql.compatability_mode = Off ; 与旧版的PHP 3.0 兼容的模式。</p>
<p> <br>; ????? <br>;assert.active = On ; ?assert(expr); active by default <br>;assert.warning = On ; issue a PHP warning for each failed assertion. <br>;assert.bail = Off ; don't bail out by default. <br>;assert.callback = 0 ; user-function to be called if an assertion fails. <br>;assert.quiet_eval = 0 ; eval the expression with current error_reporting(). set to true if you want error_reporting(0) around the eval().</p>
<p> <br>ii.allow_persistent = On ; 允许或禁止 持久连接 <br>ii.max_persistent = -1 ; 持久连接的最大数。-1 代表无限制 <br>ii.max_links = -1 ; 连接的最大数目(持久和非持久)。-1 代表无限制 <br>ii.default_database = ; 默认 database (format : dbname <br>ii.default_user = ; 默认 user <br>ii.default_password = ; 默认 password</p>
<p> <br>pfpro.defaulthost = " test.signio.com" ; 默认的 Signio 服务器 <br>pfpro.defaultport = 443 ; 连接的默认端口 <br>pfpro.defaulttimeout = 30 ; 按秒计的默认超时时间</p>
<p>; pfpro.proxyaddress = ; 默认的代理的 IP 地址(如果需要) <br>; pfpro.proxyport = ; 默认的代理的端口 <br>; pfpro.proxylogon = ; 默认的代理的登录(logon 用户名) <br>; pfpro.proxypassword = ; 默认的代理的密码</p>
<p> <br>sockets.use_system_read = On ; 使用系统的read() 函数替代 php_read()封装 <br>; Local Variables: (局部变量) <br>; tab-width: 4 <br>; End</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p>php.ini中经常会用到的一些配置:<br>short_open_tag = Off<br>这个设置的作用是关闭短标签,在设置成Off之后,<?php echo 123; ?>可以显示,而<? echo 123; ?>就不行了,同理<?=$var?>这样的写法也不行了,要养成写<?php ?>的习惯。<br>output_buffering = 0<br>这个设置的作用是不使用头部缓冲,头部缓冲的作用是在服务器向浏览器发送数据前,可以设置一定大小的缓冲数据,比如这段代码:<br><?php<br>echo 123;<br>session_start();<br>?><br>如果在设置output_buffering = 4096的时候就不会有问题,但是在output_buffering = 0的时候,会报错:<br>Warning: session_start() : Cannot send session cookie - headers already sent by (output started at D:\work\web\html\test.php:2) in D:\work\web\html\test.php on line 3<br>设置为0的目的是帮你写出高质量的代码。<br>error_reporting = E_ALL<br>这个设置的作用是将错误级别设置为最高,可以显示所有的问题,方便查错,也有利于写出高质量的代码。<br>display_errors = On<br>这个设置的作用是让浏览器显示出程序的错误,调试的时候当然是要On的,不然就什么错误信息也看不到了。<br>register_globals = Off<br>这个设置的作用是关闭自动注册的全局变量,在设置为On的时候,php会将$_POST,$_GET,$_COOKIE,$_ENV,$_SESSION数组中的$key=>$value直接注册为变量,比如$_POST['username']就会被注册为$username,虽然方便了调用,但是会有三个问题:</p>
<p>1、不知道变量是哪里来的,$_POST来的还是$_SESSION来的呢?非常不方便别人阅读代码。</p>
<p>2、变量之间互相覆盖,引起不必要的麻烦。</p>
<p>3、安全问题。所以要设置为Off。<br>magic_quotes_gpc = On<br>magic_quotes_runtime = Off<br>照着设置就可以了,magic_quotes的本意是自动对程序中的一些会引起安全问题的内容进行转义,但是因为是自动的,所以会引起一些不必要的麻烦(比如不同系统环境的程序开发,安装),因为php6中完全移除magic_quotes。<br>extension_dir = "路径"<br>在安装的时候设置的一个php.ini设置,用来指定php扩展模块的地址。<br>upload_max_filesize = 2M<br>文件上传时候的大小限制,需要的时候可以把设置改大一些<br>;extension=php_mssql.dll<br>extension=php_mysql.dll<br>前面有一个";"表示关闭,去掉";"表示开启,用来加载php扩展用,这些是常用的需要加载的php模块。</p>
<p> </p>
<p> </p>
<p>php.ini设置,上传大文件:<br><br>post_max_size = 128M<br>upload_max_filesize = 128M<br>#这两个设置一样即可,可以更大但要注意超时<br>max_execution_time = 30<br>max_input_time = 600<br>memory_limit = 32M<br><br>修改/etc/httpd/conf.d/php.conf<br><br><br>SetOutputFilter PHP<br>SetInputFilter PHP<br>#LimitRequestBody 524288<br>LimitRequestBody 20971520<br><br><br><br><br><br><br><br>;;;;;;;;;;<br>;; 警告 ;;<br>;;;;;;;;;;<br>; 这是PHP新安装时的默认设置。默认设置适合于开发但是不适合正式应用。<br>; 出于安全方面考虑,请在发布正式应用程序时使用php.ini-recommended<br>; 并且参考如下页面:http://php.net/manual/en/security.php<br><br><br>;;;;;;;;;;;;;;;;;;;<br>;; 关于 php.ini ;;<br>;;;;;;;;;;;;;;;;;;;<br>; 这个文件控制了PHP许多方面的性能和行为。 为了让PHP正确读取这个文件,<br>; 它必须被命名为'php.ini'。PHP将按照如下顺序依次查找该文件:<br>; 1.当前工作目录;2.环境变量PHPRC指明的路径;3.编译时指定的路径。<br>; 在windows下,编译时的路径是Windows的安装目录(C:WINDOWS等)。<br>; 在命令行模式下,php.ini的查找路径可以用 -c 参数指定。<br>;<br>; 该文件的语法非常简单。空白字符(" ","t",...)和用分号(";")开始的行被简单地忽略。<br>; 章节标题(例如 : )也被简单地忽略,即使将来它们可能有某种意义。<br>;<br>; 设置格式如下:<br>; directive = value<br>; 指令标识符(directive) 是大小写敏感的! "foo=bar" 不同于 "FOO = bar"。<br>; 值(value)可以是:<br>; 1.一个字符串、2.一个数字、3.一个 PHP常量(如:E_ALL, M_PI)、<br>; 4.一个INI常量(On, Off, True, False, Yes, No, None)、<br>; 5.一个表达式(如:E_ALL & ~E_NOTICE)、<br>; 6.用引号括起来的字符串("foo").<br>;<br>; INI文件中的表达式仅限于使用位运算符/逻辑非/小括号。<br>; | 位或<br>; & 位与<br>; ~ 位非<br>; ! 逻辑非<br>;<br>; 布尔标志可用 1, On, True, Yes 打开,亦可用 0, Off, False, No 关闭。<br>;<br>; 一个空字符串可以用在等号后不写任何东西表示,或者用 none 关键字,举例如下:<br>; foo = 将foo置为空字符串<br>; foo = none 将foo置为空字符串<br>; foo = "none" 将foo置为字符串'none'<br>;<br>; 如果你在值设置中使用常量,而这些常量属于动态扩展(PHP扩展或Zend扩展)<br>; 那么你只能在调入这些动态扩展的行之后使用这些常量。<br>;<br>; 所有在 php.ini-dist 文件里设定的值与内建的默认值相同。<br>; 也就是说,如果 php.ini 不存在,或者你删掉了某些行,默认值与之相同。<br>;;;;;;;;;;;;;;;<br>;;; 语言选项 ;;<br>;;;;;;;;;;;;;;;<br><br>engine = On<br>; 使PHP脚本语言引擎在Apache下有效。<br><br>zend.ze1_compatibility_mode = Off<br>; 允许使用兼容Zend引擎1(PHP 4.x)的模式<br><br>short_open_tag = On<br>; 允许 "" 短标识,否则只有""和""才能被识别。<br>; 注意:除非你的php程序只供自己使用,否则请不要使用短标记。<br>; 如果要和XML结合使用PHP,你可以选择禁用此选项以方便直接嵌入使用 ,<br>; 不然你必须用PHP来输出:<br>; 本指令也会影响到缩写形式 <br>asp_tags = Off<br>; 是否允许ASP风格的标记"<% %>",这也会影响到缩写形式:<%= $value %><br><br>precision = 12<br>;->precision = 14 <br>; 浮点型数据显示的有效位数<br><br>y2k_compliance = On<br>; 强制打开2000年适应 (可能在非Y2K适应的浏览器中导致问题)<br><br>output_buffering = Off<br>;->output_buffering = 4096<br>; 输出缓存允许你甚至在输出正文内容之后发送http头(包括cookies)。<br>; 其代价是输出层减慢一点点速度。<br>; 你可以在运行期间通过调用输出缓冲函数启用输出缓存。<br>; 你还可以通过设置"output_buffering=On"来为所有文件启用输出缓存(默认4096)。<br>; 如果你想指定缓冲区的最大字节数,你可以直接将"On"替换成数字,<br>; 比如:"output_buffering=4096"指定了缓存上限为4096字节。<br><br>;output_handler =<br>; 你可以将所有脚本输出重定向到一个输出处理函数。<br>; 比如,重定向到"mb_output_handler"函数时,字符编码将被透明地转换为指定的编码。<br>; 一旦你在这里指定了输出处理程序,"output_buffering"将被自动打开。<br>; 注意1: 在编写可移植脚本的时候不能依赖这个指令,而应明确的调用ob_start()函数打开输出缓存。<br>; 使用这个指令可能会导致某些你不熟悉的脚本出错。<br>; 注意2: 你不能同时使用"mb_output_handler"和"ob_iconv_handler"<br>; 你也不能同时使用"ob_gzhandler"和"zlib.output_compression"<br>; 注意3: 如果启用了zlib输出压缩,"output_handler"必须为空,取而代之,必须启用"zlib.output_handler"。<br><br>zlib.output_compression = Off<br>; 使用zlib库透明地压缩脚本输出结果。<br>; 该指令的值可以设置为:Off/On/字节数(用来作为压缩缓冲区大小,默认为4KB)<br>; 如果在php.ini或者apache配置中打开这个功能,当浏览器发送"Accept-Encoding: gzip(deflate)"头时,<br>; "Content-Encoding: gzip(deflate)"和"Vary: Accept-Encoding"头将加入到应答头当中。<br>; 你可以在答头输出之前用ini_set()函数在脚本中禁止这个特性,<br>; 如果你输出一个"Content-Type: image/"这样的应答头,压缩将不会启用(为了防止Netscape的bug)。<br>; 你可以在输出"Content-Type: image/"之后使用"ini_set('zlib.output_compression', 'On')"重新打开这个特性。<br>; 注意1: 压缩率会受压缩缓冲区大小的影响,如果你想得到更好的压缩质量,请指定一个较大的压缩缓冲区。<br>; 注意2: 如果启用了zlib输出压缩,"output_handler"必须为空,取而代之,必须启用"zlib.output_handler"。<br><br>;zlib.output_handler =<br>; 在打开"zlib.output_compression"指令的情况下,除这里以外,你不能另外指定输出处理程序。<br>; 这个指令和"output_handler"起相同的作用,但是顺序不同。<br><br>implicit_flush = Off<br>; 这个指令告诉PHP输出层在每个输出块之后自动刷新自身数据。默认为 FALSE<br>; 这等效于在每个print()、echo()、HTML块之后自动调用flush()函数。<br>; 打开这个选项对程序执行的性能有严重的影响,通常只推荐在调试时使用。<br>; 在CLI SAPI的执行模式下,该标记默认为 TRUE 。<br><br>unserialize_callback_func=<br>; 如果解序列化程序需要实例化一个未定义类,该这里指定的回调函数将以该未定义类的名字作为参数被调用,<br>; 以免得到不完整的"__PHP_Incomplete_Class"对象。<br>; 如果这里没有指定函数,或者指定的函数不包含(或实现)那个未定义的类,将会显示一条警告信息。<br>; 只有在你真想执行这样一个回调函数的情况下,才需要指定该参数的值。<br>; 可以通过 php.ini、ini_set() 或 .htaccess 定义"unserialize_callback_func"。<br>; 若要禁止这个特性,只需置空此设定。<br><br>serialize_precision = 100<br>; 将浮点型和双精度型数据序列化存储时,序列化精度指明了有效位数。<br>; 默认值能够确保浮点型数据被解序列化程序解码时不会有数据丢失。<br><br>allow_call_time_pass_reference = On<br>;->allow_call_time_pass_reference = Off<br>; 强迫函数调用时按引用传递参数。<br>; php反对使用这一方法,并可能在将来版本的PHP/Zend里不再支持。<br>; 鼓励的方法是在函数声明里指定哪些参数按引用传递。<br>; 我们鼓励你尝试关闭这一选项并确认你的脚本仍能正常工作,以保证你的脚本在将来版本的语言里仍能正常工作。<br>; (每次使用此特性都会收到一条警告:参数会被按值传递而不是按照引用传递)<br><br>;;;;;;;;;;;;;<br>; 安全模式 <br><br>safe_mode = Off<br>; 安全模式<br><br>safe_mode_gid = Off<br>; 安全模式默认情况下在打开文件时会做UID比较检查。<br>; 如果你想将其放宽到GID比较,可以打开这个参数。<br><br>safe_mode_include_dir =<br>; 在安全模式下,该文件夹和其子文件夹下的文件被包含时,将跳过UID/GID检查。<br>; (文件夹必须必须在"include_path"中或者用完整路径来包含)<br>; 从PHP4.2 开始,本指令可以接受和"include_path"指令类似的风格用分号隔开的路径,而不只是一个目录。<br>; 指定的限制实际上是一个前缀,而非一个目录名,也就是说"/dir/incl"将允许访问"/dir/include"和"/dir/incls"<br>; 如果您希望将访问控制在一个指定的目录,那么请在结尾加上一个斜线,例如:"/dir/incl/"<br><br>safe_mode_exec_dir =<br>; 在安全模式下,只有该文件夹下的可执行程序才能被允许通过system()和其它执行系统程序的函数执行。<br>; 这些函数是:escapeshellarg, escapeshellcmd, exec, passthru, proc_close, proc_get_status, <br>; proc_nice, proc_open, proc_terminate, shell_exec, system ....<br><br>safe_mode_allowed_env_vars = PHP_<br>; 该指令包含用逗号分隔的前缀列表,表示用户在安全模式下仅可以更改在此列出的前缀开头的环境变量的值。<br>; 因为设置某些环境变量,可能会导致潜在的安全漏洞。<br>; 默认地,用户将仅能设定以PHP_开头的环境变量,(如: PHP_FOO=BAR)。<br>; 注意: 如果这一参数值为空,PHP将允许用户更改任意环境变量!<br><br>safe_mode_protected_env_vars = LD_LIBRARY_PATH<br>; 这个指令包含一个用逗号分隔的环境变量列表,在安全模式下,列表中的变量是远端用户不能用putenv()更改的。<br>; 这些变量甚至在"safe_mode_allowed_env_vars"设置为允许的情况下也会得到保护。<br><br>;open_basedir =<br>; 将PHP允许打开的所有文件都限制在此目录下。无论安全模式是否打开,该参数都将起作用。<br>; 如果web服务器使用了per-directory或虚拟主机,这个参数将非常有意义。<br>; 当一个脚本试图用例如fopen()或者gzopen()打开一个指定目录树之外的文件时,将遭到拒绝。<br>; 所有的符号连接都会被解析,所以不可能通过符号连接来避开此限制。<br>; 特殊值'.'指定了存放该脚本的目录将被当做基准目录。<br>; 在Windows中,用分号分隔目录。在任何其它系统中用冒号分隔目录。<br>; 作为Apache模块时,父目录中的open_basedir路径将自动被继承。<br>; 用open_basedir指定的限制实际上是前缀,不是目录名。也就是说"/dir/incl"将允许访问"/dir/include"和"/dir/incls"<br>; 如果您希望将访问控制在一个指定的目录,那么请在结尾加上一个斜线,例如:"/dir/incl/"<br>; 默认是允许打开所有文件。<br><br>disable_functions =<br>; 这个指令让你可以出于安全原因禁用特定的函数。它接受一个用逗号分隔的函数名列表。<br>; 无论安全模式是否打开,该参数都将起作用。<br>; 本指令只能设置在php.ini中。例如你不能将其设置在httpd.conf中<br><br>disable_classes =<br>; 这个指令让你可以出于安全原因禁用特定的类。它接受一个用逗号分隔的类名列表。<br>; 无论安全模式是否打开,该指令都将起作用。本指令自 PHP 4.3.2 起可用。<br>; 本指令只能设置在php.ini中。例如你不能将其设置在httpd.conf中<br><br>;highlight.string = #DD0000<br>;highlight.comment = #FF9900<br>;highlight.keyword = #007700<br>;highlight.bg = #FFFFFF<br>;highlight.default = #0000BB<br>;highlight.html = #000000<br>; 语法高亮模式的色彩。<br>; 只要能被接受的东西就能正常工作。<br><br>;;;;;;;;;<br>; 杂项<br><br>expose_php = On<br>; 决定PHP是否暴露它被安装在服务器上的事实(比如出现在http头中)<br>; 它不会有安全上的威胁, 但它使得检查你的服务器上是否安装了PHP成为了可能。<br>;;;;;;;;;;;;;;<br>;; 资源限制 ;;<br>;;;;;;;;;;;;;;<br><br>max_execution_time = 30<br>; 每个脚本最大允许执行时间, 按秒计。默认为30秒。<br>; 这个参数有助于阻止劣质脚本无休止的占用服务器资源。<br>; 注: "max_execution_time"仅影响脚本本身的运行时间。<br>; 任何其它花费在脚本运行之外的时间,如用system()/sleep()函数的使用、数据库查询、文件上传等,都不包括在内。<br>; 在安全模式下,你不能用ini_set()在运行时改变这个设置。<br><br>max_input_time = 60<br>; 每个脚本接收输入数据的最大允许时间(POST, GET, upload), 按秒计<br><br>memory_limit = 8M<br>; 设定一个脚本所能够申请到的最大内存字节数。<br>; 这有助于防止劣质脚本消耗完服务器上的所有内存。<br>; 要使用此指令必须在编译的时候激活。<br>; 因此 configure 一行中应该包括:--enable-memory-limit<br>; 如果不需要任何内存上的限制,必须将其设为 -1<br>; 自php4.3.2 起,当设置了memory_limit后,memory_get_usage()函数将变为可用<br><br><br>;;;;;;;;;;;;;;;;;;;;<br>;; 出错处理和日志 ;;<br>;;;;;;;;;;;;;;;;;;;;<br><br>error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT<br>;->error_reporting = E_ALL<br>; 显示所有的错误,除了提醒和编码标准化警告。<br>; 错误报告是位字段。可以将数字加起来得到想要的错误报告等级。<br>; E_ALL - 所有的错误和警告(不包括 E_STRICT)<br>; E_ERROR - 致命性的运行时错误<br>; E_WARNING - 运行时警告(非致命性错误)<br>; E_PARSE - 编译时解析错误<br>; E_NOTICE - 运行时提醒(这些经常是你代码中的bug引起的,也可能是有意的行为造成的。)<br>; E_STRICT - 编码标准化警告,允许PHP建议如何修改代码以确保最佳的互操作性向前兼容性。<br>; E_CORE_ERROR - PHP启动时初始化过程中的致命错误<br>; E_CORE_WARNING - PHP启动时初始化过程中的警告(非致命性错)<br>; E_COMPILE_ERROR - 编译时致命性错<br>; E_COMPILE_WARNING - 编译时警告(非致命性错)<br>; E_USER_ERROR - 用户自定义的错误消息<br>; E_USER_WARNING - 用户自定义的警告消息<br>; E_USER_NOTICE - 用户自定义的提醒消息<br>; 例子:<br>;error_reporting = E_ALL & ~E_NOTICE ; 显示所有的错误,除了提醒<br>;error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR ; 仅显示错误<br><br>display_errors = On<br>;->display_errors = Off<br>; 作为输出的一部分显示出错误信息<br>; 在最终发布的web站点上,强烈建议你关掉这个特性,并使用错误日志代替(参看下面)。<br>; 在最终发布的web站点打开这个特性可能暴露一些安全信息,<br>; 例如你的web服务上的文件路径、数据库规划或别的信息。<br><br>display_startup_errors = Off<br>; 即使"display_errors"特性被打开,关闭此参数也将不显示PHP启动时的错误。<br>; 强烈建议你关掉这个特性,除非你必须要用于调试中。<br><br>log_errors = Off<br>;->log_errors = On<br>; 在日志文件里记录错误(服务器指定的日志,stderr标准错误输出,或error_log(下面的))<br>; 正如上面说明的那样,强烈建议你在最终发布的web站点时用日志记录错误而不是直接输出。<br><br>log_errors_max_len = 1024<br>; 设置错误日志文件的最大长度。<br>; 设为 0 可以允许无限长度。<br><br>ignore_repeated_errors = Off<br>; 忽略重复的错误信息<br>; 如果关闭这个参数,错误信息必须出现在同一个文件的同一行才被忽略。<br>; 如果打开这个参数,则没有这个限制。<br><br>ignore_repeated_source = Off<br>; 忽略重复的错误源<br>; 忽略重复的错误信息时忽略重复的错误源<br>; 如果打开这个参数,将不会记录不同的出错文件和对应行的错误信息。<br><br>report_memleaks = On<br>; 报告内存泄漏<br>; 如果关闭该参数,将不记录或者显示内存泄漏<br>; 这个参数只在调试编译中起作用,并且必须在错误报告中包含 E_WARNING<br><br>track_errors = Off<br>; 保存最近一个错误/警告消息于变量$php_errormsg (boolean)中<br><br>;html_errors = Off<br>; 禁用出错信息中的HTML标记<br>; 注意: 不要在发布的程序中使用这个特性。<br><br>;docref_root = "/phpmanual/"<br>;docref_ext = .html<br>; 如果打开了html_errors参数,PHP将会在出错信息上显示超连接,<br>; 直接链接到一个说明这个错误或者导致这个错误的函数的页面。<br>; 你可以从http://www.php.net/docs.php下载php手册,并设置docref_root参数,将他指向你本地的手册所在目录。<br>; 你还必须设置"docref_ext"来指定文件的扩展名。<br>; 注意: 不要在发布的程序中使用这个特性。<br><br>;error_prepend_string = ""<br>; 用于错误信息前输出的字符串<br><br>;error_append_string = ""<br>; 用于错误信息后输出的字符串<br><br>;error_log = filename<br>; 将错误日志记录到哪个文件中。<br>; 如果设为"syslog", 错误日志将被记录到系统日志中(NT下的事件日志, Unix下的syslog(3))<br><br>;;;;;;;;;;;;;;<br>;; 数据处理 ;;<br>;;;;;;;;;;;;;;<br><br>;arg_separator.output = "&"<br>; PHP所产生的URL中来分隔参数的分隔符。默认值是"&"<br><br>;arg_separator.input = ";&"<br>; PHP解析URL中的变量时使用的分隔符列表,默认值是"&"<br>; 注意: 字符串中的任何字符都将被看着分割符<br><br>variables_order = "EGPCS"<br>;->variables_order = "GPCS"<br>; PHP注册 GET, POST, Cookie, Environment, Built-in 变量的顺序。<br>; (以 G, P, C, E, S 表示,通常以 EGPCS 或 GPC 或 ES 的方式引用)。<br>; 按从左到右记录,新值覆盖旧值。<br>; 举例说,将其设为"GP",会导致 PHP 完全忽略环境变量、cookies 、server,<br>; 并用 GET 方法的变量覆盖 POST 方法的同名变量<br><br>register_globals = Off<br>; 是否将这些 EGPCS 变量注册为全局变量。自 PHP 4.2.0 开始,本指令默认为 off<br>; 例如,如果打开这个特性,那么URL:http://www.example.com/test.php?id=3 将产生 $id<br>; 或者从 $_SERVER['DOCUMENT_ROOT'] 得到 $DOCUMENT_ROOT 。<br>; 如果你不想让脚本中的全局变量和用户输入的数据搞混的话,请关闭它。<br>; 推荐使用PHP的预定义变量来替代,例如超全局变量:$_ENV,$_GET,$_POST,$_COOKIE 和 $_SERVER<br>; 请注意, register_globals不能在运行时设定(ini_set()),尽管在主机允许时可以用 .htaccess 来设置<br>; 一个 .htaccess 项目的例子:php_flag register_globals on<br>; 注: register_globals 受 variables_order 指令的影响。<br><br>register_long_arrays = On<br>;->register_long_arrays = Off<br>; 是否启用旧式的长式数组(HTTP_*_VARS),推荐关闭该特性以获得更好的性能。<br><br>register_argc_argv = On<br>;->register_argc_argv = Off<br>; 是否声明 argv和argc 变量(其中包含用GET方法传来的数据)<br>; 【argv为变量数组,argc为变量数组中元素个数】<br>; 若你不想使用这两个变量,应当关掉它以提高性能。<br><br>post_max_size = 8M<br>; PHP接受的POST数据最大长度。此设定也影响到文件上传。<br>; 要上传大文件,该值必须大于"upload_max_filesize"<br>; 如果配置脚本中激活了内存限制,"memory_limit"也会影响文件上传。<br>; 一般说来,"memory_limit"应该比"post_max_size"要大。<br><br>;;;;;;;;;;;;;;;;;;;;;;;;;;;<br>; 魔术引号(自动字符串转义)<br><br>magic_quotes_gpc = On<br>;->magic_quotes_gpc = Off<br>; 在输入的GET/POST/Cookie数据里使用自动字符串转义【比如,值 (It's "<img src="http://www.kikogirl.cn/bbs/images/smilies/BB9.gif">HP!") 会自动转换成 (It's "<img src="http://www.kikogirl.cn/bbs/images/smilies/BB9.gif">HP!")】<br>; 这里的设置自动影响$_GEST,$_POST,$_COOKIE数组的值。如果打开,值 (It's "<img src="http://www.kikogirl.cn/bbs/images/smilies/BB9.gif">HP!") 会自动转换成 (It's "PHP!")。<br>; (个人意见:关闭此特性, 因为它在处理双字节汉字的时候可能会破坏某些繁体字和特殊字符)<br><br>magic_quotes_runtime = Off<br>; 对运行时从外部资源产生的数据使用自动字符串转义<br>; 例如:用SQL查询得到的数据,用exec()函数得到的数据,等等<br><br>magic_quotes_sybase = Off<br>; 采用 Sybase形式的自动字符串转义( 用 '' 表示 ' 而不用 ' )<br><br>auto_prepend_file =<br>; 指定在主文件之前自动解析的文件名。<br>; 该文件就像调用了include()函数一样被包含进来,因此会使用"include_path"<br><br>auto_append_file =<br>; 指定在主文件之后自动解析的文件名。<br>; 该文件就像调用了include()函数一样被包含进来,因此会使用"include_path"<br>; 注: 如果脚本通过 exit() 终止,则自动后缀不会发生。<br><br>default_mimetype = "text/html"<br>;default_charset = "iso-8859-1"<br>; PHP总是默认地在"Content-type:"头中设置输出文档的MIME类型和字符集的编码方式。<br>; 要让输出字符集失效,只要设置为空或注释掉即可。<br>; PHP的默认设置会输出"Content-Type: text/html"<br>; 若去掉"default_charset"前的注释并将其设为"gb2312",<br>; 那么将会输出"Content-Type: text/html; charset=gb2312"<br><br>;always_populate_raw_post_data = On<br>; 总是填充$HTTP_RAW_POST_DATA变量,"HTTP_RAW_POST_DATA"意为"HTTP原始POST数据"<br>;;;;;;;;;;;;;;;;<br>;; 路径和目录 ;;<br>;;;;;;;;;;;;;;;;<br><br>;include_path = ".;c:phpincludes"<br>; 指定一组目录用于require(),include()和fopen_with_path()函数来寻找文件。<br>; 格式和系统的 PATH 环境变量类似:<br>; 一组目录的列表,在 UNIX 下用冒号分隔,在 Windows 下用分号分隔。<br>; 在包含路径中使用 '.' 可以允许相对路径,它代表当前目录。<br>; UNIX: "/path1:/path2"<br>; Windows: "path1;path2"<br><br>doc_root =<br>; PHP页面在服务器上的根目录。仅在非空时有效。<br>; 如果PHP被配置为安全模式,则此目录之外的文件一概不被解析。<br>; 如果PHP编译时没有指定FORCE_REDIRECT,并且在非IIS服务器上以CGI方式运行,<br>; 则必须设置此项。(参见手册中的安全部分)<br>; 替代方案是使用下面的"cgi.force_redirect"指令。<br><br>user_dir =<br>; 告诉php在使用 /~username 打开脚本时到哪个目录下去找,仅在非空时有效。<br>; 也就是在用户目录之下使用PHP文件的基本目录名,例如:public_html<br><br>extension_dir = "./"<br>; 存放扩展库(模块)的目录,也就是PHP用来寻找动态连接扩展库的目录<br><br>enable_dl = On<br>; 是否使dl()函数有效。<br>; dl()函数在除apache以外的多线程的服务器(如:IIS或Zeus)上不能正确地工作,并在其上默认为禁止。<br><br>;cgi.force_redirect = 1<br>; 打开cgi强制重定向为以CGI方式运行的php提供了必要的安全保护,php默认打开了该参数。<br>; 你若自己关闭了它,请自己负责后果<br>; 注意:在IIS/OmniHTTPD/Xitami上则必须关闭它!<br><br>;cgi.nph = 1<br>; 如果该参数打开,那么它会强制cgi对每个http请求始终发送状态码: 200<br><br>;cgi.redirect_status_env =<br>; 如果打开了cgi.force_redirect,并且你没有将php运行在Apache或Netscape(iPlanet)服务器上,<br>; 可能需要设定一个cgi重定向环境变量名,PHP将去寻找它来知道可以继续执行下去。<br>; 设置这个变量会导致安全漏洞,请务必在设置前搞清楚自己在做什么。<br><br>;fastcgi.impersonate = 1<br>; IIS中的FastCGI支持模仿客户端安全令牌的能力。这使得IIS能够定义运行时所基于的请求的安全上下文。<br>; Apache中的mod_fastcgi不支持此特性(03/17/2002)<br>; 如果在IIS中运行则设为1,默认为 0<br><br>;cgi.rfc2616_headers = 0<br>; 指定PHP在发送HTTP响应代码时使用何种报头。<br>; 如果设定为0,PHP发送一个"Status: "报头,Apache和其它web server都支持。<br>; 若设为0,则PHP使用Apache支持的头。若设为1,则PHP使用RFC2616标准的头。默认值为0<br>; 除非你知道自己在做什么,否则保留其值为 0<br><br><br>;;;;;;;;;;;;;;<br>;; 文件上传 ;;<br>;;;;;;;;;;;;;;<br><br>file_uploads = On<br>; 是否允许HTTP文件上传。参见upload_max_filesize,upload_tmp_dir,post_max_size<br><br>;upload_tmp_dir =<br>; 文件上传时存放文件的临时目录。必须是PHP进程用户可写的目录。如果未指定则PHP使用系统默认值。<br><br>upload_max_filesize = 2M<br>; 允许上传的文件的最大尺寸。<br><br><br>;;;;;;;;;;;;;;<br>;; 文件打开 ;;<br>;;;;;;;;;;;;;;<br><br>allow_url_fopen = On<br>; 是否允许打开远程文件( http:// or ftp://)<br><br>;from="john@doe.com"<br>; 定义匿名ftp的密码(一个email地址)<br><br>;user_agent="PHP"<br>; 定义"User-Agent"字符串<br><br>default_socket_timeout = 60<br>; socket超时,单位是秒<br><br>;auto_detect_line_endings = Off<br>; 如果的你脚本必须处理Macintosh文件,或者你运行在Macintosh上,同时又要处理unix或win32文件,<br>; 设置这个标志可以让PHP自动侦察文件结束符,以便fgets()和file()函数正常工作。<br>; 默认值是 Off,因为在检测第一行的 EOL 习惯时会有很小的性能损失,<br>; 而且在 Unix 系统下使用回车符作为项目分隔符的人们会遭遇向下不兼容的行为。<br><br><br>;;;;;;;;;;;;;;<br>;; 动态扩展 ;;<br>;;;;;;;;;;;;;;<br>; 若你希望一个扩展库自动加载,可用下面的语法:<br>; extension=modulename.extension<br>; 例如,在windows上:<br>; extension=msql.dll<br>; 在UNIX上:<br>; extension=msql.so<br>; 注意,这只应当是模块的名字,不需要附带目录信息。<br>; 上面的extension_dir已经指示了扩展库的位置。<br><br><br>;Windows 扩展<br>;注意,ODBC是内置支持的,不需要使用扩展。(MySQL没有内置)<br>;extension=php_bz2.dll<br>;extension=php_cpdf.dll<br>;extension=php_curl.dll<br>;extension=php_dba.dll<br>;extension=php_dbase.dll<br>;extension=php_dbx.dll<br>;extension=php_exif.dll<br>;extension=php_fdf.dll<br>;extension=php_filepro.dll<br>;extension=php_gd2.dll<br>;extension=php_gettext.dll<br>;extension=php_ifx.dll<br>;extension=php_iisfunc.dll<br>;extension=php_imap.dll<br>;extension=php_interbase.dll<br>;extension=php_java.dll<br>;extension=php_ldap.dll<br>;extension=php_mbstring.dll<br>;extension=php_mcrypt.dll<br>;extension=php_mhash.dll<br>;extension=php_mime_magic.dll<br>;extension=php_ming.dll<br>;extension=php_mssql.dll<br>;extension=php_msql.dll<br>;extension=php_mysql.dll<br>;extension=php_oci8.dll<br>;extension=php_openssl.dll<br>;extension=php_oracle.dll<br>;extension=php_pdf.dll<br>;extension=php_pgsql.dll<br>;extension=php_shmop.dll<br>;extension=php_snmp.dll<br>;extension=php_sockets.dll<br>;extension=php_sybase_ct.dll<br>;extension=php_tidy.dll<br>;extension=php_w32api.dll<br>;extension=php_xmlrpc.dll<br>;extension=php_xsl.dll<br>;extension=php_yaz.dll<br>;extension=php_zip.dll<br>;;;;;;;;;;;;;;<br>;; 模块设置 ;;<br>;;;;;;;;;;;;;;<br><br><br>define_syslog_variables = Off<br>; 是否定义各种的系统日志变量,如:$LOG_PID, $LOG_CRON 等等。<br>; 关掉它以提高效率的好主意。<br>; 你可以在运行时调用函数define_syslog_variables()来定义这些变量<br><br><br>SMTP = localhost ;仅用于win32系统<br>smtp_port = 25 ;仅用于win32系统<br>;sendmail_from = me@example.com ;仅用于win32系统<br>;sendmail_path = ;仅用于unix, 也可支持参数(默认的是'sendmail -t -i')<br><br>;mail.force_extra_parameters =<br>; Force the addition of the specified parameters to be passed as extra parameters to the sendmail binary.<br>; These parameters will always replace the value of the 5th parameter to mail(), even in safe mode.<br><br><br>sql.safe_mode = Off<br><br><br>;odbc.default_db = (暂未实现)<br>;odbc.default_user = (暂未实现)<br>;odbc.default_pw = (暂未实现)<br>odbc.allow_persistent = On ; 是否允许持久连接<br>odbc.check_persistent = On ; 在重用前检查连接是否还可用<br>odbc.max_persistent = -1 ; 每个进程中允许的最大持久连接数。-1 代表无限制<br>odbc.max_links = -1 ; 每个进程中允许的最大连接数(持久和非持久)。-1 代表无限制<br><br>odbc.defaultlrl = 4096<br>; 处理LONG类型的字段。返回变量的字节数,0代表通过(?)<br>; Handling of LONG fields. Returns number of bytes to variables. 0 means passthru.<br><br>odbc.defaultbinmode = 1<br>; 处理二进制数据。0代表通过(?) 1返回原样, 2转换为字符<br>; 参见odbc_binmode和odbc_longreadlen文档以得到uodbc.defaultlrl和uodbc.defaultbinmode的解释。<br><br><br>; php内置的MySQL扩展库无法同4.1.0以上版本的MySQL一起工作。你需要使用MySQLi扩展。<br>; MySQLi扩展模块与recode扩展模块共同使用的时候,可能会造成PHP的崩溃和启动时出现问题。<br>; 如果您需要除latin(默认)以外其它的字符集,您需要安装有已编译字符集支持的外置libmysql(未集成)<br><br>mysql.allow_persistent = On ; 允许或禁止持久连接<br>mysql.max_persistent = -1 ; 每个进程中允许的最大持久连接数。-1 代表无限制<br>mysql.max_links = -1 ; 每个进程中允许的最大连接数(持久和非持久)。-1 代表无限制<br><br>mysql.default_socket = ; 用于本地MySql连接的默认的套接字名。为空时使用MYSQL内置的默认值<br>mysql.default_port =<br>; mysql_connect()使用的默认TCP端口,如果没有指定默认端口号,<br>; mysql_connect()将按顺序从:(1)$MYSQL_TCP_PORT环境变量、<br>; (2)/etc/services文件中的mysql-tcp项(unix)、(3)编译时指定的MYSQL_PORT常量 中获得。<br>; Win32下,只使用 MYSQL_PORT 常量。<br><br>mysql.default_host = ; mysql_connect() 默认使用的主机(安全模式下无效)<br>mysql.default_user = ; mysql_connect() 默认使用的用户名(安全模式下无效)<br>mysql.default_password =<br>; mysql_connect() 默认使用的密码(安全模式下无效)<br>; 注意,在这个文件下保存密码通常是一个坏主意<br>; 任何可以使用PHP访问的用户都可以运行'echo cfg_get_var("mysql.default_password")'来显示密码!<br>; 而且当然地,任何有读该文件权力的用户也能看到那个密码。<br><br>mysql.connect_timeout = 60<br>; 连接超时(秒),-1 代表无限制。<br>; 在Linux中,这个参数设定了等候来自服务器的响应的时长。<br><br>mysql.trace_mode = Off<br>; 跟踪模式。当打开这个特性后,扫描表或索引时SQL的警告将会被显示。<br><br><br><br>mysqli.max_links = -1 ; 每个进程中允许的最大连接数(持久和非持久)。-1 代表无限制<br><br>mysqli.default_socket = ; 用于本机MySql连接的默认的套接字名。为空时使用MYSQL内置的默认值<br>mysqli.default_port = 3306<br>; mysqli_connect()使用的默认TCP端口,如果没有指定默认端口号,<br>; mysqli_connect()将按顺序从:(1)$MYSQL_TCP_PORT环境变量、<br>; (2)/etc/services文件中的mysql-tcp项(unix)、(3)编译时指定的MYSQL_PORT常量 中获得。<br>; Win32下,只使用 MYSQL_PORT 常量。<br><br>mysqli.default_host = ; mysqli_connect() 默认使用的主机(安全模式下无效)<br>mysqli.default_user = ; mysqli_connect() 默认使用的用户名(安全模式下无效)<br>mysqli.default_password =<br>; mysqli_connect() 默认使用的密码(安全模式下无效)<br>; 注意,在这个文件下保存密码通常是一个坏主意<br>; 任何可以使用PHP访问的用户都可以运行'echo cfg_get_var("mysql.default_password")'来显示密码!<br>; 而且当然地,任何有读该文件权力的用户也能看到那个密码。<br><br>mysqli.reconnect = Off<br>; 跟踪模式。当打开这个特性后,扫描表或索引时SQL的警告将会被显示。<br><br><br>msql.allow_persistent = On ; 允许或禁止持久连接<br>msql.max_persistent = -1 ; 最大持久连接数。-1 代表无限制<br>msql.max_links = -1 ; 最大连接数(持久和非持久)。-1 代表无限制<br><br><br>pgsql.allow_persistent = On ; 允许或禁止持久连接<br>pgsql.max_persistent = -1 ; 每个进程中允许的最大持久连接数。-1 代表无限制<br>pgsql.max_links = -1 ; 每个进程中允许的最大连接数(持久和非持久)。-1 代表无限制<br><br>pgsql.auto_reset_persistent = Off<br>; 检测用在pg_pconnect()上中断了的持久连接,需要一些额外开销。<br><br>pgsql.ignore_notice = 0<br>; 是否忽略PostgreSQL后端的通告消息。记录后端的通告消息需要一些额外开销。<br><br>pgsql.log_notice = 0<br>; 是否在日志中记录PostgreSQL后端的通告消息。除非pgsql.ignore_notice=0,否则无法记录。<br><br><br>sybase.allow_persistent = On ; 允许或禁止持久连接<br>sybase.max_persistent = -1 ; 每个进程中允许的最大持久连接数。-1 代表无限制<br>sybase.max_links = -1 ; 每个进程中允许的最大连接数(持久和非持久)。-1 代表无限制<br>;sybase.interface_file = "/usr/sybase/interfaces"<br>sybase.min_error_severity = 10 ; 显示错误的最低严重性<br>sybase.min_message_severity = 10 ; 显示消息的最低重要性<br><br>sybase.compatability_mode = Off<br>; 与PHP3兼容的模式。若打开,这将导致PHP自动根据结果的Sybase类型赋值,而不是把它们全当成字符串。<br>; 这个兼容模式不会永远保留,将来会被丢弃。<br><br><br>sybct.allow_persistent = On ; 允许或禁止持久连接<br>sybct.max_persistent = -1 ; 每个进程中允许的最大持久连接数。-1 代表无限制<br>sybct.max_links = -1 ; 每个进程中允许的最大连接数(持久和非持久)。-1 代表无限制<br>sybct.min_server_severity = 10 ; 显示服务端错误的最低严重性<br>sybct.min_client_severity = 10 ; 显示客户端错误的最低严重性<br><br><br>; returned column names can be converted for compatibility reasons<br>; possible values for dbx.colnames_case are<br>; "unchanged" (default, if not set)<br>; "lowercase"<br>; "uppercase"<br>; the recommended default is either upper- or lowercase, but<br>; unchanged is currently set for backwards compatibility<br>dbx.colnames_case = "unchanged"<br><br><br>bcmath.scale = 0<br>; 用于所有bcmath函数的10十进制数数字的个数<br><br><br>;browscap = extra/browscap.ini<br>;browscap = c:/windows/system32/inetsrv/browscap.ini ;winxp<br>;browscap = c:/winnt/system32/inetsrv/browscap.ini ;win2000<br>; 只有PWS和IIS需要这个设置<br>; 你可以从 http://www.garykeith.com/browsers/downloads.asp 得到一个 browscap.ini 文件。<br><br><br>ifx.default_host = ; ifx_connect() 默认使用的主机(安全模式下无效)<br>ifx.default_user = ; ifx_connect() 默认使用的用户名(安全模式下无效)<br>ifx.default_password = ; ifx_connect() 默认使用的密码(安全模式下无效)<br>ifx.allow_persistent = On ; 允许或禁止持久连接<br>ifx.max_persistent = -1 ; 每个进程中允许的最大持久连接数。-1 代表无限制<br>ifx.max_links = -1 ; 每个进程中允许的最大连接数(持久和非持久)。-1 代表无限制<br><br>ifx.textasvarchar = 0<br>; 若打开,select状态符返回一个"text blob"字段的内容,而不是它的id<br><br>ifx.byteasvarchar = 0<br>; 若打开,select状态符返回一个"byte blob"字段的内容,而不是它的id<br><br>ifx.charasvarchar = 0<br>; 追踪从固定长度的字符列里剥离的空格。可能对 Informix SE 用户有效。<br><br>ifx.blobinfile = 0<br>; 若打开,text和byte blobs的内容被导出到一个文件而不是保存到内存。<br><br>ifx.nullformat = 0<br>; 设为0, NULL被作为空字段返回。设为1, NULL作为字串"NULL"返回。<br><br><br>; 注意,除非使用session_register()或$_SESSION注册了一个变量。<br>; 否则不管是否使用了session_start(),都不会自动添加任何session记录。<br><br>session.save_handler = files<br>; 用于保存/检索数据的处理程序,默认是文件(files)。<br><br>;session.save_path = "/tmp"<br>; 在"session.save_handler=files"的情况下,这个参数指定了会话数据文件的保存路径。<br>; Windows用户必须修改此参数才能使用会话相关函数。<br>; 你可以这样定义路径(N是一个整数):session.save_path = "N;/path"<br>; N表示可以使用N层深度的子目录,而不是将所有数据文件都保存在一个目录下。<br>; 加了括号表示可选,表示它必须用8进制数来表示,其默认值是600 (等于384)。<br>; The file storage module creates files using mode 600 by default.<br>; Note that this does not overwrite the process's umask.<br>; 这是一个提高Windows下海量会话性能的好主意。<br>; 注意0: "N;/path"两边的双引号不能省略。<br>; 注意1: php不会自动建立这些文件夹结构。你可以使用ext/session目录下的脚本来做这件事情。<br>; 注意2: 如果你指定的文件夹可以被不安全的用户读取(比如默认的"/tmp"),那么将会带来安全漏洞。<br>; 注意3: 参见下面有关垃圾搜集的章节。<br><br>session.use_cookies = 1<br>; 是否使用cookie在客户端保存session id,默认为1(使用)<br><br>;session.use_only_cookies = 1<br>; 只使用Cookie来承载会话,默认为0 (关闭)<br>; 打开这个选项可以避免用URL传递会话带来的安全问题。但是禁用Cookie的客户端将使session无法工作。<br><br>session.name = PHPSESSID<br>;用在cookie里的会话标识名,只能包含字母和数字。<br><br>session.auto_start = 0<br>; 在客户访问任何页面时自动初始化会话,默认禁止。<br>; 因为类定义必须在session启动之前被载入,所以若打开这个选项,你就不能在sessions中存放对象。<br><br>session.cookie_lifetime = 0<br>; session_cookie的有效期(秒),若为0,则仅在浏览器打开期间有效。<br><br>session.cookie_path = /<br>; session_cookie的作用路径<br><br>session.cookie_domain =<br>; session_cookie的作用域,默认为空。<br><br>session.serialize_handler = php<br>; 用来序列化/解序列化数据的处理程序,php是PHP的标准序列化/解序列化处理程序。<br><br>session.gc_probability = 1<br>session.gc_divisor = 100<br>;->session.gc_divisor = 1000<br>; 定义在每次初始化会话时,启动垃圾回收程序的概率。<br>; 这个收集概率计算公式如下:gc_probability/gc_divisor<br>; 比如:1/100 表示每一个新会话初始化时,有1%的概率会启动垃圾回收程序。<br><br>session.gc_maxlifetime = 1440<br>; 经过此参数所指的秒数后,保存的数据将被视为'垃圾'并由垃圾回收程序清理。<br>; 判断的标准是文件建立的时间,而不是最后刷新数据的时间。<br>; 注意: 如果你使用了子目录来存储会话的数据文件(参见:session.save_path),垃圾回收程序不会自动启动。<br>; 你必须使用一个你自己编写的shell脚本、克隆目录或者其他办法来执行垃圾搜集。<br>; 比如,下面的脚本相当于设置了"session.gc_maxlifetime=1440" (24分钟):<br>; cd /path/to/sessions; find -cmin +24 | xargs rm<br><br>session.bug_compat_42 = 1<br>;->session.bug_compat_42 = 0<br>session.bug_compat_warn = 1<br>; PHP4.2之前的版本有一个未注明的"特性"(也可看作bug):<br>; 即使在"register_globals = Off"的情况下也允许初始化全局session变量,<br>; 如果你在PHP4.3之后的版本中使用这个特性,会显示一条警告。你可以分别禁用这个特性和警告。<br>; 若打开bug_compat_42,将只显示警告。<br><br>session.referer_check =<br>; 检查HTTP头中的"Referer"以判断包含于URL中的会话id是否有效<br>; HTTP_REFERER必须包含这个参数指定的字符串,否则URL中的会话id将被视为无效。<br>; 默认为空,即不检查。<br><br>;session.entropy_length = 16<br>; 从文件中读取多少字节(entropy:平均信息量)[设定session从高熵值资源读取的位数。]<br>; 默认为0,表示禁用。<br>; How many bytes to read from the file. Defaults to 0 (disabled). <br>; specifies the number of bytes which will be read from the file specified above. <br><br>;session.entropy_file = /dev/urandom<br>; 指定创建会话id的文件夹[使用外部高熵值资源或文件来建立session代码,例如 UNIX 系统上的 /dev/random?或 /dev/urandom]<br>; Specified here to create the session id.<br>; gives a path to an external resource (file) which will be used as an additional entropy source <br>; in the session id creation process. <br>; Examples are /dev/random or /dev/urandom which are available on many Unix systems.<br><br>session.cache_limiter = nocache<br>; 设为{none/nocache/private/private_no_expire/public}以指定会话页面的缓存控制模式,<br>; 或者设为空以阻止在http应答头中发送禁用缓存的命令。<br>; 默认为"nocache"<br><br>session.cache_expire = 180<br>; 指定会话页面在客户端cache中的有效期限(分钟)<br>; "session.cache_limiter=nocache"时,此设置将失效。<br><br>session.use_trans_sid = 0<br>; 默认是禁止用明码在URL中显示sid(session_id)的,因为它会给你的用户带来安全危险,因为:<br>; 1- 用户可能将包含有效sid的URL 通过email/irc/QQ/MSN...途径告诉给其他人。<br>; 2- 包含有效sid的URL可能会被保存在公用电脑上。<br>; 3- 用户可能保存带有固定不变sid的URL在他们的收藏夹或者浏览历史纪录里面。<br><br>session.hash_function = 0<br>;->session.hash_function = 1<br>; 生成session_id的hash函数,SHA-1的安全性更高一些<br>; 0: MD5 (128 bits)<br>; 1: SHA-1 (160 bits)<br><br>session.hash_bits_per_character = 4<br>;->session.hash_bits_per_character = 5<br>; 指定在session_id字符串中的每个字符内保存多少位二进制数,<br>; 这些二进制数是hash函数的运算结果。<br>; 4 bits: 0-9, a-f<br>; 5 bits: 0-9, a-v<br>; 6 bits: 0-9, a-z, A-Z, "-", ","<br><br>url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=,fieldset="<br>;->url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"<br>; 指定重写哪些HTML标签来包含sid(session_id)(仅在"session.use_trans_sid"打开的情况下有效)<br>; form和fieldset比较特殊:<br>; 如果你包含他们,URL重写器将添加一个隐藏的"",它包含了本应当额外追加到URL上的信息。<br>; 如果你想兼容XHTML标准,请使用"fieldset"代替"form"。<br>; 注意:所有合法的项都需要一个等号——即使后面没有值。<br><br><br>mssql.allow_persistent = On ; 允许或禁止持久连接<br>mssql.max_persistent = -1 ; 每个进程中允许的最大持久连接数。-1 代表无限制<br>mssql.max_links = -1 ; 每个进程中允许的最大连接数(持久和非持久)。-1 代表无限制<br>mssql.min_error_severity = 10 ; 显示错误的最低严重性<br>mssql.min_message_severity = 10 ; 显示消息的最低重要性<br>mssql.compatability_mode = Off ; 与旧版的PHP3.0兼容的模式。<br>;mssql.connect_timeout = 5 ; 连接超时(秒)<br>;mssql.timeout = 60 ; 查询超时(秒)<br>;mssql.textlimit = 4096 ; 取值范围:0 - 2147483647<br>;mssql.textsize = 4096 ; 取值范围:0 - 2147483647<br><br>;mssql.batchsize = 0<br>; 每批记录最大条数(0 表示所有记录都在一批当中)<br><br>;mssql.datetimeconvert = On<br>; 指定datetime/datetim4字段的返回方式。<br>; On => 按照SQL server的设置返回<br>; Off => 按照 YYYY-MM-DD hh:mm:ss 格式返回<br><br>mssql.secure_connection = Off<br>; 连接到数据库时使用NT身份认证<br><br>;mssql.max_procs = 25<br>; 指定最大进程数,默认为 25<br><br><br>;assert.active = On ; 断言(表达式),默认生效。<br>;assert.warning = On ; 为每个失败的断言发出警告。<br>;assert.bail = Off ; 默认不释放。<br>;assert.callback = 0 ; 如果断言失败,就调用一个用户函数。<br>;assert.quiet_eval = 0<br>; Eval the expression with current error_reporting(). Set to true if you want error_reporting(0) around the eval().<br><br><br>ingres.allow_persistent = On ; 允许或禁止持久连接<br>ingres.max_persistent = -1 ; 最大持久连接数。-1 代表无限制<br>ingres.max_links = -1 ; 最大连接数(持久和非持久)。-1 代表无限制<br>ingres.default_database = ; 默认 database (format : dbname<br>ingres.default_user = ; 默认 user<br>ingres.default_password = ; 默认 password<br><br><br>pfpro.defaulthost = "test-payflow.verisign.com" ; 默认的 Signio 服务器; Default Payflow Pro server.<br>pfpro.defaultport = 443 ; 连接的默认端口; Default port to connect to.<br>pfpro.defaulttimeout = 30 ; 按秒计的默认超时时间; Default timeout in seconds.<br>;pfpro.proxyaddress = ; 默认的代理的 IP 地址(如果需要); Default proxy IP address (if required).<br>;pfpro.proxyport = ; 默认的代理的端口; Default proxy port.<br>;pfpro.proxylogon = ; 默认的代理的登录用户名; Default proxy logon.<br>;pfpro.proxypassword = ; 默认的代理的密码; Default proxy password.<br><br><br>;com.typelib_file = ; 包含GUID文件的路径, IID或包含类型库的文件<br>;com.allow_dcom = true ; 允许分布式COM调用<br>;com.autoregister_typelib = true ; com_load()函数自动注册类型库组件常数<br>;com.autoregister_casesensitive = false ; 自动注册类型库组件常数时大小写敏感<br>;com.autoregister_verbose = true ; 对重复注册的常量显示警告<br><br><br>;mbstring.language = Japanese<br>; 用于内部字符表示的语言<br><br>;mbstring.internal_encoding = EUC-JP<br>; internal/script编码。<br>; 注意:有些编码不能用于此(比如:SJIS, BIG5, ISO-2022-*)<br><br>;mbstring.http_input = auto<br>; http输入编码<br><br>;mbstring.http_output = SJIS<br>; http输出编码。必须将output_handler设置为"mb_output_handler"函数才可以。<br><br>;mbstring.encoding_translation = Off<br>; 允许依照mbstring.internal_encoding设置进行自动编码转换<br>; 打开这个特性会让输入的字符会转化为内部编码<br>; 注意: 千万不要将自动编码转换使用于可移植的库或者程序<br><br>;mbstring.detect_order = auto<br>; 编码自动检测指令<br><br>;mbstring.substitute_character =<br>; 当一种字符不能被转换为另一种字符的时候,这里的值就是替代字符。<br><br>;mbstring.func_overload = 0<br>; 用多字节字符串函数替换单字节字符串函数。<br>; mail(), ereg()...将被替换为mb_send_mail(), mb_ereg()...<br>; 可用0,1,2,4来组合。比如7表示替换所有。<br>; 0: 无替换<br>; 1: 替换mail()<br>; 2: 替换str*()<br>; 4: 替换ereg*()<br><br><br>;fbsql.allow_persistent = On<br>;fbsql.autocommit = On<br>;fbsql.default_database =<br>;fbsql.default_database_password =<br>;fbsql.default_host =<br>;fbsql.default_password =<br>;fbsql.default_user = "_SYSTEM"<br>;fbsql.generate_warnings = Off<br>;fbsql.max_connections = 128<br>;fbsql.max_links = 128<br>;fbsql.max_persistent = -1<br>;fbsql.max_results = 128<br>;fbsql.batchSize = 1000<br><br><br>; Exif UNICODE用户注释将被处理为UCS-2BE/UCS-2LE ,JIS保持不变。<br>; 在多字节字符串的支持下 this 将被自动的转换为设定的编码。<br>; 若将mbstring.internal_encoding设为空,根据解码设置,<br>; 就可以区别motorola和intel的字节指令(解码设置不能为空)<br>;exif.encode_unicode = ISO-8859-15<br>;exif.decode_unicode_motorola = UCS-2BE<br>;exif.decode_unicode_intel = UCS-2LE<br>;exif.encode_jis =<br>;exif.decode_jis_motorola = JIS<br>;exif.decode_jis_intel = JIS<br><br><br>;tidy.default_config = /usr/local/lib/php/default.tcfg<br>; 默认tidy配置文件路径。<br><br>tidy.clean_output = Off<br>; 是否允许tidy自动清理和修正输出。<br>; 警告: 如果脚本可能会输出非html文档(比如动态图片),请不要打开此特性。<br><br><br>soap.wsdl_cache_enabled=1<br>; 打开或者关闭WSDL缓冲特性<br><br>soap.wsdl_cache_dir="/tmp"<br>; SOAP扩展存放chche文件的目录。<br><br>soap.wsdl_cache_ttl=86400<br>; cache文件使用期限(秒)。过期后将使用新文件。<br><br>; 局部变量:<br>; tab宽度: 4<br>; End:</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p>php.ini设置,上传大文件:</p>
<p> </p>
<p>post_max_size = 128M</p>
<p>upload_max_filesize = 128M</p>
<p>#这两个设置一样即可,可以更大但要注意超时</p>
<p>max_execution_time = 30</p>
<p>max_input_time = 600</p>
<p>memory_limit = 32M</p>
<p> </p>
<p>修改/etc/httpd/conf.d/php.conf</p>
<p> </p>
<p> </p>
<p>SetOutputFilter PHP</p>
<p>SetInputFilter PHP</p>
<p>#LimitRequestBody 524288</p>
<p>LimitRequestBody 20971520</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p></p>
<p> </p>
<p>;;;;;;;;;;</p>
<p>;; 警告 ;;</p>
<p>;;;;;;;;;;</p>
<p>; 这是PHP新安装时的默认设置。默认设置适合于开发但是不适合正式应用。</p>
<p>; 出于安全方面考虑,请在发布正式应用程序时使用php.ini-recommended</p>
<p>; 并且参考如下页面:http://php.net/manual/en/security.php</p>
<p> </p>
<p> </p>
<p>;;;;;;;;;;;;;;;;;;;</p>
<p>;; 关于 php.ini ;;</p>
<p>;;;;;;;;;;;;;;;;;;;</p>
<p>; 这个文件控制了PHP许多方面的性能和行为。 为了让PHP正确读取这个文件,</p>
<p>; 它必须被命名为'php.ini'。PHP将按照如下顺序依次查找该文件:</p>
<p>; 1.当前工作目录;2.环境变量PHPRC指明的路径;3.编译时指定的路径。</p>
<p>; 在windows下,编译时的路径是Windows的安装目录(C:WINDOWS等)。</p>
<p>; 在命令行模式下,php.ini的查找路径可以用 -c 参数指定。</p>
<p>;</p>
<p>; 该文件的语法非常简单。空白字符(" ","t",...)和用分号(";")开始的行被简单地忽略。</p>
<p>; 章节标题(例如 : )也被简单地忽略,即使将来它们可能有某种意义。</p>
<p>;</p>
<p>; 设置格式如下:</p>
<p>; directive = value</p>
<p>; 指令标识符(directive) 是大小写敏感的! "foo=bar" 不同于 "FOO = bar"。</p>
<p>; 值(value)可以是:</p>
<p>; 1.一个字符串、2.一个数字、3.一个 PHP常量(如:E_ALL, M_PI)、</p>
<p>; 4.一个INI常量(On, Off, True, False, Yes, No, None)、</p>
<p>; 5.一个表达式(如:E_ALL & ~E_NOTICE)、</p>
<p>; 6.用引号括起来的字符串("foo").</p>
<p>;</p>
<p>; INI文件中的表达式仅限于使用位运算符/逻辑非/小括号。</p>
<p>; | 位或</p>
<p>; & 位与</p>
<p>; ~ 位非</p>
<p>; ! 逻辑非</p>
<p>;</p>
<p>; 布尔标志可用 1, On, True, Yes 打开,亦可用 0, Off, False, No 关闭。</p>
<p>;</p>
<p>; 一个空字符串可以用在等号后不写任何东西表示,或者用 none 关键字,举例如下:</p>
<p>; foo = 将foo置为空字符串</p>
<p>; foo = none 将foo置为空字符串</p>
<p>; foo = "none" 将foo置为字符串'none'</p>
<p>;</p>
<p>; 如果你在值设置中使用常量,而这些常量属于动态扩展(PHP扩展或Zend扩展)</p>
<p>; 那么你只能在调入这些动态扩展的行之后使用这些常量。</p>
<p>;</p>
<p>; 所有在 php.ini-dist 文件里设定的值与内建的默认值相同。</p>
<p>; 也就是说,如果 php.ini 不存在,或者你删掉了某些行,默认值与之相同。</p>
<p>;;;;;;;;;;;;;;;</p>
<p>;;; 语言选项 ;;</p>
<p>;;;;;;;;;;;;;;;</p>
<p> </p>
<p>engine = On</p>
<p>; 使PHP脚本语言引擎在Apache下有效。</p>
<p> </p>
<p>zend.ze1_compatibility_mode = Off</p>
<p>; 允许使用兼容Zend引擎1(PHP 4.x)的模式</p>
<p> </p>
<p>short_open_tag = On</p>
<p>; 允许 "" 短标识,否则只有""和""才能被识别。</p>
<p>; 注意:除非你的php程序只供自己使用,否则请不要使用短标记。</p>
<p>; 如果要和XML结合使用PHP,你可以选择禁用此选项以方便直接嵌入使用 ,</p>
<p>; 不然你必须用PHP来输出:</p>
<p>; 本指令也会影响到缩写形式 </p>
<p>asp_tags = Off</p>
<p>; 是否允许ASP风格的标记"<% %>",这也会影响到缩写形式:<%= $value %></p>
<p> </p>
<p>precision = 12</p>
<p>;->precision = 14 </p>
<p>; 浮点型数据显示的有效位数</p>
<p> </p>
<p>y2k_compliance = On</p>
<p>; 强制打开2000年适应 (可能在非Y2K适应的浏览器中导致问题)</p>
<p> </p>
<p>output_buffering = Off</p>
<p>;->output_buffering = 4096</p>
<p>; 输出缓存允许你甚至在输出正文内容之后发送http头(包括cookies)。</p>
<p>; 其代价是输出层减慢一点点速度。</p>
<p>; 你可以在运行期间通过调用输出缓冲函数启用输出缓存。</p>
<p>; 你还可以通过设置"output_buffering=On"来为所有文件启用输出缓存(默认4096)。</p>
<p>; 如果你想指定缓冲区的最大字节数,你可以直接将"On"替换成数字,</p>
<p>; 比如:"output_buffering=4096"指定了缓存上限为4096字节。</p>
<p> </p>
<p>;output_handler =</p>
<p>; 你可以将所有脚本输出重定向到一个输出处理函数。</p>
<p>; 比如,重定向到"mb_output_handler"函数时,字符编码将被透明地转换为指定的编码。</p>
<p>; 一旦你在这里指定了输出处理程序,"output_buffering"将被自动打开。</p>
<p>; 注意1: 在编写可移植脚本的时候不能依赖这个指令,而应明确的调用ob_start()函数打开输出缓存。</p>
<p>; 使用这个指令可能会导致某些你不熟悉的脚本出错。</p>
<p>; 注意2: 你不能同时使用"mb_output_handler"和"ob_iconv_handler"</p>
<p>; 你也不能同时使用"ob_gzhandler"和"zlib.output_compression"</p>
<p>; 注意3: 如果启用了zlib输出压缩,"output_handler"必须为空,取而代之,必须启用"zlib.output_handler"。</p>
<p> </p>
<p>zlib.output_compression = Off</p>
<p>; 使用zlib库透明地压缩脚本输出结果。</p>
<p>; 该指令的值可以设置为:Off/On/字节数(用来作为压缩缓冲区大小,默认为4KB)</p>
<p>; 如果在php.ini或者apache配置中打开这个功能,当浏览器发送"Accept-Encoding: gzip(deflate)"头时,</p>
<p>; "Content-Encoding: gzip(deflate)"和"Vary: Accept-Encoding"头将加入到应答头当中。</p>
<p>; 你可以在答头输出之前用ini_set()函数在脚本中禁止这个特性,</p>
<p>; 如果你输出一个"Content-Type: image/"这样的应答头,压缩将不会启用(为了防止Netscape的bug)。</p>
<p>; 你可以在输出"Content-Type: image/"之后使用"ini_set('zlib.output_compression', 'On')"重新打开这个特性。</p>
<p>; 注意1: 压缩率会受压缩缓冲区大小的影响,如果你想得到更好的压缩质量,请指定一个较大的压缩缓冲区。</p>
<p>; 注意2: 如果启用了zlib输出压缩,"output_handler"必须为空,取而代之,必须启用"zlib.output_handler"。</p>
<p> </p>
<p>;zlib.output_handler =</p>
<p>; 在打开"zlib.output_compression"指令的情况下,除这里以外,你不能另外指定输出处理程序。</p>
<p>; 这个指令和"output_handler"起相同的作用,但是顺序不同。</p>
<p> </p>
<p>implicit_flush = Off</p>
<p>; 这个指令告诉PHP输出层在每个输出块之后自动刷新自身数据。默认为 FALSE</p>
<p>; 这等效于在每个print()、echo()、HTML块之后自动调用flush()函数。</p>
<p>; 打开这个选项对程序执行的性能有严重的影响,通常只推荐在调试时使用。</p>
<p>; 在CLI SAPI的执行模式下,该标记默认为 TRUE 。</p>
<p> </p>
<p>unserialize_callback_func=</p>
<p>; 如果解序列化程序需要实例化一个未定义类,该这里指定的回调函数将以该未定义类的名字作为参数被调用,</p>
<p>; 以免得到不完整的"__PHP_Incomplete_Class"对象。</p>
<p>; 如果这里没有指定函数,或者指定的函数不包含(或实现)那个未定义的类,将会显示一条警告信息。</p>
<p>; 只有在你真想执行这样一个回调函数的情况下,才需要指定该参数的值。</p>
<p>; 可以通过 php.ini、ini_set() 或 .htaccess 定义"unserialize_callback_func"。</p>
<p>; 若要禁止这个特性,只需置空此设定。</p>
<p> </p>
<p>serialize_precision = 100</p>
<p>; 将浮点型和双精度型数据序列化存储时,序列化精度指明了有效位数。</p>
<p>; 默认值能够确保浮点型数据被解序列化程序解码时不会有数据丢失。</p>
<p> </p>
<p>allow_call_time_pass_reference = On</p>
<p>;->allow_call_time_pass_reference = Off</p>
<p>; 强迫函数调用时按引用传递参数。</p>
<p>; php反对使用这一方法,并可能在将来版本的PHP/Zend里不再支持。</p>
<p>; 鼓励的方法是在函数声明里指定哪些参数按引用传递。</p>
<p>; 我们鼓励你尝试关闭这一选项并确认你的脚本仍能正常工作,以保证你的脚本在将来版本的语言里仍能正常工作。</p>
<p>; (每次使用此特性都会收到一条警告:参数会被按值传递而不是按照引用传递)</p>
<p> </p>
<p>;;;;;;;;;;;;;</p>
<p>; 安全模式 </p>
<p> </p>
<p>safe_mode = Off</p>
<p>; 安全模式</p>
<p> </p>
<p>safe_mode_gid = Off</p>
<p>; 安全模式默认情况下在打开文件时会做UID比较检查。</p>
<p>; 如果你想将其放宽到GID比较,可以打开这个参数。</p>
<p> </p>
<p>safe_mode_include_dir =</p>
<p>; 在安全模式下,该文件夹和其子文件夹下的文件被包含时,将跳过UID/GID检查。</p>
<p>; (文件夹必须必须在"include_path"中或者用完整路径来包含)</p>
<p>; 从PHP4.2 开始,本指令可以接受和"include_path"指令类似的风格用分号隔开的路径,而不只是一个目录。</p>
<p>; 指定的限制实际上是一个前缀,而非一个目录名,也就是说"/dir/incl"将允许访问"/dir/include"和"/dir/incls"</p>
<p>; 如果您希望将访问控制在一个指定的目录,那么请在结尾加上一个斜线,例如:"/dir/incl/"</p>
<p> </p>
<p>safe_mode_exec_dir =</p>
<p>; 在安全模式下,只有该文件夹下的可执行程序才能被允许通过system()和其它执行系统程序的函数执行。</p>
<p>; 这些函数是:escapeshellarg, escapeshellcmd, exec, passthru, proc_close, proc_get_status, </p>
<p>; proc_nice, proc_open, proc_terminate, shell_exec, system ....</p>
<p> </p>
<p>safe_mode_allowed_env_vars = PHP_</p>
<p>; 该指令包含用逗号分隔的前缀列表,表示用户在安全模式下仅可以更改在此列出的前缀开头的环境变量的值。</p>
<p>; 因为设置某些环境变量,可能会导致潜在的安全漏洞。</p>
<p>; 默认地,用户将仅能设定以PHP_开头的环境变量,(如: PHP_FOO=BAR)。</p>
<p>; 注意: 如果这一参数值为空,PHP将允许用户更改任意环境变量!</p>
<p> </p>
<p>safe_mode_protected_env_vars = LD_LIBRARY_PATH</p>
<p>; 这个指令包含一个用逗号分隔的环境变量列表,在安全模式下,列表中的变量是远端用户不能用putenv()更改的。</p>
<p>; 这些变量甚至在"safe_mode_allowed_env_vars"设置为允许的情况下也会得到保护。</p>
<p> </p>
<p>;open_basedir =</p>
<p>; 将PHP允许打开的所有文件都限制在此目录下。无论安全模式是否打开,该参数都将起作用。</p>
<p>; 如果web服务器使用了per-directory或虚拟主机,这个参数将非常有意义。</p>
<p>; 当一个脚本试图用例如fopen()或者gzopen()打开一个指定目录树之外的文件时,将遭到拒绝。</p>
<p>; 所有的符号连接都会被解析,所以不可能通过符号连接来避开此限制。</p>
<p>; 特殊值'.'指定了存放该脚本的目录将被当做基准目录。</p>
<p>; 在Windows中,用分号分隔目录。在任何其它系统中用冒号分隔目录。</p>
<p>; 作为Apache模块时,父目录中的open_basedir路径将自动被继承。</p>
<p>; 用open_basedir指定的限制实际上是前缀,不是目录名。也就是说"/dir/incl"将允许访问"/dir/include"和"/dir/incls"</p>
<p>; 如果您希望将访问控制在一个指定的目录,那么请在结尾加上一个斜线,例如:"/dir/incl/"</p>
<p>; 默认是允许打开所有文件。</p>
<p> </p>
<p>disable_functions =</p>
<p>; 这个指令让你可以出于安全原因禁用特定的函数。它接受一个用逗号分隔的函数名列表。</p>
<p>; 无论安全模式是否打开,该参数都将起作用。</p>
<p>; 本指令只能设置在php.ini中。例如你不能将其设置在httpd.conf中</p>
<p> </p>
<p>disable_classes =</p>
<p>; 这个指令让你可以出于安全原因禁用特定的类。它接受一个用逗号分隔的类名列表。</p>
<p>; 无论安全模式是否打开,该指令都将起作用。本指令自 PHP 4.3.2 起可用。</p>
<p>; 本指令只能设置在php.ini中。例如你不能将其设置在httpd.conf中</p>
<p> </p>
<p>;highlight.string = #DD0000</p>
<p>;highlight.comment = #FF9900</p>
<p>;highlight.keyword = #007700</p>
<p>;highlight.bg = #FFFFFF</p>
<p>;highlight.default = #0000BB</p>
<p>;highlight.html = #000000</p>
<p>; 语法高亮模式的色彩。</p>
<p>; 只要能被接受的东西就能正常工作。</p>
<p> </p>
<p>;;;;;;;;;</p>
<p>; 杂项</p>
<p> </p>
<p>expose_php = On</p>
<p>; 决定PHP是否暴露它被安装在服务器上的事实(比如出现在http头中)</p>
<p>; 它不会有安全上的威胁, 但它使得检查你的服务器上是否安装了PHP成为了可能。</p>
<p>;;;;;;;;;;;;;;</p>
<p>;; 资源限制 ;;</p>
<p>;;;;;;;;;;;;;;</p>
<p> </p>
<p>max_execution_time = 30</p>
<p>; 每个脚本最大允许执行时间, 按秒计。默认为30秒。</p>
<p>; 这个参数有助于阻止劣质脚本无休止的占用服务器资源。</p>
<p>; 注: "max_execution_time"仅影响脚本本身的运行时间。</p>
<p>; 任何其它花费在脚本运行之外的时间,如用system()/sleep()函数的使用、数据库查询、文件上传等,都不包括在内。</p>
<p>; 在安全模式下,你不能用ini_set()在运行时改变这个设置。</p>
<p> </p>
<p>max_input_time = 60</p>
<p>; 每个脚本接收输入数据的最大允许时间(POST, GET, upload), 按秒计</p>
<p> </p>
<p>memory_limit = 8M</p>
<p>; 设定一个脚本所能够申请到的最大内存字节数。</p>
<p>; 这有助于防止劣质脚本消耗完服务器上的所有内存。</p>
<p>; 要使用此指令必须在编译的时候激活。</p>
<p>; 因此 configure 一行中应该包括:--enable-memory-limit</p>
<p>; 如果不需要任何内存上的限制,必须将其设为 -1</p>
<p>; 自php4.3.2 起,当设置了memory_limit后,memory_get_usage()函数将变为可用</p>
<p> </p>
<p> </p>
<p>;;;;;;;;;;;;;;;;;;;;</p>
<p>;; 出错处理和日志 ;;</p>
<p>;;;;;;;;;;;;;;;;;;;;</p>
<p> </p>
<p>error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT</p>
<p>;->error_reporting = E_ALL</p>
<p>; 显示所有的错误,除了提醒和编码标准化警告。</p>
<p>; 错误报告是位字段。可以将数字加起来得到想要的错误报告等级。</p>
<p>; E_ALL - 所有的错误和警告(不包括 E_STRICT)</p>
<p>; E_ERROR - 致命性的运行时错误</p>
<p>; E_WARNING - 运行时警告(非致命性错误)</p>
<p>; E_PARSE - 编译时解析错误</p>
<p>; E_NOTICE - 运行时提醒(这些经常是你代码中的bug引起的,也可能是有意的行为造成的。)</p>
<p>; E_STRICT - 编码标准化警告,允许PHP建议如何修改代码以确保最佳的互操作性向前兼容性。</p>
<p>; E_CORE_ERROR - PHP启动时初始化过程中的致命错误</p>
<p>; E_CORE_WARNING - PHP启动时初始化过程中的警告(非致命性错)</p>
<p>; E_COMPILE_ERROR - 编译时致命性错</p>
<p>; E_COMPILE_WARNING - 编译时警告(非致命性错)</p>
<p>; E_USER_ERROR - 用户自定义的错误消息</p>
<p>; E_USER_WARNING - 用户自定义的警告消息</p>
<p>; E_USER_NOTICE - 用户自定义的提醒消息</p>
<p>; 例子:</p>
<p>;error_reporting = E_ALL & ~E_NOTICE ; 显示所有的错误,除了提醒</p>
<p>;error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR ; 仅显示错误</p>
<p> </p>
<p>display_errors = On</p>
<p>;->display_errors = Off</p>
<p>; 作为输出的一部分显示出错误信息</p>
<p>; 在最终发布的web站点上,强烈建议你关掉这个特性,并使用错误日志代替(参看下面)。</p>
<p>; 在最终发布的web站点打开这个特性可能暴露一些安全信息,</p>
<p>; 例如你的web服务上的文件路径、数据库规划或别的信息。</p>
<p> </p>
<p>display_startup_errors = Off</p>
<p>; 即使"display_errors"特性被打开,关闭此参数也将不显示PHP启动时的错误。</p>
<p>; 强烈建议你关掉这个特性,除非你必须要用于调试中。</p>
<p> </p>
<p>log_errors = Off</p>
<p>;->log_errors = On</p>
<p>; 在日志文件里记录错误(服务器指定的日志,stderr标准错误输出,或error_log(下面的))</p>
<p>; 正如上面说明的那样,强烈建议你在最终发布的web站点时用日志记录错误而不是直接输出。</p>
<p> </p>
<p>log_errors_max_len = 1024</p>
<p>; 设置错误日志文件的最大长度。</p>
<p>; 设为 0 可以允许无限长度。</p>
<p> </p>
<p>ignore_repeated_errors = Off</p>
<p>; 忽略重复的错误信息</p>
<p>; 如果关闭这个参数,错误信息必须出现在同一个文件的同一行才被忽略。</p>
<p>; 如果打开这个参数,则没有这个限制。</p>
<p> </p>
<p>ignore_repeated_source = Off</p>
<p>; 忽略重复的错误源</p>
<p>; 忽略重复的错误信息时忽略重复的错误源</p>
<p>; 如果打开这个参数,将不会记录不同的出错文件和对应行的错误信息。</p>
<p> </p>
<p>report_memleaks = On</p>
<p>; 报告内存泄漏</p>
<p>; 如果关闭该参数,将不记录或者显示内存泄漏</p>
<p>; 这个参数只在调试编译中起作用,并且必须在错误报告中包含 E_WARNING</p>
<p> </p>
<p>track_errors = Off</p>
<p>; 保存最近一个错误/警告消息于变量$php_errormsg (boolean)中</p>
<p> </p>
<p>;html_errors = Off</p>
<p>; 禁用出错信息中的HTML标记</p>
<p>; 注意: 不要在发布的程序中使用这个特性。</p>
<p> </p>
<p>;docref_root = "/phpmanual/"</p>
<p>;docref_ext = .html</p>
<p>; 如果打开了html_errors参数,PHP将会在出错信息上显示超连接,</p>
<p>; 直接链接到一个说明这个错误或者导致这个错误的函数的页面。</p>
<p>; 你可以从http://www.php.net/docs.php下载php手册,并设置docref_root参数,将他指向你本地的手册所在目录。</p>
<p>; 你还必须设置"docref_ext"来指定文件的扩展名。</p>
<p>; 注意: 不要在发布的程序中使用这个特性。</p>
<p> </p>
<p>;error_prepend_string = ""</p>
<p>; 用于错误信息前输出的字符串</p>
<p> </p>
<p>;error_append_string = ""</p>
<p>; 用于错误信息后输出的字符串</p>
<p> </p>
<p>;error_log = filename</p>
<p>; 将错误日志记录到哪个文件中。</p>
<p>; 如果设为"syslog", 错误日志将被记录到系统日志中(NT下的事件日志, Unix下的syslog(3))</p>
<p> </p>
<p>;;;;;;;;;;;;;;</p>
<p>;; 数据处理 ;;</p>
<p>;;;;;;;;;;;;;;</p>
<p> </p>
<p>;arg_separator.output = "&"</p>
<p>; PHP所产生的URL中来分隔参数的分隔符。默认值是"&"</p>
<p> </p>
<p>;arg_separator.input = ";&"</p>
<p>; PHP解析URL中的变量时使用的分隔符列表,默认值是"&"</p>
<p>; 注意: 字符串中的任何字符都将被看着分割符</p>
<p> </p>
<p>variables_order = "EGPCS"</p>
<p>;->variables_order = "GPCS"</p>
<p>; PHP注册 GET, POST, Cookie, Environment, Built-in 变量的顺序。</p>
<p>; (以 G, P, C, E, S 表示,通常以 EGPCS 或 GPC 或 ES 的方式引用)。</p>
<p>; 按从左到右记录,新值覆盖旧值。</p>
<p>; 举例说,将其设为"GP",会导致 PHP 完全忽略环境变量、cookies 、server,</p>
<p>; 并用 GET 方法的变量覆盖 POST 方法的同名变量</p>
<p> </p>
<p>register_globals = Off</p>
<p>; 是否将这些 EGPCS 变量注册为全局变量。自 PHP 4.2.0 开始,本指令默认为 off</p>
<p>; 例如,如果打开这个特性,那么URL:http://www.example.com/test.php?id=3 将产生 $id</p>
<p>; 或者从 $_SERVER['DOCUMENT_ROOT'] 得到 $DOCUMENT_ROOT 。</p>
<p>; 如果你不想让脚本中的全局变量和用户输入的数据搞混的话,请关闭它。</p>
<p>; 推荐使用PHP的预定义变量来替代,例如超全局变量:$_ENV,$_GET,$_POST,$_COOKIE 和 $_SERVER</p>
<p>; 请注意, register_globals不能在运行时设定(ini_set()),尽管在主机允许时可以用 .htaccess 来设置</p>
<p>; 一个 .htaccess 项目的例子:php_flag register_globals on</p>
<p>; 注: register_globals 受 variables_order 指令的影响。</p>
<p> </p>
<p>register_long_arrays = On</p>
<p>;->register_long_arrays = Off</p>
<p>; 是否启用旧式的长式数组(HTTP_*_VARS),推荐关闭该特性以获得更好的性能。</p>
<p> </p>
<p>register_argc_argv = On</p>
<p>;->register_argc_argv = Off</p>
<p>; 是否声明 argv和argc 变量(其中包含用GET方法传来的数据)</p>
<p>; 【argv为变量数组,argc为变量数组中元素个数】</p>
<p>; 若你不想使用这两个变量,应当关掉它以提高性能。</p>
<p> </p>
<p>post_max_size = 8M</p>
<p>; PHP接受的POST数据最大长度。此设定也影响到文件上传。</p>
<p>; 要上传大文件,该值必须大于"upload_max_filesize"</p>
<p>; 如果配置脚本中激活了内存限制,"memory_limit"也会影响文件上传。</p>
<p>; 一般说来,"memory_limit"应该比"post_max_size"要大。</p>
<p> </p>
<p>;;;;;;;;;;;;;;;;;;;;;;;;;;;</p>
<p>; 魔术引号(自动字符串转义)</p>
<p> </p>
<p>magic_quotes_gpc = On</p>
<p>;->magic_quotes_gpc = Off</p>
<p>; 在输入的GET/POST/Cookie数据里使用自动字符串转义【比如,值 (It's "HP!") 会自动转换成 (It's "HP!")】</p>
<p>; 这里的设置自动影响$_GEST,$_POST,$_COOKIE数组的值。如果打开,值 (It's "HP!") 会自动转换成 (It's "PHP!")。</p>
<p>; (个人意见:关闭此特性, 因为它在处理双字节汉字的时候可能会破坏某些繁体字和特殊字符)</p>
<p> </p>
<p>magic_quotes_runtime = Off</p>
<p>; 对运行时从外部资源产生的数据使用自动字符串转义</p>
<p>; 例如:用SQL查询得到的数据,用exec()函数得到的数据,等等</p>
<p> </p>
<p>magic_quotes_sybase = Off</p>
<p>; 采用 Sybase形式的自动字符串转义( 用 '' 表示 ' 而不用 ' )</p>
<p> </p>
<p>auto_prepend_file =</p>
<p>; 指定在主文件之前自动解析的文件名。</p>
<p>; 该文件就像调用了include()函数一样被包含进来,因此会使用"include_path"</p>
<p> </p>
<p>auto_append_file =</p>
<p>; 指定在主文件之后自动解析的文件名。</p>
<p>; 该文件就像调用了include()函数一样被包含进来,因此会使用"include_path"</p>
<p>; 注: 如果脚本通过 exit() 终止,则自动后缀不会发生。</p>
<p> </p>
<p>default_mimetype = "text/html"</p>
<p>;default_charset = "iso-8859-1"</p>
<p>; PHP总是默认地在"Content-type:"头中设置输出文档的MIME类型和字符集的编码方式。</p>
<p>; 要让输出字符集失效,只要设置为空或注释掉即可。</p>
<p>; PHP的默认设置会输出"Content-Type: text/html"</p>
<p>; 若去掉"default_charset"前的注释并将其设为"gb2312",</p>
<p>; 那么将会输出"Content-Type: text/html; charset=gb2312"</p>
<p> </p>
<p>;always_populate_raw_post_data = On</p>
<p>; 总是填充$HTTP_RAW_POST_DATA变量,"HTTP_RAW_POST_DATA"意为"HTTP原始POST数据"</p>
<p>;;;;;;;;;;;;;;;;</p>
<p>;; 路径和目录 ;;</p>
<p>;;;;;;;;;;;;;;;;</p>
<p> </p>
<p>;include_path = ".;c:phpincludes"</p>
<p>; 指定一组目录用于require(),include()和fopen_with_path()函数来寻找文件。</p>
<p>; 格式和系统的 PATH 环境变量类似:</p>
<p>; 一组目录的列表,在 UNIX 下用冒号分隔,在 Windows 下用分号分隔。</p>
<p>; 在包含路径中使用 '.' 可以允许相对路径,它代表当前目录。</p>
<p>; UNIX: "/path1:/path2"</p>
<p>; Windows: "path1;path2"</p>
<p> </p>
<p>doc_root =</p>
<p>; PHP页面在服务器上的根目录。仅在非空时有效。</p>
<p>; 如果PHP被配置为安全模式,则此目录之外的文件一概不被解析。</p>
<p>; 如果PHP编译时没有指定FORCE_REDIRECT,并且在非IIS服务器上以CGI方式运行,</p>
<p>; 则必须设置此项。(参见手册中的安全部分)</p>
<p>; 替代方案是使用下面的"cgi.force_redirect"指令。</p>
<p> </p>
<p>user_dir =</p>
<p>; 告诉php在使用 /~username 打开脚本时到哪个目录下去找,仅在非空时有效。</p>
<p>; 也就是在用户目录之下使用PHP文件的基本目录名,例如:public_html</p>
<p> </p>
<p>extension_dir = "./"</p>
<p>; 存放扩展库(模块)的目录,也就是PHP用来寻找动态连接扩展库的目录</p>
<p> </p>
<p>enable_dl = On</p>
<p>; 是否使dl()函数有效。</p>
<p>; dl()函数在除apache以外的多线程的服务器(如:IIS或Zeus)上不能正确地工作,并在其上默认为禁止。</p>
<p> </p>
<p>;cgi.force_redirect = 1</p>
<p>; 打开cgi强制重定向为以CGI方式运行的php提供了必要的安全保护,php默认打开了该参数。</p>
<p>; 你若自己关闭了它,请自己负责后果</p>
<p>; 注意:在IIS/OmniHTTPD/Xitami上则必须关闭它!</p>
<p> </p>
<p>;cgi.nph = 1</p>
<p>; 如果该参数打开,那么它会强制cgi对每个http请求始终发送状态码: 200</p>
<p> </p>
<p>;cgi.redirect_status_env =</p>
<p>; 如果打开了cgi.force_redirect,并且你没有将php运行在Apache或Netscape(iPlanet)服务器上,</p>
<p>; 可能需要设定一个cgi重定向环境变量名,PHP将去寻找它来知道可以继续执行下去。</p>
<p>; 设置这个变量会导致安全漏洞,请务必在设置前搞清楚自己在做什么。</p>
<p> </p>
<p>;fastcgi.impersonate = 1</p>
<p>; IIS中的FastCGI支持模仿客户端安全令牌的能力。这使得IIS能够定义运行时所基于的请求的安全上下文。</p>
<p>; Apache中的mod_fastcgi不支持此特性(03/17/2002)</p>
<p>; 如果在IIS中运行则设为1,默认为 0</p>
<p> </p>
<p>;cgi.rfc2616_headers = 0</p>
<p>; 指定PHP在发送HTTP响应代码时使用何种报头。</p>
<p>; 如果设定为0,PHP发送一个"Status: "报头,Apache和其它web server都支持。</p>
<p>; 若设为0,则PHP使用Apache支持的头。若设为1,则PHP使用RFC2616标准的头。默认值为0</p>
<p>; 除非你知道自己在做什么,否则保留其值为 0</p>
<p> </p>
<p> </p>
<p>;;;;;;;;;;;;;;</p>
<p>;; 文件上传 ;;</p>
<p>;;;;;;;;;;;;;;</p>
<p> </p>
<p>file_uploads = On</p>
<p>; 是否允许HTTP文件上传。参见upload_max_filesize,upload_tmp_dir,post_max_size</p>
<p> </p>
<p>;upload_tmp_dir =</p>
<p>; 文件上传时存放文件的临时目录。必须是PHP进程用户可写的目录。如果未指定则PHP使用系统默认值。</p>
<p> </p>
<p>upload_max_filesize = 2M</p>
<p>; 允许上传的文件的最大尺寸。</p>
<p> </p>
<p> </p>
<p>;;;;;;;;;;;;;;</p>
<p>;; 文件打开 ;;</p>
<p>;;;;;;;;;;;;;;</p>
<p> </p>
<p>allow_url_fopen = On</p>
<p>; 是否允许打开远程文件( http:// or ftp://)</p>
<p> </p>
<p>;from="john@doe.com"</p>
<p>; 定义匿名ftp的密码(一个email地址)</p>
<p> </p>
<p>;user_agent="PHP"</p>
<p>; 定义"User-Agent"字符串</p>
<p> </p>
<p>default_socket_timeout = 60</p>
<p>; socket超时,单位是秒</p>
<p> </p>
<p>;auto_detect_line_endings = Off</p>
<p>; 如果的你脚本必须处理Macintosh文件,或者你运行在Macintosh上,同时又要处理unix或win32文件,</p>
<p>; 设置这个标志可以让PHP自动侦察文件结束符,以便fgets()和file()函数正常工作。</p>
<p>; 默认值是 Off,因为在检测第一行的 EOL 习惯时会有很小的性能损失,</p>
<p>; 而且在 Unix 系统下使用回车符作为项目分隔符的人们会遭遇向下不兼容的行为。</p>
<p> </p>
<p> </p>
<p>;;;;;;;;;;;;;;</p>
<p>;; 动态扩展 ;;</p>
<p>;;;;;;;;;;;;;;</p>
<p>; 若你希望一个扩展库自动加载,可用下面的语法:</p>
<p>; extension=modulename.extension</p>
<p>; 例如,在windows上:</p>
<p>; extension=msql.dll</p>
<p>; 在UNIX上:</p>
<p>; extension=msql.so</p>
<p>; 注意,这只应当是模块的名字,不需要附带目录信息。</p>
<p>; 上面的extension_dir已经指示了扩展库的位置。</p>
<p> </p>
<p> </p>
<p>;Windows 扩展</p>
<p>;注意,ODBC是内置支持的,不需要使用扩展。(MySQL没有内置)</p>
<p>;extension=php_bz2.dll</p>
<p>;extension=php_cpdf.dll</p>
<p>;extension=php_curl.dll</p>
<p>;extension=php_dba.dll</p>
<p>;extension=php_dbase.dll</p>
<p>;extension=php_dbx.dll</p>
<p>;extension=php_exif.dll</p>
<p>;extension=php_fdf.dll</p>
<p>;extension=php_filepro.dll</p>
<p>;extension=php_gd2.dll</p>
<p>;extension=php_gettext.dll</p>
<p>;extension=php_ifx.dll</p>
<p>;extension=php_iisfunc.dll</p>
<p>;extension=php_imap.dll</p>
<p>;extension=php_interbase.dll</p>
<p>;extension=php_java.dll</p>
<p>;extension=php_ldap.dll</p>
<p>;extension=php_mbstring.dll</p>
<p>;extension=php_mcrypt.dll</p>
<p>;extension=php_mhash.dll</p>
<p>;extension=php_mime_magic.dll</p>
<p>;extension=php_ming.dll</p>
<p>;extension=php_mssql.dll</p>
<p>;extension=php_msql.dll</p>
<p>;extension=php_mysql.dll</p>
<p>;extension=php_oci8.dll</p>
<p>;extension=php_openssl.dll</p>
<p>;extension=php_oracle.dll</p>
<p>;extension=php_pdf.dll</p>
<p>;extension=php_pgsql.dll</p>
<p>;extension=php_shmop.dll</p>
<p>;extension=php_snmp.dll</p>
<p>;extension=php_sockets.dll</p>
<p>;extension=php_sybase_ct.dll</p>
<p>;extension=php_tidy.dll</p>
<p>;extension=php_w32api.dll</p>
<p>;extension=php_xmlrpc.dll</p>
<p>;extension=php_xsl.dll</p>
<p>;extension=php_yaz.dll</p>
<p>;extension=php_zip.dll</p>
<p>;;;;;;;;;;;;;;</p>
<p>;; 模块设置 ;;</p>
<p>;;;;;;;;;;;;;;</p>
<p> </p>
<p></p>
<p>define_syslog_variables = Off</p>
<p>; 是否定义各种的系统日志变量,如:$LOG_PID, $LOG_CRON 等等。</p>
<p>; 关掉它以提高效率的好主意。</p>
<p>; 你可以在运行时调用函数define_syslog_variables()来定义这些变量</p>
<p> </p>
<p></p>
<p>SMTP = localhost ;仅用于win32系统</p>
<p>smtp_port = 25 ;仅用于win32系统</p>
<p>;sendmail_from = me@example.com ;仅用于win32系统</p>
<p>;sendmail_path = ;仅用于unix, 也可支持参数(默认的是'sendmail -t -i')</p>
<p> </p>
<p>;mail.force_extra_parameters =</p>
<p>; Force the addition of the specified parameters to be passed as extra parameters to the sendmail binary.</p>
<p>; These parameters will always replace the value of the 5th parameter to mail(), even in safe mode.</p>
<p> </p>
<p></p>
<p>sql.safe_mode = Off</p>
<p> </p>
<p></p>
<p>;odbc.default_db = (暂未实现)</p>
<p>;odbc.default_user = (暂未实现)</p>
<p>;odbc.default_pw = (暂未实现)</p>
<p>odbc.allow_persistent = On ; 是否允许持久连接</p>
<p>odbc.check_persistent = On ; 在重用前检查连接是否还可用</p>
<p>odbc.max_persistent = -1 ; 每个进程中允许的最大持久连接数。-1 代表无限制</p>
<p>odbc.max_links = -1 ; 每个进程中允许的最大连接数(持久和非持久)。-1 代表无限制</p>
<p> </p>
<p>odbc.defaultlrl = 4096</p>
<p>; 处理LONG类型的字段。返回变量的字节数,0代表通过(?)</p>
<p>; Handling of LONG fields. Returns number of bytes to variables. 0 means passthru.</p>
<p> </p>
<p>odbc.defaultbinmode = 1</p>
<p>; 处理二进制数据。0代表通过(?) 1返回原样, 2转换为字符</p>
<p>; 参见odbc_binmode和odbc_longreadlen文档以得到uodbc.defaultlrl和uodbc.defaultbinmode的解释。</p>
<p> </p>
<p></p>
<p>; php内置的MySQL扩展库无法同4.1.0以上版本的MySQL一起工作。你需要使用MySQLi扩展。</p>
<p>; MySQLi扩展模块与recode扩展模块共同使用的时候,可能会造成PHP的崩溃和启动时出现问题。</p>
<p>; 如果您需要除latin(默认)以外其它的字符集,您需要安装有已编译字符集支持的外置libmysql(未集成)</p>
<p> </p>
<p>mysql.allow_persistent = On ; 允许或禁止持久连接</p>
<p>mysql.max_persistent = -1 ; 每个进程中允许的最大持久连接数。-1 代表无限制</p>
<p>mysql.max_links = -1 ; 每个进程中允许的最大连接数(持久和非持久)。-1 代表无限制</p>
<p> </p>
<p>mysql.default_socket = ; 用于本地MySql连接的默认的套接字名。为空时使用MYSQL内置的默认值</p>
<p>mysql.default_port =</p>
<p>; mysql_connect()使用的默认TCP端口,如果没有指定默认端口号,</p>
<p>; mysql_connect()将按顺序从:(1)$MYSQL_TCP_PORT环境变量、</p>
<p>; (2)/etc/services文件中的mysql-tcp项(unix)、(3)编译时指定的MYSQL_PORT常量 中获得。</p>
<p>; Win32下,只使用 MYSQL_PORT 常量。</p>
<p> </p>
<p>mysql.default_host = ; mysql_connect() 默认使用的主机(安全模式下无效)</p>
<p>mysql.default_user = ; mysql_connect() 默认使用的用户名(安全模式下无效)</p>
<p>mysql.default_password =</p>
<p>; mysql_connect() 默认使用的密码(安全模式下无效)</p>
<p>; 注意,在这个文件下保存密码通常是一个坏主意</p>
<p>; 任何可以使用PHP访问的用户都可以运行'echo cfg_get_var("mysql.default_password")'来显示密码!</p>
<p>; 而且当然地,任何有读该文件权力的用户也能看到那个密码。</p>
<p> </p>
<p>mysql.connect_timeout = 60</p>
<p>; 连接超时(秒),-1 代表无限制。</p>
<p>; 在Linux中,这个参数设定了等候来自服务器的响应的时长。</p>
<p> </p>
<p>mysql.trace_mode = Off</p>
<p>; 跟踪模式。当打开这个特性后,扫描表或索引时SQL的警告将会被显示。</p>
<p> </p>
<p></p>
<p> </p>
<p>mysqli.max_links = -1 ; 每个进程中允许的最大连接数(持久和非持久)。-1 代表无限制</p>
<p> </p>
<p>mysqli.default_socket = ; 用于本机MySql连接的默认的套接字名。为空时使用MYSQL内置的默认值</p>
<p>mysqli.default_port = 3306</p>
<p>; mysqli_connect()使用的默认TCP端口,如果没有指定默认端口号,</p>
<p>; mysqli_connect()将按顺序从:(1)$MYSQL_TCP_PORT环境变量、</p>
<p>; (2)/etc/services文件中的mysql-tcp项(unix)、(3)编译时指定的MYSQL_PORT常量 中获得。</p>
<p>; Win32下,只使用 MYSQL_PORT 常量。</p>
<p> </p>
<p>mysqli.default_host = ; mysqli_connect() 默认使用的主机(安全模式下无效)</p>
<p>mysqli.default_user = ; mysqli_connect() 默认使用的用户名(安全模式下无效)</p>
<p>mysqli.default_password =</p>
<p>; mysqli_connect() 默认使用的密码(安全模式下无效)</p>
<p>; 注意,在这个文件下保存密码通常是一个坏主意</p>
<p>; 任何可以使用PHP访问的用户都可以运行'echo cfg_get_var("mysql.default_password")'来显示密码!</p>
<p>; 而且当然地,任何有读该文件权力的用户也能看到那个密码。</p>
<p> </p>
<p>mysqli.reconnect = Off</p>
<p>; 跟踪模式。当打开这个特性后,扫描表或索引时SQL的警告将会被显示。</p>
<p> </p>
<p></p>
<p>msql.allow_persistent = On ; 允许或禁止持久连接</p>
<p>msql.max_persistent = -1 ; 最大持久连接数。-1 代表无限制</p>
<p>msql.max_links = -1 ; 最大连接数(持久和非持久)。-1 代表无限制</p>
<p> </p>
<p></p>
<p>pgsql.allow_persistent = On ; 允许或禁止持久连接</p>
<p>pgsql.max_persistent = -1 ; 每个进程中允许的最大持久连接数。-1 代表无限制</p>
<p>pgsql.max_links = -1 ; 每个进程中允许的最大连接数(持久和非持久)。-1 代表无限制</p>
<p> </p>
<p>pgsql.auto_reset_persistent = Off</p>
<p>; 检测用在pg_pconnect()上中断了的持久连接,需要一些额外开销。</p>
<p> </p>
<p>pgsql.ignore_notice = 0</p>
<p>; 是否忽略PostgreSQL后端的通告消息。记录后端的通告消息需要一些额外开销。</p>
<p> </p>
<p>pgsql.log_notice = 0</p>
<p>; 是否在日志中记录PostgreSQL后端的通告消息。除非pgsql.ignore_notice=0,否则无法记录。</p>
<p> </p>
<p></p>
<p>sybase.allow_persistent = On ; 允许或禁止持久连接</p>
<p>sybase.max_persistent = -1 ; 每个进程中允许的最大持久连接数。-1 代表无限制</p>
<p>sybase.max_links = -1 ; 每个进程中允许的最大连接数(持久和非持久)。-1 代表无限制</p>
<p>;sybase.interface_file = "/usr/sybase/interfaces"</p>
<p>sybase.min_error_severity = 10 ; 显示错误的最低严重性</p>
<p>sybase.min_message_severity = 10 ; 显示消息的最低重要性</p>
<p> </p>
<p>sybase.compatability_mode = Off</p>
<p>; 与PHP3兼容的模式。若打开,这将导致PHP自动根据结果的Sybase类型赋值,而不是把它们全当成字符串。</p>
<p>; 这个兼容模式不会永远保留,将来会被丢弃。</p>
<p> </p>
<p></p>
<p>sybct.allow_persistent = On ; 允许或禁止持久连接</p>
<p>sybct.max_persistent = -1 ; 每个进程中允许的最大持久连接数。-1 代表无限制</p>
<p>sybct.max_links = -1 ; 每个进程中允许的最大连接数(持久和非持久)。-1 代表无限制</p>
<p>sybct.min_server_severity = 10 ; 显示服务端错误的最低严重性</p>
<p>sybct.min_client_severity = 10 ; 显示客户端错误的最低严重性</p>
<p> </p>
<p></p>
<p>; returned column names can be converted for compatibility reasons</p>
<p>; possible values for dbx.colnames_case are</p>
<p>; "unchanged" (default, if not set)</p>
<p>; "lowercase"</p>
<p>; "uppercase"</p>
<p>; the recommended default is either upper- or lowercase, but</p>
<p>; unchanged is currently set for backwards compatibility</p>
<p>dbx.colnames_case = "unchanged"</p>
<p> </p>
<p></p>
<p>bcmath.scale = 0</p>
<p>; 用于所有bcmath函数的10十进制数数字的个数</p>
<p> </p>
<p></p>
<p>;browscap = extra/browscap.ini</p>
<p>;browscap = c:/windows/system32/inetsrv/browscap.ini ;winxp</p>
<p>;browscap = c:/winnt/system32/inetsrv/browscap.ini ;win2000</p>
<p>; 只有PWS和IIS需要这个设置</p>
<p>; 你可以从 http://www.garykeith.com/browsers/downloads.asp 得到一个 browscap.ini 文件。</p>
<p> </p>
<p></p>
<p>ifx.default_host = ; ifx_connect() 默认使用的主机(安全模式下无效)</p>
<p>ifx.default_user = ; ifx_connect() 默认使用的用户名(安全模式下无效)</p>
<p>ifx.default_password = ; ifx_connect() 默认使用的密码(安全模式下无效)</p>
<p>ifx.allow_persistent = On ; 允许或禁止持久连接</p>
<p>ifx.max_persistent = -1 ; 每个进程中允许的最大持久连接数。-1 代表无限制</p>
<p>ifx.max_links = -1 ; 每个进程中允许的最大连接数(持久和非持久)。-1 代表无限制</p>
<p> </p>
<p>ifx.textasvarchar = 0</p>
<p>; 若打开,select状态符返回一个"text blob"字段的内容,而不是它的id</p>
<p> </p>
<p>ifx.byteasvarchar = 0</p>
<p>; 若打开,select状态符返回一个"byte blob"字段的内容,而不是它的id</p>
<p> </p>
<p>ifx.charasvarchar = 0</p>
<p>; 追踪从固定长度的字符列里剥离的空格。可能对 Informix SE 用户有效。</p>
<p> </p>
<p>ifx.blobinfile = 0</p>
<p>; 若打开,text和byte blobs的内容被导出到一个文件而不是保存到内存。</p>
<p> </p>
<p>ifx.nullformat = 0</p>
<p>; 设为0, NULL被作为空字段返回。设为1, NULL作为字串"NULL"返回。</p>
<p> </p>
<p></p>
<p>; 注意,除非使用session_register()或$_SESSION注册了一个变量。</p>
<p>; 否则不管是否使用了session_start(),都不会自动添加任何session记录。</p>
<p> </p>
<p>session.save_handler = files</p>
<p>; 用于保存/检索数据的处理程序,默认是文件(files)。</p>
<p> </p>
<p>;session.save_path = "/tmp"</p>
<p>; 在"session.save_handler=files"的情况下,这个参数指定了会话数据文件的保存路径。</p>
<p>; Windows用户必须修改此参数才能使用会话相关函数。</p>
<p>; 你可以这样定义路径(N是一个整数):session.save_path = "N;/path"</p>
<p>; N表示可以使用N层深度的子目录,而不是将所有数据文件都保存在一个目录下。</p>
<p>; 加了括号表示可选,表示它必须用8进制数来表示,其默认值是600 (等于384)。</p>
<p>; The file storage module creates files using mode 600 by default.</p>
<p>; Note that this does not overwrite the process's umask.</p>
<p>; 这是一个提高Windows下海量会话性能的好主意。</p>
<p>; 注意0: "N;/path"两边的双引号不能省略。</p>
<p>; 注意1: php不会自动建立这些文件夹结构。你可以使用ext/session目录下的脚本来做这件事情。</p>
<p>; 注意2: 如果你指定的文件夹可以被不安全的用户读取(比如默认的"/tmp"),那么将会带来安全漏洞。</p>
<p>; 注意3: 参见下面有关垃圾搜集的章节。</p>
<p> </p>
<p>session.use_cookies = 1</p>
<p>; 是否使用cookie在客户端保存session id,默认为1(使用)</p>
<p> </p>
<p>;session.use_only_cookies = 1</p>
<p>; 只使用Cookie来承载会话,默认为0 (关闭)</p>
<p>; 打开这个选项可以避免用URL传递会话带来的安全问题。但是禁用Cookie的客户端将使session无法工作。</p>
<p> </p>
<p>session.name = PHPSESSID</p>
<p>;用在cookie里的会话标识名,只能包含字母和数字。</p>
<p> </p>
<p>session.auto_start = 0</p>
<p>; 在客户访问任何页面时自动初始化会话,默认禁止。</p>
<p>; 因为类定义必须在session启动之前被载入,所以若打开这个选项,你就不能在sessions中存放对象。</p>
<p> </p>
<p>session.cookie_lifetime = 0</p>
<p>; session_cookie的有效期(秒),若为0,则仅在浏览器打开期间有效。</p>
<p> </p>
<p>session.cookie_path = /</p>
<p>; session_cookie的作用路径</p>
<p> </p>
<p>session.cookie_domain =</p>
<p>; session_cookie的作用域,默认为空。</p>
<p> </p>
<p>session.serialize_handler = php</p>
<p>; 用来序列化/解序列化数据的处理程序,php是PHP的标准序列化/解序列化处理程序。</p>
<p> </p>
<p>session.gc_probability = 1</p>
<p>session.gc_divisor = 100</p>
<p>;->session.gc_divisor = 1000</p>
<p>; 定义在每次初始化会话时,启动垃圾回收程序的概率。</p>
<p>; 这个收集概率计算公式如下:gc_probability/gc_divisor</p>
<p>; 比如:1/100 表示每一个新会话初始化时,有1%的概率会启动垃圾回收程序。</p>
<p> </p>
<p>session.gc_maxlifetime = 1440</p>
<p>; 经过此参数所指的秒数后,保存的数据将被视为'垃圾'并由垃圾回收程序清理。</p>
<p>; 判断的标准是文件建立的时间,而不是最后刷新数据的时间。</p>
<p>; 注意: 如果你使用了子目录来存储会话的数据文件(参见:session.save_path),垃圾回收程序不会自动启动。</p>
<p>; 你必须使用一个你自己编写的shell脚本、克隆目录或者其他办法来执行垃圾搜集。</p>
<p>; 比如,下面的脚本相当于设置了"session.gc_maxlifetime=1440" (24分钟):</p>
<p>; cd /path/to/sessions; find -cmin +24 | xargs rm</p>
<p> </p>
<p>session.bug_compat_42 = 1</p>
<p>;->session.bug_compat_42 = 0</p>
<p>session.bug_compat_warn = 1</p>
<p>; PHP4.2之前的版本有一个未注明的"特性"(也可看作bug):</p>
<p>; 即使在"register_globals = Off"的情况下也允许初始化全局session变量,</p>
<p>; 如果你在PHP4.3之后的版本中使用这个特性,会显示一条警告。你可以分别禁用这个特性和警告。</p>
<p>; 若打开bug_compat_42,将只显示警告。</p>
<p> </p>
<p>session.referer_check =</p>
<p>; 检查HTTP头中的"Referer"以判断包含于URL中的会话id是否有效</p>
<p>; HTTP_REFERER必须包含这个参数指定的字符串,否则URL中的会话id将被视为无效。</p>
<p>; 默认为空,即不检查。</p>
<p> </p>
<p>;session.entropy_length = 16</p>
<p>; 从文件中读取多少字节(entropy:平均信息量)[设定session从高熵值资源读取的位数。]</p>
<p>; 默认为0,表示禁用。</p>
<p>; How many bytes to read from the file. Defaults to 0 (disabled). </p>
<p>; specifies the number of bytes which will be read from the file specified above. </p>
<p> </p>
<p>;session.entropy_file = /dev/urandom</p>
<p>; 指定创建会话id的文件夹[使用外部高熵值资源或文件来建立session代码,例如 UNIX 系统上的 /dev/random?或 /dev/urandom]</p>
<p>; Specified here to create the session id.</p>
<p>; gives a path to an external resource (file) which will be used as an additional entropy source </p>
<p>; in the session id creation process. </p>
<p>; Examples are /dev/random or /dev/urandom which are available on many Unix systems.</p>
<p> </p>
<p>session.cache_limiter = nocache</p>
<p>; 设为{none/nocache/private/private_no_expire/public}以指定会话页面的缓存控制模式,</p>
<p>; 或者设为空以阻止在http应答头中发送禁用缓存的命令。</p>
<p>; 默认为"nocache"</p>
<p> </p>
<p>session.cache_expire = 180</p>
<p>; 指定会话页面在客户端cache中的有效期限(分钟)</p>
<p>; "session.cache_limiter=nocache"时,此设置将失效。</p>
<p> </p>
<p>session.use_trans_sid = 0</p>
<p>; 默认是禁止用明码在URL中显示sid(session_id)的,因为它会给你的用户带来安全危险,因为:</p>
<p>; 1- 用户可能将包含有效sid的URL 通过email/irc/QQ/MSN...途径告诉给其他人。</p>
<p>; 2- 包含有效sid的URL可能会被保存在公用电脑上。</p>
<p>; 3- 用户可能保存带有固定不变sid的URL在他们的收藏夹或者浏览历史纪录里面。</p>
<p> </p>
<p>session.hash_function = 0</p>
<p>;->session.hash_function = 1</p>
<p>; 生成session_id的hash函数,SHA-1的安全性更高一些</p>
<p>; 0: MD5 (128 bits)</p>
<p>; 1: SHA-1 (160 bits)</p>
<p> </p>
<p>session.hash_bits_per_character = 4</p>
<p>;->session.hash_bits_per_character = 5</p>
<p>; 指定在session_id字符串中的每个字符内保存多少位二进制数,</p>
<p>; 这些二进制数是hash函数的运算结果。</p>
<p>; 4 bits: 0-9, a-f</p>
<p>; 5 bits: 0-9, a-v</p>
<p>; 6 bits: 0-9, a-z, A-Z, "-", ","</p>
<p> </p>
<p>url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=,fieldset="</p>
<p>;->url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"</p>
<p>; 指定重写哪些HTML标签来包含sid(session_id)(仅在"session.use_trans_sid"打开的情况下有效)</p>
<p>; form和fieldset比较特殊:</p>
<p>; 如果你包含他们,URL重写器将添加一个隐藏的"",它包含了本应当额外追加到URL上的信息。</p>
<p>; 如果你想兼容XHTML标准,请使用"fieldset"代替"form"。</p>
<p>; 注意:所有合法的项都需要一个等号——即使后面没有值。</p>
<p> </p>
<p></p>
<p>mssql.allow_persistent = On ; 允许或禁止持久连接</p>
<p>mssql.max_persistent = -1 ; 每个进程中允许的最大持久连接数。-1 代表无限制</p>
<p>mssql.max_links = -1 ; 每个进程中允许的最大连接数(持久和非持久)。-1 代表无限制</p>
<p>mssql.min_error_severity = 10 ; 显示错误的最低严重性</p>
<p>mssql.min_message_severity = 10 ; 显示消息的最低重要性</p>
<p>mssql.compatability_mode = Off ; 与旧版的PHP3.0兼容的模式。</p>
<p>;mssql.connect_timeout = 5 ; 连接超时(秒)</p>
<p>;mssql.timeout = 60 ; 查询超时(秒)</p>
<p>;mssql.textlimit = 4096 ; 取值范围:0 - 2147483647</p>
<p>;mssql.textsize = 4096 ; 取值范围:0 - 2147483647</p>
<p> </p>
<p>;mssql.batchsize = 0</p>
<p>; 每批记录最大条数(0 表示所有记录都在一批当中)</p>
<p> </p>
<p>;mssql.datetimeconvert = On</p>
<p>; 指定datetime/datetim4字段的返回方式。</p>
<p>; On => 按照SQL server的设置返回</p>
<p>; Off => 按照 YYYY-MM-DD hh:mm:ss 格式返回</p>
<p> </p>
<p>mssql.secure_connection = Off</p>
<p>; 连接到数据库时使用NT身份认证</p>
<p> </p>
<p>;mssql.max_procs = 25</p>
<p>; 指定最大进程数,默认为 25</p>
<p> </p>
<p></p>
<p>;assert.active = On ; 断言(表达式),默认生效。</p>
<p>;assert.warning = On ; 为每个失败的断言发出警告。</p>
<p>;assert.bail = Off ; 默认不释放。</p>
<p>;assert.callback = 0 ; 如果断言失败,就调用一个用户函数。</p>
<p>;assert.quiet_eval = 0</p>
<p>; Eval the expression with current error_reporting(). Set to true if you want error_reporting(0) around the eval().</p>
<p> </p>
<p></p>
<p>ingres.allow_persistent = On ; 允许或禁止持久连接</p>
<p>ingres.max_persistent = -1 ; 最大持久连接数。-1 代表无限制</p>
<p>ingres.max_links = -1 ; 最大连接数(持久和非持久)。-1 代表无限制</p>
<p>ingres.default_database = ; 默认 database (format : dbname</p>
<p>ingres.default_user = ; 默认 user</p>
<p>ingres.default_password = ; 默认 password</p>
<p> </p>
<p></p>
<p>pfpro.defaulthost = "test-payflow.verisign.com" ; 默认的 Signio 服务器; Default Payflow Pro server.</p>
<p>pfpro.defaultport = 443 ; 连接的默认端口; Default port to connect to.</p>
<p>pfpro.defaulttimeout = 30 ; 按秒计的默认超时时间; Default timeout in seconds.</p>
<p>;pfpro.proxyaddress = ; 默认的代理的 IP 地址(如果需要); Default proxy IP address (if required).</p>
<p>;pfpro.proxyport = ; 默认的代理的端口; Default proxy port.</p>
<p>;pfpro.proxylogon = ; 默认的代理的登录用户名; Default proxy logon.</p>
<p>;pfpro.proxypassword = ; 默认的代理的密码; Default proxy password.</p>
<p> </p>
<p></p>
<p>;com.typelib_file = ; 包含GUID文件的路径, IID或包含类型库的文件</p>
<p>;com.allow_dcom = true ; 允许分布式COM调用</p>
<p>;com.autoregister_typelib = true ; com_load()函数自动注册类型库组件常数</p>
<p>;com.autoregister_casesensitive = false ; 自动注册类型库组件常数时大小写敏感</p>
<p>;com.autoregister_verbose = true ; 对重复注册的常量显示警告</p>
<p> </p>
<p></p>
<p>;mbstring.language = Japanese</p>
<p>; 用于内部字符表示的语言</p>
<p> </p>
<p>;mbstring.internal_encoding = EUC-JP</p>
<p>; internal/script编码。</p>
<p>; 注意:有些编码不能用于此(比如:SJIS, BIG5, ISO-2022-*)</p>
<p> </p>
<p>;mbstring.http_input = auto</p>
<p>; http输入编码</p>
<p> </p>
<p>;mbstring.http_output = SJIS</p>
<p>; http输出编码。必须将output_handler设置为"mb_output_handler"函数才可以。</p>
<p> </p>
<p>;mbstring.encoding_translation = Off</p>
<p>; 允许依照mbstring.internal_encoding设置进行自动编码转换</p>
<p>; 打开这个特性会让输入的字符会转化为内部编码</p>
<p>; 注意: 千万不要将自动编码转换使用于可移植的库或者程序</p>
<p> </p>
<p>;mbstring.detect_order = auto</p>
<p>; 编码自动检测指令</p>
<p> </p>
<p>;mbstring.substitute_character =</p>
<p>; 当一种字符不能被转换为另一种字符的时候,这里的值就是替代字符。</p>
<p> </p>
<p>;mbstring.func_overload = 0</p>
<p>; 用多字节字符串函数替换单字节字符串函数。</p>
<p>; mail(), ereg()...将被替换为mb_send_mail(), mb_ereg()...</p>
<p>; 可用0,1,2,4来组合。比如7表示替换所有。</p>
<p>; 0: 无替换</p>
<p>; 1: 替换mail()</p>
<p>; 2: 替换str*()</p>
<p>; 4: 替换ereg*()</p>
<p> </p>
<p></p>
<p>;fbsql.allow_persistent = On</p>
<p>;fbsql.autocommit = On</p>
<p>;fbsql.default_database =</p>
<p>;fbsql.default_database_password =</p>
<p>;fbsql.default_host =</p>
<p>;fbsql.default_password =</p>
<p>;fbsql.default_user = "_SYSTEM"</p>
<p>;fbsql.generate_warnings = Off</p>
<p>;fbsql.max_connections = 128</p>
<p>;fbsql.max_links = 128</p>
<p>;fbsql.max_persistent = -1</p>
<p>;fbsql.max_results = 128</p>
<p>;fbsql.batchSize = 1000</p>
<p> </p>
<p></p>
<p>; Exif UNICODE用户注释将被处理为UCS-2BE/UCS-2LE ,JIS保持不变。</p>
<p>; 在多字节字符串的支持下 this 将被自动的转换为设定的编码。</p>
<p>; 若将mbstring.internal_encoding设为空,根据解码设置,</p>
<p>; 就可以区别motorola和intel的字节指令(解码设置不能为空)</p>
<p>;exif.encode_unicode = ISO-8859-15</p>
<p>;exif.decode_unicode_motorola = UCS-2BE</p>
<p>;exif.decode_unicode_intel = UCS-2LE</p>
<p>;exif.encode_jis =</p>
<p>;exif.decode_jis_motorola = JIS</p>
<p>;exif.decode_jis_intel = JIS</p>
<p> </p>
<p></p>
<p>;tidy.default_config = /usr/local/lib/php/default.tcfg</p>
<p>; 默认tidy配置文件路径。</p>
<p> </p>
<p>tidy.clean_output = Off</p>
<p>; 是否允许tidy自动清理和修正输出。</p>
<ol>
<li>; 警告: 如果脚本可能会输出非html文档(比如动态图片),请不要打开此特性。</li>
</ol>
<p> </p>
<p></p>
<p>soap.wsdl_cache_enabled=1</p>
<p>; 打开或者关闭WSDL缓冲特性</p>
<p> </p>
<p>soap.wsdl_cache_dir="/tmp"</p>
<p>; SOAP扩展存放chche文件的目录。</p>
<p> </p>
<p>soap.wsdl_cache_ttl=86400</p>
<p>; cache文件使用期限(秒)。过期后将使用新文件。</p><br><br>
来源:https://www.cnblogs.com/zllo/p/11726414.html
頁:
[1]