php.ini – 配置文件详解
php.ini – 配置文件详解
这里主要解释一下PHP.ini的一些配置解释!
[root@taokey ~]# grep -v “;” /application/php/lib/php.ini
[PHP]
engine = On ——→ 是否启用PHP解析引擎
short_open_tag = Off ——→ 是否使用简介标志
asp_tags = Off ——→ 不允许asp类标志
precision = 14 ——→ 浮点型数据显示的有效期
y2k_compliance = On
####是否强制打开2000年适应(可能在非Y2K适应的浏览器中导致问题)。
output_buffering = 4096 ——→ 输出缓冲区大小(字节)。建议值为4096~8192。
zlib.output_compression = Off ——→ 是否开启zlib输出压缩
implicit_flush = Off ——→ 是否要求PHP输出层在每个输出块之后自动刷新数据
这等效于在每个 print()、echo()、HTML块 之后自动调用flush()函数。打开这个选项对程序执行的性能有严重的影响,通常只推荐在调试时使用。在CLI SAPI的执行模式下,该指令默认为 On 。
unserialize_callback_func =
serialize_precision = 17
####将浮点型和双精度型数据序列化存储时的精度(有效位数)。默认值能够确保浮点型数据被解序列化程序解码时不会丢失数据。
allow_call_time_pass_reference = Off
####是否强迫在函数调用时按引用传递参数(每次使用此特性都会收到一条警告)。
; php反对这种做法,并在将来的版本里不再支持,因为它影响到了代码的整洁。
; 鼓励的方法是在函数声明里明确指定哪些参数按引用传递。
; 我们鼓励你关闭这一选项,以保证你的脚本在将来版本的语言里仍能正常工作。
safe_mode = Off ——→ 安全模式
safe_mode_gid = Off
safe_mode_include_dir =
#在安全模式下,该组目录和其子目录下的文件被包含时,将跳过UID/GID检查。换句话说,如果此处的值为空,任何UID/GID不符合的文件都不允许被包含。这里设置的目录必须已经存在于include_path指令中或者用完整路径来包含。多个目录之间用冒号(Win下为分号)隔开。指定的限制实际上是一个前缀,而非一个目录名。
safe_mode_exec_dir = ——→ 安全模式下的可执行文件存放目录
safe_mode_allowed_env_vars = PHP_
####在安全模式下,用户仅可以更改的环境变量的前缀列表(逗号分隔)。允许用户设置某些环境变量,可能会导致潜在的安全漏洞。注意: 如果这一参数值为空,PHP将允许用户更改任意环境变量。
safe_mode_protected_env_vars = LD_LIBRARY_PATH
####在安全模式下,用户不能更改的环境变量列表(逗号分隔)。这些变量即使在safe_mode_allowed_env_vars指令设置为允许的情况下也会得到保护。
disable_functions = ——→ 该指令接受一个用逗号分隔的函数名列表,以禁用特定的函数。
disable_classes = ——→ 该指令接受一个用逗号分隔的类名列表,以禁用特定的类
zend.enable_gc = On ——→
expose_php = On ——→ 在网页头部显示php信息
max_execution_time = 30 ——→ 每个脚本最大执行秒数
max_input_time = 60 ——→ 每个脚本用来分析请求数据的最大限制时间
memory_limit = 128M ——→ 每个脚本执行的内存限制
error_reporting = E_ALL & ~E_DEPRECATED
display_errors = Off ——→ #显示失误(该关闭,换成日志显示)
display_startup_errors = Off ——→ #显示启动失误
log_errors = On ——→ 生成错误错误日志显示
log_errors_max_len = 1024 ——→ 设定error_log最大长度
ignore_repeated_errors = Off ——→ 打开后,不记录重复的信息
ignore_repeated_source = Off ——→ 打开后当记录重复的信息时忽略来源
report_memleaks = On ——→ 报告内存泄露,仅在debug编译模式下有效
track_errors = Off ——→ ####在$php_errormsg中保存最后一次错误/警告消息 (逻辑值).永远不要再生产环境中使用此特性:html_errors 会显示php错误所在的html标签
html_errors = Off ——→ 是否开启静态网页错误提示
variables_order = “GPCS” ——→ ####此指令描述了PHP注册GET, POST, Cookie, 环境 和 内置变量的顺序 (各自使用G, P, C, E 和 S , 一般使用 EGPCS 或 GPC). 注册使用从左往右的顺序, 新的值会覆盖旧的值.
request_order = “GP”
####此指令描述的顺序PHP注册GET,POST和COOKIE变量_REQUEST数组。注册是由左到右,新的值将覆盖旧值。如果这个指令没有设置,variables_order中使用$ _REQUEST内容。请注意,默认分配的php.ini文件中不包含’C’饼干,出于安全方面的考虑。
register_globals = Off ——→ ##是否打开register全局变量
register_long_arrays = Off
####是否注册老形式的输入数组, HTTP_GET_VARS 和相关数组;如果你不使用他们,建议为了提高性能关闭他们.
register_argc_argv = Off
####此指令让PHP确认是否申明 argv&argc 变量 (这些变量会包含GET信息). ;如果你不使用这些变量,为了提升性能应该关闭此选项.
auto_globals_jit = On
####当打开此项, SERVER 和 ENV 变量将在第一次被使用时而不是脚本一开始时创建(运行时);如果这些变量在脚本中没有被使用过, 打开此项会增加一点性能.;为了使此指令有效,PHP指令 register_globals, register_long_arrays,;以及 register_argc_argv 必须被关闭.
post_max_size = 8M ——→ #PHP可以接受的最大的POST数据大小
magic_quotes_gpc = Off ——→ #针对GET/POST/Cookie数据打开Magic quotes.
magic_quotes_runtime = Off
####针对实时产生的数据打开Magic quotes,例如从SQL获取的数据, 从exec()返回的数据等等.
magic_quotes_sybase = Off ##使用 Sybase 风格的 magic quotes (使用”来引导’替代\’).
auto_prepend_file = ——→ #在任何PHP文档之前或之后自动增加文件
auto_append_file =
####两个有趣的变量是auto_prepend_file以及auto_append_file。这些变量指定PHP自动添加到任何PHP文档文件头或文件尾的其他文件。这对于为PHP产生的页面添加页眉或页脚非常有用,可以节省为每个PHP文档添加代码的时间。但需要注意这里的指定文件将会添加到所有的PHP文档中,所以这些变量必须适合单应用程序(single-application)的服务器。所包含的文件要么是PHP脚本,要么是普通的HTML文档。嵌入式PHP代码必须用标准标记括起来。
default_mimetype = “text/html” ——→ #PHP内建默认为text/html
doc_root = ——→ #PHP的”根目录”。仅在非空时有效。
; 如果safe_mode=On,则此目录之外的文件一概被拒绝。 ; 如果编译PHP时没有指定FORCE_REDIRECT,并且在非IIS服务器上以CGI方式运行, ; 则必须设置此指令(参见手册中的安全部分)。 ; 替代方案是使用的cgi.force_redirect指令
user_dir =
####告诉php在使用 /~username 打开脚本时到哪个目录下去找,仅在非空时有效。 也就是在用户目录之下使用PHP文件的基本目录名,例如:”public_html”
enable_dl = Off
####是否允许使用dl()函数。dl()函数仅在将PHP作为apache模块安装时才有效。 禁用dl()函数主要是出于安全考虑,因为它可以绕过open_basedir指令的限制。 在安全模式下始终禁用dl()函数,而不管此处如何设置。
file_uploads = On 是否开启上传功能
upload_max_filesize = 2M #最大可上传文件,2M
max_file_uploads = 20 最大同时可以上传20个文件
allow_url_fopen = On #是否允许打开远程文件
allow_url_include = Off #是否允许include/require远程文件
default_socket_timeout = 60 默认的socket超时时间
[Date] 日期
[filter]
[iconv]
[intl]
[sqlite]
[sqlite3]
[Pcre]
[Pdo]
[Pdo_mysql]
pdo_mysql.cache_size = 2000 ——→ Ped_mysql的缓存大小
pdo_mysql.default_socket= ——→ 默认的socket时间
[Phar]
[Syslog]
define_syslog_variables = Off ——→ 是否定义各种的系统日志变量
[mail function] ——→ 邮件功能
SMTP = localhost ——→ 本地作为邮件服务器
smtp_port = 25 邮件端口号默认是25
mail.add_x_header = On ——→ 是否开启最大的header
[SQL]
sql.safe_mode = Off
####是否使用SQL安全模式。如果打开,指定默认值的数据库连接函数将会使用这些默认值代替支持的参数。对于每个不同数据库的连接函数,其默认值请参考相应的手册页面。
[ODBC]
odbc.allow_persistent = On ——→ 允许或阻止持久连接.
odbc.check_persistent = On ——→ 在重用前检查连接是否可用
odbc.max_persistent = -1 ——→ 持久连接的最大数目,-1意味着没有限制.
odbc.max_links = -1 ——→ 最大连接数(持久 + 非持久).-1意味着没有限制.
odbc.defaultlrl = 4096 ——→ 长字段处理.返回变量的字节数.0 意味着略过.
odbc.defaultbinmode = 1
####二进制数据处理.0意味着略过,1按照实际返回,2转换到字符.;查看odbc_binmode和odbc_longreadlen 的文档来获取针对uodbc.defaultlrl和uodbc.defaultbinmode的解释
[Interbase] ——→ Interbase数据库
ibase.allow_persistent = 1 ——→ 允许或组织持久连接。
ibase.max_persistent = -1 ——→ 持久连接的最大数目,-1意味着没有限制.
ibase.max_links = -1 ——→ 最大连接数(持久 + 非持久).-1意味着没有限制.
ibase.timestampformat = “%Y-%m-%d %H:%M:%S” ——→ 数据库时间记录模式
ibase.dateformat = “%Y-%m-%d”
ibase.timeformat = “%H:%M:%S”
[MySQL]
mysql.allow_local_infile = On ——→ 是否允许本地文件连接数据库
mysql.allow_persistent = On ——→ 允许或禁止 持久连接
mysql.cache_size = 2000 ——→ mysql缓存大小
mysql.max_persistent = -1 ——→ 持久连接的最大数目. -1 意味着没有限制.
mysql.max_links = -1 ——→ 连接的最大数目(持久和非持久)。-1 代表无限制
mysql.default_port =
####mysql_connect() 使用的默认端口,如不设置,mysql_connect()
;将使用变量 $MYSQL_TCP_PORT,或在/etc/services 下的mysql-tcp 条目(unix),
;或在编译是定义的 MYSQL_PORT(按这样的顺序)
;Win32环境,将仅检查MYSQL_PORT。
mysql.default_socket =
####用于本地 MySql 连接的默认的套接字名。为空,使用 MYSQL 内建值
mysql.default_host = ——→ mysql_connect() 默认使用的主机(安全模式下无效)
mysql.default_user = ——→ mysql_connect() 默认使用的用户名(安全模式下无效)
mysql.default_password = ——→ mysql_connect() 默认使用的密码(安全模式下无效
mysql.connect_timeout = 60 ——→ 连接超时时间,默认是60s
mysql.trace_mode = Off
[MySQLi]
mysqli.max_persistent = -1 ——→ 持久连接的最大数目. -1 意味着没有限制.
mysqli.allow_persistent = On ——→ 允许或拒绝之久连接
mysqli.max_links = -1 ——→ 最大连接数. -1 意味着没有限制.
mysqli.cache_size = 2000 ——→ 连接缓存大小
mysqli.default_port = 3306 ——→ 连接端口号
####mysqli_connect()默认的端口号.如果没有设置, mysql_connect() 会使用 $MYSQL_TCP_PORT;或者 位于/etc/services的 mysql-tcp 入口或者编译时定义的MYSQL_PORT 值(按照此顺序查找).;Win32 只会查找MYSQL_PORT值.
mysqli.default_socket =
####对于本地MySQL连接的默认socket名称. 如果为空, 则使用MySQL内建默认值.
mysqli.default_host =
####mysqli_connect()的默认host值(在安全模式中不会生效)
mysqli.default_user =
####mysqli_connect()的默认user值(在安全模式中不会生效).
mysqli.default_pw =
####mysqli_connect() 的默认password值(在安全模式中不会生效).
; 注意在此文件中保存密码一般来说是 *糟糕* 的主义.
; *任何* 使用PHP的用户可以执行 ‘echo get_cfg_var(“mysqli.default_password”)
; 并且获取到此密码! 而且理所当然, 任何有对此文件读权限的用户都可以获取到此密码.
mysqli.reconnect = Off ——→ 允许或阻止持久连接
[mysqlnd]
mysqlnd.collect_statistics = On
mysqlnd.collect_memory_statistics = Off
[OCI8]
[PostgreSQL]
pgsql.allow_persistent = On ——→ 允许或阻止持久连接.
pgsql.auto_reset_persistent = Off
####总是在 pg_pconnect() 时检测断开的持久连接.;自动重置特性会引起一点开销.
pgsql.max_persistent = -1 ——→ 持久连接的最大数目. -1 意味着没有限制.
pgsql.max_links = -1 ——→ 最大连接数 (持久 + 非持久). -1 意味着没有限制
pgsql.ignore_notice = 0 ——→ 是否忽略 PostgreSQL 后端通告消息.;通告消息记录会需要一点开销.
pgsql.log_notice = 0
####是否记录 PostgreSQL 后端通告消息.;除非 pgsql.ignore_notice=0, 否则模块无法记录通告消息。
[Sybase-CT]
sybct.allow_persistent = On ——→ 允许或阻止持久连接.
sybct.max_persistent = -1 ——→ 持久连接的最大数目. -1 意味着没有限制.
sybct.max_links = -1 ——→ 最大连接数 (持久 + 非持久). -1 意味着没有限制.
sybct.min_server_severity = 10 ——→ 显示出的错误最小严重程度.
sybct.min_client_severity = 10 ——→ 显示出的消息最小严重程度
[bcmath]
bcmath.scale = 0 ——→ #用于所有bcmath函数的10十进制数数字的个数
[browscap]
[Session]
session.save_handler = files ——→ 用于保存/取回数据的控制方式
session.use_cookies = 1 ——→ 是否使用cookies
session.use_only_cookies = 1
####这个选项允许管理员去保护那些在URL中传送session id的用户免于被攻击;默认是0.
session.name = PHPSESSID ——→ session 的名字(同时作为cookie的名称
session.auto_start = 0 ——→ 在请求开始时初始化 session
session.cookie_lifetime = 0 ——→ cookie的存活秒数,如果为0,则是直到浏览器重新启动
session.cookie_path = / ——→ cookie的有效路径
session.cookie_domain = ——→ cookie的有效域名
session.cookie_httponly =
####是否将httpOnly标志增加到cookie上,
增加后则cookie无法被浏览器的脚本语言(例如JavaScript)存取.
session.serialize_handler = php 用于序列化数据的处理器. php是标准的PHP序列化器.
session.gc_probability = 1
####; 定义’垃圾回收’进程在每次session初始化时开始的比例.
; 比例由 gc_probability/gc_divisor来得出,
; 例如. 1/100 意味着在每次请求时有1%的机会启动’垃圾回收’进程.
session.gc_divisor = 1000
session.gc_maxlifetime = 1440
####在这里数字所指的秒数后,保存的数据将被视为’碎片(garbage)’并由gc进程清理掉。
session.bug_compat_42 = Off
####PHP 4.2 和更早版本有一个未公开的 特性/bug , 此特性允许你在全局初始化一个session变量,即便 register_globals已经被关闭.;如果此特性被使用,PHP 4.3 和更早版本会警告你.;你可以关闭此特性并且隔离此警告. 这时候,如果打开bug_compat_42,那此警告只是被显示出来.
session.bug_compat_warn = Off
session.referer_check =
####检查HTTP Referer来防止带有id的外部URL.;HTTP_REFERER 必须包含从session来的这个字段才会被认为是合法的.
session.entropy_length = 0 ——→ 从此文件读取多少字节
session.cache_limiter = nocache
####设置为{nocache,private,public,}来决定HTTP缓冲的类型;留空则防止发送anti-caching头.
session.cache_expire = 180 ——→ 文档在n分钟之后过期.
session.use_trans_sid = 0
####trans sid 支持默认关闭.
;使用 trans sid 可能让你的用户承担安全风险.;使用此项必须小心.; – 用户也许通过email/irc/其他途径发送包含有效的session ID的URL给其他人.; – 包含有效session ID的URL可能被存放在容易被公共存取的电脑上.; – 用户可能通过在浏览器历史记录或者收藏夹里面的包含相同的session ID的URL来访问你的站点.
session.hash_function = 0 ——→ 选择hash方法;0:MD5(128 bits);1:SHA-1(160 bits)
session.hash_bits_per_character = 5
; 当转换二进制hash数据到可读形式时,每个字符保存时有几位.
; 4 bits: 0-9, a-f; 5 bits: 0-9, a-v; 6 bits: 0-9, a-z, A-Z, “-“, “,”
url_rewriter.tags = “a=href,area=href,frame=src,input=src,form=fakeentry”
URL rewriter会在已经定义的一组HTML标签内查找URL.; form/fieldset 是特殊字符; 如果你在这里包含他们, rewriter会增加一个包含信息的隐藏字段否则就是在URL中附加信息.; 如果你你想遵守XHTML, 删除form的入口.; 注意 所有合法的入口都需要一个”=”符号, 甚至是没有任何值的.
[MSSQL]
mssql.allow_persistent = On ——→ 允许或阻止持久连接
mssql.max_persistent = -1 ——→ 持久连接的最大数目. -1 意味着没有限制.
mssql.max_links = -1 ——→ 最大连接数 (持久 + 非持久). -1 意味着没有限制.
mssql.min_error_severity = 10 ——→ 显示出的错误最小严重程度.
mssql.min_message_severity = 10 ——→ 显示出的消息最小严重程度
mssql.compatability_mode = Off ——→ PHP 3.0 老版本的兼容模式.
mssql.secure_connection = Off ——→ 当连接到服务器时使用NT验证
[Assertion]
[COM]
[mbstring]
[gd]
[exif]
[Tidy]
当调用tidy时,默认指向tidy配置文件的路径 tidy是否自动清除和修复输出?; 警告: 不要在你产生非html内容时使用此项,例如产生动态图片时
tidy.clean_output = Off 清除功能是否开启,本文中为关闭状态
[soap]
soap.wsdl_cache_enabled=1 ——→ 打开或关闭WSDL缓冲特性.
soap.wsdl_cache_dir=”/tmp” ——→ 设置SOAP扩展存放缓冲文件的目录
soap.wsdl_cache_ttl=86400——→(存活时间)设置当缓冲文件被用来替换原有缓冲文件的秒数
soap.wsdl_cache_limit = 5 ——→ 最小缓存
[sysvshm]
[ldap]
ldap.max_links = -1
[mcrypt]
[dba]
[xsl]
本文固定链接: http://www.seo0395.com/archives-185
转载请注明: 潘工 2015年08月31日 于 潘军伟博客 发表
AD:真正免费,域名+虚机+企业邮箱=0元

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

了解Python程式設計的入門程式碼範例Python是一種簡單易學,功能強大的程式語言。對於初學者來說,了解Python程式設計的入門級程式碼範例是非常重要的。本文將為您提供一些具體的程式碼範例,幫助您快速入門。列印HelloWorldprint("HelloWorld")這是Python中最簡單的程式碼範例。 print()函數用於將指定的內容輸出

PHP變數儲存程式運行期間的值,對於建立動態且互動的WEB應用程式至關重要。本文將深入探討php變量,並透過10個真實的範例展示它們的實際應用。 1.儲存使用者輸入$username=$_POST["username"];$passWord=$_POST["password"];此範例從表單提交中提取使用者名稱和密碼,並將其儲存在變數中以供進一步處理。 2.設定配置值$database_host="localhost";$database_username="username";$database_pa

標題:從入門到精通:Go語言中常用資料結構的程式碼實作資料結構在程式設計中起著至關重要的作用,它是程式設計的基礎。在Go語言中,有許多常用的資料結構,掌握這些資料結構的實作方式對於成為優秀的程式設計師至關重要。本文將介紹Go語言中常用的資料結構,並給出對應的程式碼範例,幫助讀者從入門到精通這些資料結構。 1.數組(Array)數組是一種基本的資料結構,是一組相同類型

Java冒泡排序最簡單的程式碼範例冒泡排序是一種常見的排序演算法,它的基本想法是透過相鄰元素的比較和交換來將待排序序列逐步調整為有序序列。以下是一個簡單的Java程式碼範例,示範如何實作冒泡排序:publicclassBubbleSort{publicstaticvoidbubbleSort(int[]arr){int

《Go語言程式設計實例:Web開發中的程式碼範例》隨著網路的快速發展,Web開發已成為各行業中不可或缺的一部分。作為一門功能強大且效能優越的程式語言,Go語言在Web開發中越來越受到開發者們的青睞。本文將透過具體的程式碼範例,介紹如何利用Go語言進行Web開發,讓讀者更能理解並運用Go語言來建立自己的Web應用。 1.簡單的HTTP伺服器首先,讓我們從一個

Java選擇排序法程式碼編寫指南及範例選擇排序是一種簡單直觀的排序演算法,其想法是每次從未排序的元素中選擇最小(或最大)的元素進行交換,直到所有元素排序完成。本文將提供選擇排序的程式碼編寫指南,並附上具體的Java範例程式碼。演算法原理選擇排序的基本原理是將待排序數組分為已排序和未排序兩部分,每次從未排序部分選擇最小(或最大)的元素,將其放到已排序部分的末尾。重複上述

華為雲端邊緣運算對接指南:Java程式碼範例快速實現介面隨著物聯網技術的快速發展和邊緣運算的興起,越來越多的企業開始關注邊緣運算的應用。華為雲端提供了邊緣運算服務,為企業提供了高可靠的運算資源和便利的開發環境,使得邊緣運算應用更容易實現。本文將介紹如何透過Java程式碼快速實現華為雲端邊緣運算的介面。首先,我們需要準備好開發環境。確保你已經安裝了Java開發工具包(

如何使用PHP編寫庫存管理系統中的庫存分倉管理功能碼庫存管理是許多企業中不可或缺的一部分。對於擁有多個倉庫的企業來說,庫存分倉管理功能尤其重要。透過合理管理和追蹤庫存,企業可以實現不同倉庫之間的庫存調撥,優化營運成本,改善協同效率。本文將介紹如何使用PHP編寫庫存分倉管理功能的程式碼,並為您提供相關的程式碼範例。一、建立資料庫在開始編寫庫存分倉管理功能的程式碼之
