• 技术文章 >后端开发 >php教程

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

    2016-06-13 13:06:03原创432
    适用于 php-5.2 的 php.ini 中文版(四)

    [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=指定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脚本。
    ; 如果你想针对单独的脚本文件设定其编码,可以在该脚本的开头使用
    ; 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"
    ; 只有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地址)
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:unicode nbsp php CGI encoding

    相关文章推荐

    • 浅析PHP中的类自动加载相关文件• 系统讲解PHP缓存技术• 一文理解和实现现代PHP框架里的IOC容器• 深入了解PHP:用gdb调试源码• 实例介绍:使用Docker快速搭建多版本PHP开发环境
    1/1

    PHP中文网