详解php.ini文件

详解php.ini文件

2023年7月3日发(作者:)

详解⽂件中⽂注释版; PHP还是⼀个不断发展的⼯具,其功能还在不断地删减; ⽽的设置更改可以反映出相当的变化,; 在使⽤新的PHP版本前,研究⼀下会有好处的;;;;;;;;;;;;;;;;;;;; 关于这个⽂件;;;;;;;;;;;;;;;;;;;;; 这个⽂件控制了PHP许多⽅⾯的观点。为了让PHP读取这个⽂件,它必须被命名为; ''。PHP 将在这些地⽅依次查找该⽂件:当前⼯作⽬录;环境变量PHPRC ; 指明的路径;编译时指定的路径。; 在windows下,编译时的路径是Windows安装⽬录。; 在命令⾏模式下,的查找路径可以⽤-c 参数替代。; 该⽂件的语法⾮常简单。空⽩字符和⽤分号';'开始的⾏被简单地忽略(就象你可能; 猜到的⼀样)。章节标题(例如: [Foo])也被简单地忽略,即使将来它们可能; 有某种的意义。;; 指⽰被指定使⽤如下语法:; 指⽰标识符= 值; directive = value; 指⽰标识符是*⼤⼩写敏感的* - foo=bar 不同于FOO = bar。;; 值可以是⼀个字符串,⼀个数字,⼀个PHP 常量(如:E_ALL or M_PI), INI 常量中的; ⼀个(On, Off, True, False, Yes, No and None) ,或是⼀个表达式; (如: E_ALL & ~E_NOTICE), 或是⽤引号括起来的字符串("foo").;; INI ⽂件的表达式被限制于位运算符和括号。; | bitwise OR; & bitwise AND; ~ bitwise NOT; ! boolean NOT;; 布尔标志可⽤1, On, True or Yes 这些值置于开的状态。; 它们可⽤0, Off, False or No 这些值置于关的状态。;; ⼀个空字符串/doc/ 可以⽤在等号后不写任何东西表⽰,或者⽤None 关键字:;; foo = ; 将foo置为空字符串; foo = none ; 将foo置为空字符串; foo = "none" ; 将foo置为字符串'none';; 如果你值设置中/doc/

使⽤常量,⽽这些常量属于动态调⼊的扩展库(不是PHP 的扩展,就是; Zend 的扩展),你仅可以调⼊这些扩展的⾏*之后*使⽤这些常量。;; 所?*?-dist ⽂件⾥设定的值与内建的默认值相同(这是说,如果; 没被使⽤或者你删/doc/

掉了这些⾏,默认值与之相同)。;;;;;;;;;;;;;;;;;;;;; 语⾔选项;;;;;;;;;;;;;;;;;;;;;engine = On; 使PHP scripting language engine(PHP 脚本语⾔引擎)在Apache下有效。short_open_tag = On; 允许 tags 将被识别。asp_tags = Off; 允许ASP-style tagsprecision = 14; 浮点类型数显/doc/

⽰时的有效位数y2k_compliance = Off; 是否打开2000年适应(可能在⾮Y2K适应的浏览器中导致问题)output_buffering = Off; 输出缓存允许你甚⾄在输出正⽂内容之后发送header(标头,包括cookies)⾏; 其代价是输出层/doc/

减慢⼀点点速度。你可以使⽤输出缓存在运⾏时打开输出缓存,; 或者在这⾥将指⽰设为On ⽽使得所有⽂件的输出缓存打开。output_handler = ; 你可以重定向你的脚本的所有输出到⼀个函数,; 那样做可能对处理或以⽇志记录它有⽤。; 例如若你将这个output_handler 设为"ob_gzhandler",; 则输出会被透明地为⽀持gzip或deflate编码的浏览器压缩。; 设⼀个输出处理/doc/

器⾃动地打开输出缓冲。implicit_flush = Off; 强制flush(刷新)让PHP 告诉输出层在每个输出块之后⾃动刷新⾃⾝数据。; 这等效于在每个print() 或echo() 调⽤和每个HTML 块后调⽤flush()函数。; 打开这/doc/

项设置会导致严重的运⾏时冲突,建议仅在debug过程中打开。allow_call_time_pass_reference = On; 是否让强迫函数调⽤时按引⽤传递参数。这⼀⽅法遭到抗议,; 并可能在将来版本的PHP/Zend⾥不再⽀持。; 受到⿎励的指定哪些参数按引⽤传递的⽅法是在函数声明⾥。; 你被⿎励尝试关闭这⼀选项并确认你的脚本仍能正常⼯作,以保证在将来版本的语⾔⾥; 它们仍能/doc/

⼯作。(你将在每次使⽤该特点时得到⼀个警告,⽽参数将按值⽽不是按引⽤; 传递)。; Safe Mode 安全模式safe_mode = Offsafe_mode_exec_dir =safe_mode_allowed_env_vars = PHP_; ?Setting certain environment variables; ?may be a potential security breach.; 该指⽰包含⽤逗号分隔的前缀列表。安全模式中,⽤户仅可以替换; 以在此列出的前缀开头的环境变量的值。; 默认地,⽤户将/doc/

仅能设定以PHP_开头的环境变量,(如: PHP_FOO=BAR)。; 注意: 如果这⼀指⽰为空,PHP 将让⽤户更改任意环境变量!safe_mode_protected_env_vars = LD_LIBRARY_PATH; 这条指⽰包含⼀个⽤逗号分隔的环境变量列表,那是最终⽤户将不能⽤putenv () 更改的。; 这些变量/doc/

甚⾄在safe_mode_allowed_env_vars 设置为允许的情况下得到保护。disable_functions =; 这条指⽰让你可以为了安全的原因让特定函数失效。; 它接受⼀个⽤逗号分隔的函数名列表。; 这条指⽰*不受* 安全模式是否打开的影响。; 语法⾼/doc/

亮模式的⾊彩。; 只要能被 = #DD0000/doc/

ment = #d = # = #t = # = #000000; Misc 杂项expose_php = Off; 决定PHP 是否标⽰它装在服务器上的事实(例如:加在它—PHP—给Web服务; 发送的信号上)。; (我个⼈的意见,在出现什么power-by的header的时候,把这关掉。); 它不会有安全上的威胁, 但它使检查你的服务器上是否安装了PHP成为了可能。;;;;;;;;;;;;;;;;;;;; Resource Limits ;;;;;;;;;;;;;;;;;;;;max_execution_time = 30 ; 每个脚本的最⼤执⾏时间, 按秒计memory_limit = 8388608 ; ⼀个脚本最⼤可使⽤的内存总量(这⾥是8MB);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Error handling and logging ;; 出错控制和登记; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 错误报告是按位的。或者将数字加起来得到想要的错误报告等级。; E_ALL - 所有的错误和警告; E_ERROR - 致命**运⾏时错; E_WARNING - 运⾏时警告(⾮致命**错); E_PARSE - 编译时解析错误; E_NOTICE - 运⾏时提醒(这些经常是是你的代码的bug引起的,;也可能是有意的⾏为造成的。(如:基于未初始化的变量⾃动初始化为⼀个;空字符串的事实⽽使⽤⼀个未初始化的变量); E_CORE_ERROR - 发⽣于PHP启动时初始化过程中的致命错误; E_CORE_WARNING - 发⽣于PHP启动时初始化过程中的警告(⾮致命**错); E_COMPILE_ERROR - 编译时致命**错; E_COMPILE_WARNING - 编译时警告(⾮致命**错); E_USER_ERROR - ⽤户产⽣的出错消息; E_USER_WARNING - ⽤户产⽣的警告消息; E_USER_NOTICE - ⽤户产⽣的提醒消息; 例⼦:; error_reporting = E_ALL & ~E_NOTICE ; 显⽰所有的错误,除了提醒; error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR ; 仅显⽰错误error_reporting = E_ALL & ~E_NOTICE ; 显⽰所有的错误,除了提醒display_errors = On ; 显⽰出错误信息(作为输出的⼀部分); 在最终发布的web站点上,强烈建议你关掉这个特**,并使⽤; 错误⽇志代替(参看下⾯)。; 在最终发布的web站点继续让display_errors 有效可能; 暴露⼀些有关安全的信息,例如你的web服务上的⽂件路径、; 你的数据库规划或别的信息。display_startup_errors = Off ; 甚⾄当display_erroes打开了,发⽣于PHP的启动的步骤中; 的错误也不会被显⽰。; 强烈建议保持使display_startup_errors 关闭,; 除了在改错过程中。log_errors = Off ; 在⽇志⽂件⾥记录错误(服务器指定的⽇志,stderr标准错误输出,或error_log(下⾯的)); 正如上⾯说明的那样,强烈建议你在最终发布的web站点以⽇志记录错误; 取代直接错误输出。track_errors = Off ; 保存最近⼀个错误/警告消息于变量$php_errormsg (boolean);error_prepend_string = "" ; 于错误信息前输出的字符串;error_append_string = "" ; 于错误信息后输出的字符串;error_log = filename ; 记录错误⽇志于指定⽂件;error_log = syslog ; 记录错误⽇志于系统⽇志syslog (NT 下的事件⽇志, Windows 95下⽆效)warn_plus_overloading = Off ; 当将‘+’⽤于字符串时警告;;;;;;;;;;;;;;;;;; Data Handling ;;;;;;;;;;;;;;;;;;variables_order = "EGPCS" ; 这条指⽰描述了PHP 记录; GET, POST, Cookie, Environment and Built-in 这些变量的顺序。; (以G, P, C, E & S 代表,通常以EGPCS 或GPC 的⽅式引⽤)。; 按从左到右记录,新值取代旧值。register_globals = On ; 是否将这些EGPCS 变量注册为全局变量。; 若你不想让⽤户数据不在全局范围内混乱的话,你可能想关闭它。; 这和track_vars 连起来⽤更有意义—这样你可以通过; $HTTP_*_VARS[] 数组访问所有的GPC变量。register_argc_argv = On ; 这条指⽰告诉PHP 是否声明argv和argc 变量; (注:这⾥argv为数组,argc为变量数); (其中包含⽤GET⽅法传来的数据)。; 若你不想⽤这些变量,你应当关掉它以提⾼**能。track_vars = On ; 使$HTTP_*_VARS[]数组有效,这⾥*在使⽤时⽤; ENV, POST, GET, COOKIE or SERVER替换post_max_size = 8M ; PHP将接受的POST数据最⼤⼤⼩。gpc_order = "GPC" ; 这条指⽰被⼈反对。⽤variables_order 代替。; Magic quotesmagic_quotes_gpc = On ; 在输⼊的GET/POST/Cookie数据⾥使⽤魔术引⽤; (原⽂就这样,呵呵,所谓magic quotes 应该是指⽤转义符加在引⽤**的控制字符上,如'....)magic_quotes_runtime= Off ; 对运⾏时产⽣的数据使⽤魔术引⽤,; 例如:⽤SQL查询得到的数据,⽤exec()函数得到的数据,等等magic_quotes_sybase = Off ; 采⽤Sybase形式的魔术引⽤(⽤'' 脱出' ⽽不⽤'); ⾃动在PHP ⽂档之前和之后添加⽂件auto_prepend_file =auto_append_file =; 象4.04b4⼀样,PHP 默认地总是在“Content-type:”头标输出⼀个字符的编码⽅式。; 让输出字符集失效,只要设置为空。; PHP 的内建默认值是text/htmldefault_mimetype = "text/html";default_charset = "iso-8859-1";;;;;;;;;;;;;;;;;;;;;;;;;; Paths and Directories ; ;;;;;;;;;;;;;;;;;;;;;;;;;include_path = ; include 路径设置,UNIX: "/path1:/path2" Windows: "path1;path2"doc_root = ; php 页⾯的根路径,仅在⾮空时有效user_dir = ; 告知php 在使⽤/~username 打开脚本时到哪个⽬录下去找,仅在⾮空时有效;upload_tmp_dir = ; 存放⽤HTTP协议上载的⽂件的临时⽬录(在没指定时使⽤系统默认的)upload_max_filesize = 2097152 ; ⽂件上载默认地限制为2 Megextension_dir = c:php ; 存放可加载的扩充库(模块)的⽬录enable_dl = On ; 是否使dl()有效。; 在多线程的服务器上dl()函数*不能*很好地⼯作,; 例如IIS or Zeus,并在其上默认为禁⽌;;;;;;;;;;;;;;;;; File Uploads ;;;;;;;;;;;;;;;;;file_uploads = On ; 是否允许HTTP⽅式⽂件上载;upload_tmp_dir = ; ⽤于HTTP上载的⽂件的临时⽬录(未指定则使⽤系统默认)upload_max_filesize = 2M ; 上载⽂件的最⼤许可⼤⼩; Fopen wrappers ;;;;;;;;;;;;;;;;;;;allow_url_fopen = On ; 是否允许把URLs当作http:.. 或把⽂件当作ftp:...;;;;;;;;;;;;;;;;;;;;;;; 动态扩展;; Dynamic Extensions ;;;;;;;;;;;;;;;;;;;;;;;; 若你希望⼀个扩展库⾃动加载,⽤下⾯的语法:; extension=ion; 例如,在windows上,; extension=; or 在UNIX下,; extension=; 注意,这只应当是模块的名字,不需要⽬录信息放在⾥⾯。; ⽤上⾯的extension_dir 指⽰指定扩展库的位置。;Windows 扩展;extension=php_ension=php_;extension=php_;extension=php_ension=php_;extension=php_;extension=php_;extension=php_;extension=php_;extension=php_;extension=php_;extension=php_;extension=php_;extension=php_; 注意,MySQL的⽀持现在是内建的,因此,不需要⽤它的dll;;;;;;;;;;;;;;;;;;;; 模块设定;; Module Settings ;;;;;;;;;;;;;;;;;;;;[Syslog]define_syslog_variables = Off ; 是否定义各种的系统⽇志变量; 如:$LOG_PID, $LOG_CRON, 等等。; 关掉它是个提⾼效率的好主意。; 运⾏时,你可以调⽤函数define_syslog_variables(),来定义这些变量[mail function]SMTP = localhost ;仅⽤于win32系统sendmail_from = me@/doc/

;仅⽤于win32系统;sendmail_path = ;仅⽤于unix, 也可⽀持参数(默认的是'sendmail -t -i')[Debugger] = = d = False[Logging]; 这些配置指⽰⽤于⽰例的⽇志记录机制。; 看examples/g 以得到更多的解释; = db;ory = /path/to/log/directory[Java]; = .php_; = c:jdk;y = c:; = .[SQL]_mode = Off[ODBC];t_db = Not yet implemented;t_user = Not yet implemented;t_pw = Not yet _persistent = On ; 允许或禁⽌持久连接_persistent = On ; 在重⽤前检查连接是否还可⽤_persistent = -1 ; 持久连接的最⼤数。-1 代表⽆限制_links = -1 ; 连接的最⼤数⽬(持久和⾮持久)。-1代表⽆限制tlrl = 4096 ; 控制LONG 类型的字段。返回变量的字节数,0 代表通过(?)0 means tbinmode = 1 ; 控制⼆进制数据。0 代表Handling of binary data. 0 means passthru, 1 return as is, 2convert to char; 见有关odbc_binmode 和odbc_longreadlen 的⽂档以得到tlrl 和tbinmode 的解释。[MySQL]_persistent = On ; 允许或禁⽌持久连接_persistent = -1 ; 持久连接的最⼤数。-1 代表⽆限制_links = -1 ; 连接的最⼤数⽬(持久和⾮持久)。-1 代表⽆限制t_port = ; mysql_connect() 使⽤的默认端⼝,如不设置,mysql_connect(); 将使⽤变量$MYSQL_TCP_PORT,或在/etc/services 下的mysql-tcp 条⽬(unix),; 或在编译是定义的MYSQL_PORT(按这样的顺序); Win32环境,将仅检查MYSQL_PORT。t_socket = ; ⽤于本地MySql 连接的默认的套接字名。为空,使⽤MYSQL 内建值t_host = ; mysql_connect() 默认使⽤的主机(安全模式下⽆效)t_user = ; mysql_connect() 默认使⽤的⽤户名(安全模式下⽆效)t_password = ; mysql_connect() 默认使⽤的密码(安全模式下⽆效); 注意,在这个⽂件下保存密码通常是⼀个*坏*主意; *任何*可以使⽤PHP访问的⽤户可以运⾏; 'echo cfg_get_var("t_password")'来显⽰那个密码!; ⽽且当然地,任何有读该⽂件权⼒的⽤户也能看到那个密码。[mSQL]_persistent = On ; 允许或禁⽌持久连接_persistent = -1 ; 持久连接的最⼤数。-1 代表⽆限制_links = -1 ; 连接的最⼤数⽬(持久和⾮持久)。-1 代表⽆限制[PostgresSQL]_persistent = On ; 允许或禁⽌持久连接_persistent = -1 ; 持久连接的最⼤数。-1 代表⽆限制_links = -1 ; 连接的最⼤数⽬(持久和⾮持久)。-1 代表⽆限制[Sybase]_persistent = On ; 允许或禁⽌持久连接_persistent = -1 ; 持久连接的最⼤数。-1 代表⽆限制_links = -1 ; 连接的最⼤数⽬(持久和⾮持久)。-1 代表⽆限制;ace_file = "/usr/sybase/interfaces"_error_severity = 10 ; 显⽰的错误的最低严重**_message_severity = 10 ; 显⽰的消息的最低重要**/doc/

patability_mode = Off ; 与旧版的PHP 3.0 兼容的模式。若打开,这将导致PHP ⾃动地; 把根据结果的Sybase 类型赋予它们,; ⽽不是把它们全当成字符串。; 这个兼容模式不会永远留着,; 因此,将你的代码进⾏需要的修改,; 并将该项关闭。[Sybase-CT]_persistent = On ; 允许或禁⽌持久连接_persistent = -1 ; 持久连接的最⼤数。-1 代表⽆限制_links = -1 ; 连接的最⼤数⽬(持久和⾮持久)。-1 代表⽆限制_server_severity = 10 ; 显⽰的错误的最低严重**_client_severity = 10 ; 显⽰的消息的最低重要**[bcmath] = 0 ; ⽤于所有bcmath函数的10⼗进制数数字的个数number of decimal digits for all bcmath functions[browscap];browscap = extra/wscap = C:[Informix]t_host = ; ifx_connect() 默认使⽤的主机(安全模式下⽆效)t_user = ; ifx_connect() 默认使⽤的⽤户名(安全模式下⽆效)t_password = ; ifx_connect() 默认使⽤的密码(安全模式下⽆效)_persistent = On ; 允许或禁⽌持久连接_persistent = -1 ; 持久连接的最⼤数。-1 代表⽆限制_links = -1 ; 连接的最⼤数⽬(持久和⾮持久)。-1 代表⽆限制varchar = 0 ; 若打开,select 状态符返回⼀个‘text blob’字段的内容,⽽不是它的varchar = 0 ; 若打开,select 状态符返回⼀个‘byte blob’字段的内容,⽽不是它的varchar = 0 ; 追踪从固定长度的字符列⾥剥离的空格。; 可能对Informix SE ⽤户有效。file = 0 ; 若打开,text和byte blobs 的内容被导出到⼀个⽂件; ⽽不是保存到内存。rmat = 0 ; NULL(空)被作为空字段返回,除⾮,这⾥被设为1。; 这种情况下(为1),NULL作为字串NULL返回。[Session]_handler = files ; ⽤于保存/取回数据的控制⽅式_path = C:wintemp ; 在save_handler 设为⽂件时传给控制器的参数,; 这是数据⽂件将保存的路径。/doc/

e_cookies = 1 ; 是否使⽤cookies/doc/

= PHPSESSID; ⽤在cookie⾥的session的名字_start = 0 ; 在请求启动时初始化_lifetime = 0 ; 为按秒记的cookie的保存时间,; 或为0时,直到浏览器被重启_path = / ; cookie的有效路径_domain = ; cookie的有效域ize_handler = php ; ⽤于连接数据的控制器; php是PHP 的标准控制器。_probability = 1 ; 按百分⽐的'garbage collection(碎⽚整理)'进程; 在每次session 初始化的时候开始的可能**。_maxlifetime = 1440 ; 在这⾥数字所指的秒数后,保存的数据将被视为; '碎⽚(garbage)'并由gc 进程清理掉。r_check = ; 检查HTTP引⽤以使额外包含于URLs中的ids⽆效y_length = 0 ; 从⽂件中读取多少字节y_file = ; 指定这⾥建⽴session id; y_length = 16; y_file = /dev/_limiter = nocache ; 设为{nocache,private,public},以决定HTTP 的; 缓存问题_expire = 180 ; ⽂档在n 分钟后过时/doc/

e_trans_sid = 1 ; 使⽤过渡**的sid ⽀持,若编译时许可了; --enable-trans-sidurl_ = "a=href,area=href,frame=src,input=src,form=fakeentry"[MSSQL];extension=php__persistent = On ; 允许或禁⽌持久连接_persistent = -1 ; 持久连接的最⼤数。-1 代表⽆限制_links = -1 ; 连接的最⼤数⽬(持久和⾮持久)。-1 代表⽆限制_error_severity = 10 ; 显⽰的错误的最低严重**_message_severity = 10 ; 显⽰的消息的最低重要**/doc/

patability_mode = Off ; 与旧版的PHP 3.0 兼容的模式。[Assertion];

; = On ; ?assert(expr); active by default;g = On ; issue a PHP warning for each failed assertion.; = Off ; don't bail out by default.;ck = 0 ; user-function to be called if an assertion fails.;_eval = 0 ; eval the expression with current error_reporting(). set totrue if you want error_reporting(0) around the eval().[Ingres II]_persistent = On ; 允许或禁⽌持久连接_persistent = -1 ; 持久连接的最⼤数。-1 代表⽆限制_links = -1 ; 连接的最⼤数⽬(持久和⾮持久)。-1 代表⽆限制t_database = ; 默认database (format : [node_id::]dbname[/srv_class] t_user = ; 默认t_password = ; 默认password[Verisign Payflow Pro]thost = "/doc/

" ; 默认的Signio 服务器tport = 443 ; 连接的默认端⼝ttimeout = 30 ; 按秒计的默认超时时间; ddress = ; 默认的代理的IP 地址(如果需要); ort = ; 默认的代理的端⼝; ogon = ; 默认的代理的登录(logon ⽤户名); assword = ; 默认的代理的密码[Sockets]/doc/

e_system_read = On ; 使⽤系统的read() 函数替代php_read()封装; Local Variables: (局部变量); tab-width: 4; End:

发布者:admin,转转请注明出处:http://www.yc00.com/news/1688379598a129207.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信