Apache 的 php.ini 配置文件详解

   2023-02-09 学习力0
核心提示:[root@taokey ~]# grep -v ";" /application/php/lib/php.ini  [PHP]  engine = On  ——→  是否启用 PHP 解析引擎  short_open_tag = Off    ——→  是否使用简介标志  asp_tags = Off  ——→  不允许 asp 类标志  precision = 14  —

[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  ——→  每个脚本用来分析请求数据的最大限制时间

 

 

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

 

 

果这些变量在脚本中没有被使用过, 打开此项会增加一点性能.;为了使此指令有效,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 代码必须用标准<?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() 函数,而不管此处如何设置。

 

 

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 的解释

 

 

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.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_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 上,

 

 

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_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 会增加一个包含信息的隐藏<input>字段否则就是在 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.max_links = -1

 

[mcrypt] [dba] [xsl]

 
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • php-fpm进程管理的三种模式 phpfpm子进程
    php-fpm进程管理的三种模式 phpfpm子进程
    php-fpm解读-进程管理的三种模式—程序媛大丽标明转载以示尊重 感谢原作者的分享。php-fpm进程管理一共有三种模式:ondemand、static、dynamic,我们可以在同一个fpm的master配置三种模式,看下图1。php-fpm的工作模式和nginx类似,都是一个master,多个worke
    03-08
  • nginx和php-fpm 是使用 tcp socket 还是 unix s
    tcp socket允许通过网络进程之间的通信,也可以通过loopback进行本地进程之间通信。unix socket允许在本地运行的进程之间进行通信。分析从上面的图片可以看,unix socket减少了不必要的tcp开销,而tcp需要经过loopback,还要申请临时端口和tcp相关资源。但是
    03-08
  • [PHP8] 我参加了PHP8工程师认证初学者考试beta考试
    [PHP8] 我参加了PHP8工程师认证初学者考试beta
    前几天,2022/08/05,PHP工程师认证机构PHP8 技术员认证初级考试宣布实施考试将于 2023 年春季开始。和 beta 测试完成于 2022/09/11所以我收到了。一般社团法人BOSS-CON JAPAN(代表理事:Tadashi Yoshimasa,地点:东京都世田谷区,以下简称“BOSS-CON JAPAN
    03-08
  • 将 PHP Insights 放入旧版 PJ 不是很好吗?谈论
    将 PHP Insights 放入旧版 PJ 不是很好吗?谈论
    介绍在最近的PHP系统开发中,感觉故事在理所当然包含静态分析工具的前提下进行。我的周围现有代码很脏,我很久以前安装了工具,但几乎没有检查已经观察到许多这样的案例。 (这是小说。而不是像 0 或 100 这样不允许单行错误的静态分析,一点一点,逐渐我想介
    03-08
  • PHP基于elasticsearch全文搜索引擎的开发 php使
    1.概述:全文搜索属于最常见的需求,开源的 Elasticsearch (以下简称 Elastic)是目前全文搜索引擎的首选。Elastic 的底层是开源库 Lucene。但是,你没法直接用 Lucene,必须自己写代码去调用它的接口。Elastic 是 Lucene 的封装,提供了 REST API 的操作接
    02-09
  • php视图操作
    一、视图的基本介绍         视图是虚拟的表。与包含数据的表不一样,视图只包含使用时动态检索数据的查询。        使用视图需要MySQL5及以后的版本支持。        下面是视图的一些常见应用:        重用SQL语句;        简化复杂的S
    02-09
  • php中图像处理的常用函数 php图形图像处理技术
    php中图像处理的常用函数 php图形图像处理技术
    1.imagecreate()函数imagecreate()函数是基于一个调色板的画布。?php $im = imagecreate(200,80);                //创建一个宽200,高80的画布。$white = imagecolorallocate($im,225,35,180);     //设置画布的背景颜色imagegif($im);
    02-09
  • PHP安全之webshell和后门检测
    PHP安全之webshell和后门检测
    基于PHP的应用面临着各种各样的攻击:XSS:对PHP的Web应用而言,跨站脚本是一个易受攻击的点。攻击者可以利用它盗取用户信息。你可以配置Apache,或是写更安全的PHP代码(验证所有用户输入)来防范XSS攻击SQL注入:这是PHP应用中,数据库层的易受攻击点。防范
    02-09
  • php使用时间戳保存时间的意义 PHP获取时间戳
    时间戳记录的是格林尼治时间,使用date格式化的时候会根据你程序设置的不同时区显示不同的时间。如果使用具体时间,则还需要进行多一步转换。
    02-09
  • PHP 获取提交表单数据方法
    PHP $_GET 和 $_POST变量是用来获取表单中的信息的,比如用户输入的信息。PHP表单操作在我们处理HTML表单和PHP表单时,我们要记住的重要一点是:HTML页面中的任何一个表单元素都可以自动的用于PHP脚本:表单举例: htmlbodyform action="welcome.php" method
    02-09
点击排行