::  ::  ::  ::  :: 管理

适用于 php-5.2 的 php.ini 中文版

Posted on 2008-10-19 04:23 nt05 阅读(207) 评论(0)  编辑 收藏 引用 所属分类: windows nt
[PHP-Core-OutputControl]
; 输出控制函数很有用,特别是在已经输出了信息之后再发送HTTP头的情况下。
; 输出控制函数不会作用于header()或setcookie()等函数发送的HTTP头,
; 而只会影响类似于echo()函数输出的信息和嵌入在PHP代码之间的信息。

implicit_flush = Off
; 是否要求PHP输出层在每个输出块之后自动刷新数据。
; 这等效于在每个 print()、echo()、HTML块 之后自动调用flush()函数。
; 打开这个选项对程序执行的性能有严重的影响,通常只推荐在调试时使用。
; 在CLI SAPI的执行模式下,该指令默认为 On 。

output_buffering = 0
; 输出缓冲区大小(字节)。建议值为4096~8192。
; 输出缓冲允许你甚至在输出正文内容之后再发送HTTP头(包括cookies)。
; 其代价是输出层减慢一点点速度。
; 设置输出缓冲可以减少写入,有时还能减少网络数据包的发送。
; 这个参数的实际收益很大程度上取决于你使用的是什么Web服务器以及什么样的脚本。

output_handler =
; 将所有脚本的输出重定向到一个输出处理函数。
; 比如,重定向到mb_output_handler()函数时,字符编码将被透明地转换为指定的编码。
; 一旦你在这里指定了输出处理程序,输出缓冲将被自动打开(output_buffering=4096)。
; 注意0: 此处仅能使用PHP内置的函数,自定义函数应在脚本中使用ob_start()指定。
; 注意1: 可移植脚本不能依赖该指令,而应使用ob_start()函数明确指定输出处理函数。
; 使用这个指令可能会导致某些你不熟悉的脚本出错。
; 注意2: 你不能同时使用"mb_output_handler"和"ob_iconv_handler"两个输出处理函数。
; 你也不能同时使用"ob_gzhandler"输出处理函数和zlib.output_compression指令。
; 注意3: 如果使用zlib.output_handler指令开启zlib输出压缩,该指令必须为空。


[PHP-Core-Directory]

include_path = ".:/path/to/php/pear"
; 指定一组目录用于require(), include(), fopen_with_path()函数寻找文件。
; 格式和系统的PATH环境变量类似(UNIX下用冒号分隔,Windows下用分号分隔):
; UNIX: "/path1:/path2"
; Windows: "\path1;\path2"
; 在包含路径中使用'.'可以允许相对路径,它代表当前目录。

user_dir =
; 告诉php在使用 /~username 打开脚本时到哪个目录下去找,仅在非空时有效。
; 也就是在用户目录之下使用PHP文件的基本目录名,例如:"public_html"

extension_dir = "/path/to/php"
; 存放扩展库(模块)的目录,也就是PHP用来寻找动态扩展模块的目录。
; Windows下默认为"C:/php5"


[PHP-Core-HTTP]

default_mimetype = "text/html"
default_charset = ;"gb2312"
; PHP默认会自动输出"Content-Type: text/html" HTTP头。
; 如果将default_charset指令设为"gb2312",
; 那么将会自动输出"Content-Type: text/html; charset=gb2312"。
; PHP6反对使用default_charset指令,而推荐使用unicode.output_encoding指令。


[PHP-Core-Unicode]
; PHP6基于ICU(International Components for Unicode)库提供了全面的Unicode支持。
; 编译时需要使用--with-icu-dir=<dir>指定ICU头文件和库的安装位置。
; 除detect_unicode外,其他都是PHP6新增的指令。
;
; PHP6的信息目前还很缺乏,所以此部分内容可能不完整甚至有错误。

detect_unicode = On
; 指示Zend引擎是否通过检查脚本的BOM(字节顺序标记)来检测脚本是否包含多字节字符。
; 建议关闭。PHP6已经取消了此指令而用unicode.script_encoding指令来代替其功能。

unicode.semantics = Off
; 是否启用Unicode支持。
; 如果打开此指令,那么PHP将变成一个完全的Unicode环境,比如:
; 所有字符串和从HTTP接受的变量都将变成Unicode,所有PHP标识符也都可以使用Unicode字符。
; 而且,PHP内部将使用Unicode字符串并负责对外围非Unicode字符进行自动转换,
; 比如:HTTP输入输出、流、文件系统操作等等,甚至连php.ini自身都将按照UTF-8编码来解析。
; 开启这个指令后,你必须明确指定二进制字符串。PHP将不对二进制字符串的内容做任何假定,
; 因此你的程序必须保证能够恰当的处理二进制字符串。
; 如果关闭这个指令,PHP的行为将和以前的行为完全相同:
; 字符串不会变成Unicode,文件和二进制字符串也将向后兼容,php.ini也将按照"as-is"风格解析。
; 不管是否打开此指令,所有的函数和操作符都透明的支持Unicode字符串。

unicode.fallback_encoding = UTF-8
; 为其他所有unicode.*_encoding指令设置默认值。
; 也就是说如果某个unicode.*_encoding指令未明确设置的话,将使用此处设置的值。

unicode.runtime_encoding =
; 运行时编码指定了PHP引擎内部转换二进制字符串时使用的编码。
; 此处的设置对于I/O相关操作(比如:写入标准输出/读取文件系统/解码HTTP输入变量)没有影响。
; PHP也允许你明确的对字符串进行转换:
; (binary)$str -- 转化为二进制字符串
; (unicode)$str -- 转化为Unicode字符串
; (string)$str -- 如果unicode.semantics为On则转化为Unicode字符串,否则转化为二进制字符串
; 例如,如果该指令的值为iso-8859-1并且$uni是一个Unicode字符串,那么
; $str = (binary)$uni
; 将等到一个使用iso-8859-1编码的二进制字符串。
; 在连接、比较、传递参数等操作之前PHP会将相关字符串隐含转换为Unicode,然后再进行操作。
; 比如在将二进制字符串与Unicode进行连接的时候,
; PHP将会使用这里的设置将二进制字符串转换为Unicode字符串,然后再进行操作。

unicode.output_encoding =
; PHP输出非二进制字符串使用的编码。
; 自动将'print'和'echo'之类的输出内容转换为此处设定的编码(并不对二进制字符串进行转换)。
; 当向文件之类的外部资源写入数据的时候,
; 你必须依赖于流编码特性或者使用Unicode扩展的函数手动的对数据进行编码。
; 在PHP6中反对使用先前的default_charset指令,而推荐使用该指令。
; 先前的default_charset指令只是指定了Content-Type头中的字符集,而并不对实际的输出做任何转换。
; 而在PHP6中,default_charset指令仅在unicode.semantics为off的时候才有效。
; 设置了该指令后将在Content-Type输出头的'charset'部分填上该指令的值,
; 而不管default_charset指令如何设置。

unicode.http_input_encoding =
; 通过HTTP获取的变量(比如$_GET和_$POST)内容的编码。
; 直到2007年4月此功能尚在开发中....

unicode.filesystem_encoding =
; 文件系统的目录名和文件名的编码。
; 文件系统相关的函数(比如opendir())将使用这个编码接受和返回文件名和目录名。
; 此处的设置必须与文件系统实际使用的编码完全一致。

unicode.script_encoding =
; PHP脚本自身的默认编码。
; 你可以使用任何ICU支持的编码来写PHP脚本。
; 如果你想针对单独的脚本文件设定其编码,可以在该脚本的开头使用
; <?php declare(encoding = 'Shift-JIS'); ?>
; 来指定。注意:必须是第一行开头,全面不要有任何字符(包括空白)。
; 该方法只能影响其所在的脚本,不会影响任何被包含的其他脚本。

unicode.stream_encoding = UTF-8
unicode.from_error_mode = 2
unicode.from_error_subst_char = 3f
; 尚无文档


[PHP-Core-Misc]

auto_detect_line_endings = Off
; 是否让PHP自动侦测行结束符(EOL)。
; 如果的你脚本必须处理Macintosh文件,
; 或者你运行在Macintosh上,同时又要处理unix或win32文件,
; 打开这个指令可以让PHP自动侦测EOL,以便fgets()和file()函数可以正常工作。
; 但同时也会导致在Unix系统下使用回车符(CR)作为项目分隔符的人遭遇不兼容行为。
; 另外,在检测第一行的EOL习惯时会有很小的性能损失。

browscap = ;"c:/windows/system32/inetsrv/browscap.ini"
;SYS
; 只有PWS和IIS需要这个设置
; 你可以从http://www.garykeith.com/browsers/downloads.asp
; 得到一个browscap.ini文件。

ignore_user_abort = Off
; 是否即使在用户中止请求后也坚持完成整个请求。
; 在执行一个长请求的时候应当考虑打开该它,
; 因为长请求可能会导致用户中途中止或浏览器超时。

user_agent = ;"PHP"
; 定义"User-Agent"字符串

;url_rewriter.tags = "a=href,area=href,frame=src,form=,fieldset="
; 虽然此指令属于PHP核心部分,但是却用于Session模块的配置

;extension =
; 在PHP启动时加载动态扩展。例如:extension=mysqli.so
; "="之后只能使用模块文件的名字,而不能含有路径信息。
; 路径信息应当只由extension_dir指令提供。
; 主意,在windows上,下列扩展已经内置:
; bcmath ; calendar ; com_dotnet ; ctype ; session ; filter ; ftp ; hash
; iconv ; json ; odbc ; pcre ; Reflection ; date ; libxml ; standard
; tokenizer ; zlib ; SimpleXML ; dom ; SPL ; wddx ; xml ; xmlreader ; xmlwriter


[PHP-Core-CGI]
; 这些指令只有在将PHP运行在CGI模式下的时候才有效

doc_root =
; PHP的"CGI根目录"。仅在非空时有效。
; 在web服务器的主文档目录(比如"htdocs")中放置可执行程序/脚本被认为是不安全的,
; 比如因为配置错误而将脚本作为普通的html显示。
; 因此很多系统管理员都会在主文档目录之外专门设置一个只能通过CGI来访问的目录,
; 该目录中的内容只会被解析而不会原样显示出来。
; 如果设置了该项,那么PHP就只会解释doc_root目录下的文件,
; 并确保目录外的脚本都不会被PHP解释器执行(user_dir除外)。
; 如果编译PHP时没有指定FORCE_REDIRECT,并且在非IIS服务器上以CGI方式运行,
; 则必须设置此指令(参见手册中的安全部分)。
; 替代方案是使用的cgi.force_redirect指令。

cgi.discard_path = Off
; 尚无文档(PHP6新增指令)

cgi.fix_pathinfo = On
; 是否为CGI提供真正的 PATH_INFO/PATH_TRANSLATED 支持(遵守cgi规范)。
; 先前的行为是将PATH_TRANSLATED设为SCRIPT_FILENAME,而不管PATH_INFO是什么。
; 打开此选项将使PHP修正其路径以遵守CGI规范,否则仍将使用旧式的不合规范的行为。
; 鼓励你打开此指令,并修正脚本以使用 SCRIPT_FILENAME 代替 PATH_TRANSLATED 。
; 有关PATH_INFO的更多信息请参见cgi规范。

cgi.force_redirect = On
; 是否打开cgi强制重定向。强烈建议打开它以为CGI方式运行的php提供安全保护。
; 你若自己关闭了它,请自己负责后果。
; 注意:在IIS/OmniHTTPD/Xitami上则必须关闭它!

cgi.redirect_status_env =
; 如果cgi.force_redirect=On,并且在Apache与Netscape之外的服务器下运行PHP,
; 可能需要设定一个cgi重定向环境变量名,PHP将去寻找它来知道是否可以继续执行下去。
; 设置这个变量会导致安全漏洞,请务必在设置前搞清楚自己在做什么。

cgi.rfc2616_headers = 0
; 指定PHP在发送HTTP响应代码时使用何种报头。
; 0 表示发送一个"Status: "报头,Apache和其它web服务器都支持。
; 若设为1,则PHP使用RFC2616标准的头。
; 除非你知道自己在做什么,否则保持其默认值 0

cgi.nph = Off
; 在CGI模式下是否强制对所有请求都发送"Status: 200"状态码。

cgi.check_shebang_line =On
; CGI PHP是否检查脚本顶部以 #! 开始的行。
; 如果脚本想要既能够单独运行又能够在PHP CGI模式下运行,那么这个起始行就是必须的。
; 如果打开该指令,那么CGI模式的PHP将跳过这一行。

fastcgi.impersonate = Off
; IIS中的FastCGI支持模仿客户端安全令牌的能力。
; 这使得IIS能够定义运行时所基于的请求的安全上下文。
; Apache中的mod_fastcgi不支持此特性(03/17/2002)
; 如果在IIS中运行则设为On,默认为Off。

fastcgi.logging = On
; 是否记录通过FastCGI进行的连接。


[PHP-Core-Weirdy]
; 这些选项仅存在于文档中,却不存在于phpinfo()函数的输出中

async_send = Off
; 是否异步发送。

from = ;"john@doe.com"
; 定义匿名ftp的密码(一个email地址)


;;;;;;;;;;;;;;;;;;
;; 近核心模块 ;;
;;;;;;;;;;;;;;;;;;

[Pcre]
;Perl兼容正则表达式模块

pcre.backtrack_limit = 100000
; PCRE的最大回溯(backtracking)步数。

pcre.recursion_limit = 100000
; PCRE的最大递归(recursion)深度。
; 如果你将该值设的非常高,将可能耗尽进程的栈空间,导致PHP崩溃。


[Session]
; 除非使用session_register()或$_SESSION注册了一个变量。
; 否则不管是否使用了session_start(),都不会自动添加任何session记录。
; 包括resource变量或有循环引用的对象包含指向自身的引用的对象,不能保存在会话中。
; register_globals指令会影响到会话变量的存储和恢复。

session.save_handler = "files"
; 存储和检索与会话关联的数据的处理器名字。默认为文件("files")。
; 如果想要使用自定义的处理器(如基于数据库的处理器),可用"user"。
; 有一个使用PostgreSQL的处理器:http://sourceforge.net/projects/phpform-ext/

session.save_path = "/tmp"
; 传递给存储处理器的参数。对于files处理器,此值是创建会话数据文件的路径。
; Windows下默认为临时文件夹路径。
; 你可以使用"N;[MODE;]/path"这样模式定义该路径(N是一个整数)。
; N表示使用N层深度的子目录,而不是将所有数据文件都保存在一个目录下。
; [MODE;]可选,必须使用8进制数,默认"600",表示文件的访问权限。
; 这是一个提高大量会话性能的好主意。
; 注意0: "N;[MODE;]/path"两边的双引号不能省略。
; 注意1: [MODE;]并不会改写进程的umask。
; 注意2: php不会自动创建这些文件夹结构。请使用ext/session目录下的mod_files.sh脚本创建。
; 注意3: 如果该文件夹可以被不安全的用户访问(比如默认的"/tmp"),那么将会带来安全漏洞。
; 注意4: 当N>0时自动垃圾回收将会失效,具体参见下面有关垃圾搜集的部分。

session.name = "PHPSESSID"
;用在cookie里的会话ID标识名,只能包含字母和数字。

session.auto_start = Off
; 在客户访问任何页面时都自动初始化会话,默认禁止。
; 因为类定义必须在会话启动之前被载入,所以若打开这个选项,你就不能在会话中存放对象。

session.serialize_handler = "php"
; 用来序列化/解序列化数据的处理器,php是标准序列化/解序列化处理器。
; 另外还可以使用"php_binary"。当启用了WDDX支持以后,将只能使用"wddx"。

session.gc_probability = 1
session.gc_divisor = 100
; 定义在每次初始化会话时,启动垃圾回收程序的概率。
; 这个收集概率计算公式如下:session.gc_probability/session.gc_divisor
; 对会话页面访问越频繁,概率就应当越小。建议值为1/1000~5000。

session.gc_maxlifetime = 1440
; 超过此参数所指的秒数后,保存的数据将被视为'垃圾'并由垃圾回收程序清理。
; 判断标准是最后访问数据的时间(对于FAT文件系统是最后刷新数据的时间)。
; 如果多个脚本共享同一个session.save_path目录但session.gc_maxlifetime不同,
; 那么将以所有session.gc_maxlifetime指令中的最小值为准。
; 如果使用多层子目录来存储数据文件,垃圾回收程序不会自动启动。
; 你必须使用一个你自己编写的shell脚本、cron项或者其他办法来执行垃圾搜集。
; 比如,下面的脚本相当于设置了"session.gc_maxlifetime=1440" (24分钟):
; cd /path/to/sessions; find -cmin +24 | xargs rm

session.referer_check =
; 如果请求头中的"Referer"字段不包含此处指定的字符串则会话ID将被视为无效。
; 注意:如果请求头中根本不存在"Referer"字段的话,会话ID将仍将被视为有效。
; 默认为空,即不做检查(全部视为有效)。

session.entropy_file = ;"/dev/urandom"
; 附加的用于创建会话ID的外部高熵值资源(文件),
; 例如UNIX系统上的"/dev/random"或"/dev/urandom"

session.entropy_length = 0
; 从高熵值资源中读取的字节数(建议值:16)。

session.use_cookies = On
; 是否使用cookie在客户端保存会话ID

session.use_only_cookies = Off
; 是否仅仅使用cookie在客户端保存会话ID。PHP6的默认值为On。
; 打开这个选项可以避免使用URL传递会话带来的安全问题。
; 但是禁用Cookie的客户端将使会话无法工作。

session.cookie_lifetime = 0
; 传递会话ID的Cookie有效期(秒),0 表示仅在浏览器打开期间有效。
; [提示]如果你不能保证服务器时间和客户端时间严格一致请不要改变此默认值!

session.cookie_path = "/"
; 传递会话ID的Cookie作用路径。

session.cookie_domain =
; 传递会话ID的Cookie作用域。
; 默认为空表示表示根据cookie规范生成的主机名。

session.cookie_secure = Off
; 是否仅仅通过安全连接(https)发送cookie。

session.cookie_httponly = Off
; 是否在cookie中添加httpOnly标志(仅允许HTTP协议访问),
; 这将导致客户端脚本(JavaScript等)无法访问该cookie。
; 打开该指令可以有效预防通过XSS攻击劫持会话ID。

session.cache_limiter = "nocache"
; 设为{nocache|private|public}以指定会话页面的缓存控制模式,
; 或者设为空以阻止在http应答头中发送禁用缓存的命令。

session.cache_expire = 180
; 指定会话页面在客户端cache中的有效期限(分钟)
; session.cache_limiter=nocache时,此处设置无效。

session.use_trans_sid = Off
; 是否使用明码在URL中显示SID(会话ID)。
; 默认是禁止的,因为它会给你的用户带来安全危险:
; 1- 用户可能将包含有效sid的URL通过email/irc/QQ/MSN...途径告诉给其他人。
; 2- 包含有效sid的URL可能会被保存在公用电脑上。
; 3- 用户可能保存带有固定不变sid的URL在他们的收藏夹或者浏览历史纪录里面。
; 基于URL的会话管理总是比基于Cookie的会话管理有更多的风险,所以应当禁用。

session.bug_compat_42 = On
session.bug_compat_warn = On
; PHP4.2之前的版本有一个未注明的"BUG":
; 即使在register_globals=Off的情况下也允许初始化全局session变量,
; 如果你在PHP4.3之后的版本中使用这个特性,会显示一条警告。
; 建议关闭该"BUG"并显示警告。PHP6删除了这两个指令,相当于全部设为Off。

session.hash_function = 0
; 生成SID的散列算法。SHA-1的安全性更高一些
; 0: MD5 (128 bits)
; 1: SHA-1 (160 bits)
; 建议使用SHA-1。

session.hash_bits_per_character = 4
; 指定在SID字符串中的每个字符内保存多少bit,
; 这些二进制数是hash函数的运算结果。
; 4: 0-9, a-f
; 5: 0-9, a-v
; 6: 0-9, a-z, A-Z, "-", ","
; 建议值为 5

url_rewriter.tags = "a=href,area=href,frame=src,form=,fieldset="
; 此指令属于PHP核心部分,并不属于Session模块。
; 指定重写哪些HTML标签来包含SID(仅当session.use_trans_sid=On时有效)
; form和fieldset比较特殊:
; 如果你包含他们,URL重写器将添加一个隐藏的"<input>",它包含了本应当额外追加到URL上的信息。
; 如果要符合XHTML标准,请去掉form项并在表单字段前后加上<fieldset>标记。
; 注意:所有合法的项都需要一个等号(即使后面没有值)。
; 推荐值为"a=href,area=href,frame=src,input=src,form=fakeentry"。

session.encode_sources = "globals"
; PHP6中有争议的指令,尚未决定是否采用该指令。也尚无相关文档。


;;;;;;;;;;;;;;;;
;; 其他模块 ;;
;;;;;;;;;;;;;;;;

[APC]
; Alternative PHP Cache 用于缓存和优化PHP中间代码

apc.enabled = On
; 是否启用APC,如果APC被静态编译进PHP又想禁用它,这是唯一的办法。

apc.enable_cli = Off
; 是否为CLI版本启用APC功能,仅用于测试和调试目的才打开此指令。

apc.cache_by_default = On
; 是否默认对所有文件启用缓冲。
; 若设为Off并与以加号开头的apc.filters指令一起用,则文件仅在匹配过滤器时才被缓存。

apc.file_update_protection = 2
; 当你在一个运行中的服务器上修改文件时,你应当执行原子操作。
; 也就是先写进一个临时文件,然后将该文件重命名(mv)到最终的名字。
; 文本编辑器以及 cp, tar 等程序却并不是这样操作的,从而导致有可能缓冲了残缺的文件。
; 默认值 2 表示在访问文件时如果发现修改时间距离访问时间小于 2 秒则不做缓冲。
; 那个不幸的访问者可能得到残缺的内容,但是这种坏影响却不会通过缓存扩大化。
; 如果你能确保所有的更新操作都是原子操作,那么可以用 0 关闭此特性。
; 如果你的系统由于大量的IO操作导致更新缓慢,你就需要增大此值。

apc.filters =
; 一个以逗号分隔的POSIX扩展正则表达式列表。
; 如果源文件名与任意一个模式匹配,则该文件不被缓存。
; 注意,用来匹配的文件名是传递给include/require的文件名,而不是绝对路径。
; 如果正则表达式的第一个字符是"+"则意味着任何匹配表达式的文件会被缓存,
; 如果第一个字符是"-"则任何匹配项都不会被缓存。"-"是默认值,可以省略掉。

apc.ttl = 0
; 缓存条目在缓冲区中允许逗留的秒数。0 表示永不超时。建议值为7200~86400。
; 设为 0 意味着缓冲区有可能被旧的缓存条目填满,从而导致无法缓存新条目。

apc.user_ttl = 0
; 类似于apc.ttl,只是针对每个用户而言,建议值为7200~86400。
; 设为 0 意味着缓冲区有可能被旧的缓存条目填满,从而导致无法缓存新条目。

apc.gc_ttl = 3600
; 缓存条目在垃圾回收表中能够存在的秒数。
; 此值提供了一个安全措施,即使一个服务器进程在执行缓存的源文件时崩溃,
; 而且该源文件已经被修改,为旧版本分配的内存也不会被回收,直到达到此TTL值为止。
; 设为零将禁用此特性。

apc.include_once_override = Off
; 优化include_once()和require_once()函数以避免执行额外的系统调用。

apc.max_file_size = 1M
; 禁止大于此尺寸的文件被缓存。

apc.mmap_file_mask =
; 如果使用--enable-mmap(默认启用)为APC编译了MMAP支持,
; 这里的值就是传递给mmap模块的mktemp风格的文件掩码(建议值为"/tmp/apc.XXXXXX")。
; 该掩码用于决定内存映射区域是否要被file-backed或者shared memory backed。
; 对于直接的file-backed内存映射,要设置成"/tmp/apc.XXXXXX"的样子(恰好6个X)。
; 要使用POSIX风格的shm_open/mmap就需要设置成"/apc.shm.XXXXXX"的样子。
; 你还可以设为"/dev/zero"来为匿名映射的内存使用内核的"/dev/zero"接口。
; 不定义此指令则表示强制使用匿名映射。

apc.num_files_hint = 1000
; Web服务器上可能被包含或被请求的不同脚本源代码文件的大致数量(建议值为1024~4096)。
; 如果你不能确定,则设为 0 ;此设定主要用于拥有数千个源文件的站点。

apc.optimization = 0
; 优化级别(建议值为 0 ) 。反对使用该指令。将来可能会被删除。
; 正整数值表示启用优化器,值越高则使用越激进的优化。
; 更高的值可能有非常有限的速度提升,但目前尚在试验中。

apc.report_autofilter = Off
; 是否记录所有由于early/late binding原因而自动未被缓存的脚本。

apc.shm_segments = 1
; 为编译器缓冲区分配的共享内存块数量(建议值为1)。
; 如果APC耗尽了共享内存,并且已将apc.shm_size指令设为系统允许的最大值,可以尝试增大此值。
; 在mmap模式下设置为 1 之外的其它值是无效的,因为经过mmap的共享内存段的大小是没有限制的。

apc.shm_size = 30
; 每个共享内存块的大小(以MB为单位,建议值为128~256)。
; 有些系统(包括大多数BSD变种)默认的共享内存块大小非常少。

apc.slam_defense = 0
; 在非常繁忙的服务器上,无论是启动服务还是修改文件,
; 都可能由于多个进程企图同时缓存一个文件而导致竞争条件。
; 这个指令用于设置进程在处理未被缓存的文件时跳过缓存步骤的百分率。
; 比如设为75表示在遇到未被缓存的文件时有75%的概率不进行缓存,从而减少碰撞几率。
; 反对使用该指令,鼓励设为 0 来禁用这个特性。建议该用apc.write_lock指令。

apc.stat = On
; 是否启用脚本更新检查。
; 改变这个指令值要非常小心。
; 默认值 On 表示APC在每次请求脚本时都检查脚本是否被更新,
; 如果被更新则自动重新编译和缓存编译后的内容。但这样做对性能有不利影响。
; 如果设为 Off 则表示不进行检查,从而使性能得到大幅提高。
; 但是为了使更新的内容生效,你必须重启Web服务器。
; 这个指令对于include/require的文件同样有效。但是需要注意的是,
; 如果你使用的是相对路径,APC就必须在每一次include/require时都进行检查以定位文件。
; 而使用绝对路径则可以跳过检查,所以鼓励你使用绝对路径进行include/require操作。

apc.user_entries_hint = 4096
; 类似于num_files_hint指令,只是针对每个不同用户而言。
; 如果你不能确定,则设为 0 。

apc.write_lock = On
; 是否启用写入锁。
; 在非常繁忙的服务器上,无论是启动服务还是修改文件,
; 都可能由于多个进程企图同时缓存一个文件而导致竞争条件。
; 启用该指令可以避免竞争条件的出现。

apc.rfc1867 = Off
; 打开该指令后,对于每个恰好在file字段之前含有APC_UPLOAD_PROGRESS字段的上传文件,
; APC都将自动创建一个upload_<key>的用户缓存条目(<key>就是APC_UPLOAD_PROGRESS字段值)。
; 需要注意的是,文件上传跟踪在这里并不是线程安全的,
; 所以如果老文件尚未上载完毕且新文件已经开始上载,那么将丢失对老文件的跟踪。

apc.localcache = Off
; 是否使用非锁定本地进程shadow-cache ,它可以减少了向缓冲区写入时锁之间的竞争。

apc.localcache.size = 512
; 本地进程的shadow-cache,应当设为一个足够大的值,大约相当于num_files_hint的一半。

apc.stat_ctime = Off
; 尚无文档


[bcmath]
; 为任意精度数学计算提供了二进制计算器(Binary Calculator),
; 它支持任意大小和精度的数字,以字符串形式描述。

bcmath.scale = 0
; 用于所有bcmath函数的10十进制数的个数


[GD]

gd.jpeg_ignore_warning = Off
; 是否忽略jpeg解码器的警告信息(比如无法识别图片格式)。
; 有image/jpeg与image/pjpeg两种MIME类型,GD库只能识别前一种传统格式。
; 参见:http://twpug.net/modules/newbb/viewtopic.php?topic_id=1867&forum=14
; http://bugs.php.net/bug.php?id=29878
; http://www.faqs.org/faqs/jpeg-faq/part1/section-11.html


[Filter]
; 对来源不可靠的数据进行确认和过滤,本扩展模块是实验性的。

filter.default = "unsafe_raw"
; 使用指定的过滤器过滤$_GET,$_POST,$_COOKIE,$_REQUEST数据,
; 原始数据可以通过input_get()函数访问。
; "unsafe_raw"表示不做任何过滤。

filter.default_flags =
; filter_data()函数的默认标志。


[mbstring]
;多字节字符串模块支持

mbstring.language = "neutral"
; 默认的NLS(本地语言设置),可设置值如下:
; 默认值"neutral"表示中立,相当于未知。
; "zh-cn"或"Simplified Chinese"表示简体中文
; "zh-tw"或"Traditional Chinese"表示繁体中文
; "uni"或"universal"表示Unicode
; 该指令自动定义了随后的mbstring.internal_encoding指令默认值,
; 并且mbstring.internal_encoding指令必须放置在该指令之后。

mbstring.internal_encoding =
; 本指令必须放置在mbstring.language指令之后。
; 默认的内部编码,未设置时取决于mbstring.language指令的值:
; "neutral" 对应 "ISO-8859-1"
; "zh-cn" 对应 "EUC-CN" (等价于"GB2312")
; "zh-tw" 对应 "EUC-TW" (等价于"BIG5")
; "uni" 对应 "UTF-8"
; 提醒:对于简体中文还可以强制设置为"CP936" (等价于"GBK")
; 注意:可能 SJIS, BIG5, GBK 不适合作为内部编码,不过"GB2312"肯定没问题。
; 建议手动强制指定

mbstring.encoding_translation = Off
; 是否对进入的HTTP请求按照mbstring.internal_encoding指令进行透明的编码转换,
; 也就是自动检测输入字符的编码并将其透明的转化为内部编码。
; 可移植的库或者程序千万不要依赖于自动编码转换。

mbstring.http_input = "pass"
; 默认的HTTP输入编码,"pass"表示跳过(不做转换)
; "aotu"的含义与mbstring.detect_order指令中的解释一样。
; 可以设置为一个单独的值,也可以设置为一个逗号分隔的列表。

mbstring.http_output = "pass"
; 默认的HTTP输出编码,"pass"表示跳过(不做转换)
; "aotu"的含义与mbstring.detect_order指令中的解释一样。
; 可以设置为一个单独的值,也可以设置为一个逗号分隔的列表。
; 必须将output_handler指令设置为"mb_output_handler"才可以。

mbstring.detect_order =
; 默认的编码检测顺序,"pass"表示跳过(不做转换)。
; 默认值("auto")随mbstring.language指令的不同而变化:
; "neutral"和"universal" 对应 "ASCII, UTF-8"
; "Simplified Chinese" 对应 "ASCII, UTF-8, EUC-CN, CP936"
; "Traditional Chinese" 对应 "ASCII, UTF-8, EUC-TW, BIG-5"
; 建议在可控环境下手动强制指定一个单一值

mbstring.func_overload = 0
; 自动使用 mb_* 函数重载相应的单字节字符串函数。
; 比如:mail(), ereg() 将被自动替换为mb_send_mail(), mb_ereg()
; 可用 0,1,2,4 进行位组合。比如7表示替换所有。具体替换说明如下:
; 0: 无替换
; 1: mail() → mb_send_mail()
; 2: strlen() → mb_strlen() ; substr() → mb_substr()
; strpos() → mb_strpos() ; strrpos() → mb_strrpos()
; strtolower() → mb_strtolower() ; strtoupper() → mb_strtoupper()
; substr_count() → mb_substr_count()
; 4: ereg() → mb_ereg() ; eregi() → mb_eregi()
; ereg_replace() → mb_ereg_replace() ; eregi_replace() → mb_eregi_replace()
; split() → mb_split()

mbstring.script_encoding =
; 脚本所使用的编码

mbstring.strict_detection = Off
; 是否使用严谨的编码检测

mbstring.substitute_character =
; 当某个字符无法解码时,就是用这个字符替代。
; 若设为一个整数则表示对应的Unicode值,不设置任何值表示不显示这个错误字符。
; 建议设为"□"


[Mcrypt]
; 一个mcrypt库的接口,该库支持许多种块加密算法。
; 不建议使用该模块,因为毛病太多,建议在数据库层进行加密。

mcrypt.algorithms_dir =
; 默认的加密算法模块所在目录。通常是"/usr/local/lib/libmcrypt"。
; 目前尚无详细说明文档,此处的解释可能是错误的。

mcrypt.modes_dir =
; 默认的加密模式模块所在目录。通常是"/usr/local/lib/libmcrypt"。
; 目前尚无说明文档,此处的解释可能是错误的。


[Memcache]
; 一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,
; 它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。

memcache.allow_failover = On
; 是否在遇到错误时透明地向其他服务器进行故障转移。

memcache.chunk_size = 8192
; 数据将按照此值设定的块大小进行转移。此值越小所需的额外网络传输越多。
; 如果发现无法解释的速度降低,可以尝试将此值增加到32768。

memcache.default_port = 11211
; 连接到memcached服务器时使用的默认TCP端口。

memcache.max_failover_attempts = 20
; 接受和发送数据时最多尝试多少个服务器,进在打开memcache.allow_failover时有效。


[Zlib]
; 该模块允许PHP透明的读取和写入gzip(.gz)压缩文件。

zlib.output_compression = Off
; 是否使用zlib库透明地压缩脚本输出结果。
; 该指令的值可以设置为:Off、On、字节数(压缩缓冲区大小,默认为4096)。
; 如果打开该指令,当浏览器发送"Accept-Encoding: gzip(deflate)"头时,
; "Content-Encoding: gzip(deflate)"和"Vary: Accept-Encoding"头将加入到应答头当中。
; 你可以在应答头输出之前用ini_set()函数在脚本中启用或禁止这个特性。
; 如果输出一个"Content-Type: image/??"这样的应答头,压缩将不会启用(为了防止Netscape的bug)。
; 你可以在输出"Content-Type: image/??"之后使用"ini_set('zlib.output_compression', 'On')"重新打开这个特性。
; 注意1: 压缩率会受压缩缓冲区大小的影响,如果你想得到更好的压缩质量,请指定一个较大的压缩缓冲区。
; 注意2: 如果启用了zlib输出压缩,output_handler指令必须为空,同时必须设置zlib.output_handler指令的值。

zlib.output_compression_level = -1
; 压缩级别,可用值为 0~9 ,0表示不压缩。值越高效果越好,但CPU占用越多,建议值为1~5。
; 默认值 -1 表示使用zlib内部的默认值(6)。

zlib.output_handler =
; 在打开zlib.output_compression指令的情况下,你只能在这里指定输出处理器。
; 可以使用的处理器有"zlib.inflate"(解压)或"zlib.deflate"(压缩)。
; 如果启用该指令则必须将output_handler指令设为空。


[dbx]
; 一个数据库抽象层,为不同数据库提供了统一的接口。目前支持:
; FrontBase,SQL Server,MySQL,ODBC,PostgreSQL,Sybase-CT,Oracle 8,SQLite

dbx.colnames_case = "unchanged"
; 字段名可以按照"unchanged"或"uppercase","lowercase"方式返回。


[MySQLi]
; MySQLi模块只能与4.1.3以上版本的MySQL一起工作。

mysqli.max_links = -1
; 每个进程中允许的最大连接数(持久和非持久)。-1 代表无限制

mysqli.default_port = 3306
; mysqli_connect()连接到MySQL数据库时使用的默认TCP端口。
; 如果没有在这里指定默认值,将按如下顺序寻找:
; (1)$MYSQL_TCP_PORT环境变量
; (2)/etc/services文件中的mysql-tcp项(unix)
; (3)编译时指定的MYSQL_PORT常量
; 注意:Win32下,只使用MYSQL_PORT常量。

mysqli.default_socket =
; mysqli_connect()连接到本机MySQL服务器时所使用的默认套接字名。
; 若未指定则使用内置的MqSQL默认值。

mysqli.default_host =
; mysqli_connect()连接到MySQL数据库时使用的默认主机。安全模式下无效。

mysqli.default_user =
; mysqli_connect()连接到MySQL数据库时使用的默认用户名。安全模式下无效。

mysqli.default_pw =
; mysqli_connect()连接到MySQL数据库时使用的默认密码。安全模式下无效。
; 在配置文件中保存密码是个坏主意,任何使用PHP权限的用户都可以运行
; 'echo cfg_get_var("mysql.default_password")'来显示密码!
; 而且任何对该配置文件有读权限的用户也能看到密码。

mysqli.reconnect = Off
; 是否允许重新连接


[PostgresSQL]
;PostgresSQL模块建议与8.0以上版本一起工作。

pgsql.allow_persistent = On
; 是否允许持久连接

pgsql.max_persistent = -1
; 每个进程中允许的最大持久连接数。-1 代表无限制。

pgsql.max_links = -1
; 每个进程中允许的最大连接数(持久和非持久)。-1 代表无限制。

pgsql.auto_reset_persistent = Off
; 自动复位在pg_pconnect()上中断了的持久连接,检测需要一些额外开销。

pgsql.ignore_notice = Off
; 是否忽略PostgreSQL后端的提醒消息。
; 记录后端的提醒消息需要一些很小的额外开销。

pgsql.log_notice = Off
; 是否在日志中记录PostgreSQL后端的提醒消息。
; 仅在pgsql.ignore_notice=Off时,才可以记录。