PHP--常用配置项

一、简介

PHP的配置项可以在配置文件php.ini中配置,也可以在脚本中使用ini_set()函数临时配置。

二、常用配置项

1、错误信息相关配置

1)display_errors

设定PHP是否将任何错误信息包含在返回给Web服务器的数据流中。(PHP将任何由error_reporting所定义的错误信息作为错误数据流返回给Web服务器)

如:display_errors = On

2)error_reporting

设置PHP的报错级别。

报错级别参数列表:

E_ALL:所有的错误和警告(不包括 E_STRICT)

E_ERROR:致命性的运行时错误

E_WARNING:运行时警告(非致命性错误)

E_PARSE:编译时解析错误

E_NOTICE:运行时提醒(这些经常是你代码中的bug引起的,也可能是有意的行为造成的。)

E_STRICT:编码标准化警告,允许PHP建议如何修改代码以确保最佳的互操作性向前兼容性。

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   ; 除提示外,显示所有错误

3)log_errors

PHP错误报告日志功能开关。

如:log_errors = On

4)error_log

PHP错误报告日志文件路径。

如:error_log = "D:\www\php\php_errors.log"

5)display_startup_errors

是否打印php启动时产生的错误。

如:display_startup_errors = On

6)track_errors

保存最近一个错误/警告消息于变量

php_errormsg这个变量只在错误发生的作用域内可用,并且要求track_errors是开启的。

7)report_memleaks

设置是否报告内存泄露信息。这个参数只在调试编译中起作用,并且必须在error_reporting中包含E_WARNING。

8)error_prepend_string

错误信息之前输出的内容。

如:error_prepend_string = "<span style=‘color: #ff0000‘>"

9)error_append_string

错误信息之后输出的内容。

如:error_append_string = "</span>"

2、资源限制相关配置

1)post_max_size

POST方法提交数据的最大大小限制。

允许的POST数据最大字节长度。此设定也影响到文件上传。如果POST数据超出限制,那么$_POST和$_FILES将会为空。要上传大文件,该值必须大于upload_max_filesize指令的值。如果启用了内存限制,那么该值应当小于memory_limit指令的值。

如:post_max_size = 8M

若PHP程序需要上传大型数据例如照片和视频文件,则应提高upload_max_filesize和post_max_size的值

2)memory_limit

PHP进程能够占用的最大内存,单位是M,默认值是128M。

如:memory_limit = 128M

3)max_execution_time

设定任何脚本所能够运行的最长时间,默认值是30秒。

如:max_execution_time = 30

4)max_input_nesting_level

设置输入变量的嵌套深度(例如

_POST、$_COOKIE等)。

如:max_input_nesting_level = 64

5)max_input_vars

设置输入变量的最大数量(限制分别应用于

_POST、$_COOKIE)。

如:max_input_vars = 1000

6)max_input_time

设置每个脚本接收POST、GET及PUT等方式输入数据的最大时间限制。

如:max_input_time = 60

7)default_socket_timeout

设置socket超时时间。Socket流从创建到传输再到关闭整个过程必须要在这个参数设置的时间内完成,如果不能完成,PHP将会自动结束这个socket并返回一个警告。例如:使用file_get_contents()函数获取文件内容的时间会受到限制。

如:default_socket_timeout = 60

3、文件上传相关配置

1)file_uploads

是否允许HTTP文件上传。

如:file_uploads = On

2)upload_max_filesize

允许上传的文件的最大尺寸。

如:upload_max_filesize = 2M

3)max_file_uploads

一个请求允许上传的最大文件数量限制。

如:max_file_uploads = 20

4)upload_tmp_dir

文件上传时存放文件的临时目录(必须是PHP进程用户可写的目录)。

如:upload_tmp_dir = "D:/wamp/phpfileuploadtmp"

4、Session相关配置

1)session.save_path

设置session文件存放的位置(文件夹应该是已经存在的)。

如:session.save_path = "D:/www/phpsessiontmp"

2)session.save_handler

设置session数据的存取方式。默认以文件方式存取。

如:session.save_handler = files

3)session.use_cookies

是否使用cookies在客户端保存会话sessionid,默认为采用cookies。

如:session.use_cookies = 1

4)session.use_only_cookies

是否仅仅使用cookie在客户端保存会话sessionid,这个选项可以使管理员禁止用户通过URL来传递sessionid,默认为0,如果禁用的话,客户端如果禁用cookie将使session无法工作。

如:session.use_only_cookies = 1

5)session.name

设置session名称。

如:session.name = PHPSESSID

6)session.auto_start

是否自动启动session,默认不启动。若不自动启动,每个PHP脚本头部都需要通过session_start()函数来启动session。

如:session.auto_start = 0

7)session.cookie_lifetime

传递sessionid的cookie有效期,0表示仅在浏览器打开期间有效。

如:session.cookie_lifetime = 0

8) session.gc_probability与session.gc_divisor

定义每次初始化会话时,启动垃圾回收程序的概率。

计算公式:session.gc_probability / session.gc_divisor。对会话页面访问越频繁,概率就应当越小。

如:session.gc_probability = 1、session.gc_divisor = 1000

9)session.gc_maxlifetime

设定保存的session文件生存期,超过此参数设定秒数后,保存的数据将被视为’垃圾’并由垃圾回收程序清理。如果你在session.save_path选项中设定使用子目录来存储session数据文件,垃圾回收程序不会自动启动,你必须使用自己编写的shell脚本、cron项或者其他办法来执行垃圾搜集。

如:session.gc_maxlifetime = 1440

10) session.use_trans_sid

设置当客户端禁用Cookie时,是否将sessionid以参数的形式自动附加到URL末尾。

如:session.use_trans_sid = 1

注意:要配合session.use_only_cookies=0配置使用,否则无效

5、安全相关配置

1)register_globals

PHP在进程启动时,会根据register_globals的设置,判断是否将$_GET、$_POST、$_COOKIE、$_ENV、$_SERVER、$REQUEST等数组变量里的内容自动注册为全局变量。(注:Removed in PHP 5.4.0.)

建议关闭该配置项,开启会增加安全漏洞的数量,并隐藏了数据的来源。如果必须要开发一个在register_globals开启的环境中布署的应用,必须要让所有变量在使用前进行初始化,当register_globals开启时,任何使用未初始化变量的行为都意味着安全漏洞。

2)allow_url_fopen

是否允许打开远程文件。(出于安全性考虑,此选项只能在 php.ini 中设置。)

本选项激活了 URL 形式的 fopen 封装协议使得可以访问 URL 对象例如文件。默认的封装协议提供用 ftp 和 http协议来访问远程文件,一些扩展库例如 zlib 可能会注册更多的封装协议。

3)allow_url_include

此选项允许有以下功能使用URL识别的fopen封装:包括,include,include_once,require,require_once。此设置要求allow_url_fopen选项要开启。

4)safe_mode

是否启用安全模式。

打开时,PHP将检查当前脚本的拥有者是否和被操作的文件的拥有者相同,相同则允许操作,不同则拒绝操作。开启安全模式的前提是你的目录文件权限已完全分配正确。开启该项会减慢程序执行效率。

6、语言相关配置

1)engine

设置PHP引擎是否可用,默认值为On,若设置为Off则无法使用PHP。

2)short_open_tag

是否允许PHP脚本使用短开放标记,将“<?php ?>”改为“<? ?>”。但这个语法与XML相同,这在某些情况下可能会导致问题,所以一般建议关闭该项。

3)output_buffering

设置是否使用输出缓冲,或者设置输出缓冲区的大小。使用输出缓冲会使性能稍稍下降。

如:output_buffering = 4096

4)zend.enable_gc

设置是否开启PHP的垃圾回收机制。

默认:zend.enable_gc = On

7、其它配置

1)date.timezone

定义日期函数使用的默认时区。

如:date.timezone = Asia/Shanghai

2)extension_dir

存放扩展库(模块)的目录,也就是PHP用来寻找动态连接扩展库的目录。PHP扩展库文件都存放在PHP安装目录下的ext目录下。

如:extension_dir = "D:\www\bin\php7.0.9\ext"

3)extension

对于每个需要激活的扩展,都需要一行相应的“extension=”语句来说明PHP启动时需要加载哪些扩展。

如:extension=php_mysqli.dll

4)doc_root

PHP页面在服务器上的根目录。

如:doc_root = "D:\www"

5)include_path

指定一组目录用于require(),include(),fopen_with_path()函数寻找文件。目录之间Unix下用冒号分隔,Windows用分号分隔。

如:include_path=".:/php/includes"、include_path=".;c:\php\includes"

6)sys_temp_dir

PHP用于存放临时文件的目录。

如:sys_temp_dir = "/tmp"

原文地址:https://www.cnblogs.com/FLy-1992/p/11647946.html

时间: 2024-11-19 03:58:50

PHP--常用配置项的相关文章

webpack基础+webpack配置文件常用配置项介绍+webpack-dev-server

一.webpack基础 1.在项目中生成package.json:在项目根目录中输入npm init,根据提示输入相应信息.(也可以不生成package.json文件,但是package.json是很有用的,所有建议生成) 2.安装webpaack a.在全局中安装webpack:npm install webpack -g b.将webpack安装到项目并将webpack写入package.json的devDependencies中:进入项目根目录,然后在命令行中输入npm install w

hadoop 常用配置项【转】

hadoop 常用配置项[转] core-site.xml  name value  Description   fs.default.name hdfs://hadoopmaster:9000 定义HadoopMaster的URI和端口  fs.checkpoint.dir /opt/data/hadoop1/hdfs/namesecondary1 定义hadoop的name备份的路径,官方文档说是读取这个,写入dfs.name.dir  fs.checkpoint.period 1800 定

Intellij idea 系列教程之常用配置项

Intellij idea 系列教程之常用配置项 Intellij idea 系列教程目录(https://www.cnblogs.com/binarylei/p/10347600.html) Language level 和 Java Compiler 版本自动变化问题 去除 IDEA 报黄色灰色的重复代码的下划波浪线 添加过滤文件或目录 一.Language level 和 Java Compiler 版本自动变化问题 最近将 Intellij Idea 的版本升级之后,在对 maven 项

Nuxt.js学习(二) --- Nuxt目录结构详解、Nuxt常用配置项、Nuxt路由配置和参数传递

[TOC] 1.Nuxt目录结构详解 Nuxt项目文件目录结构 |-- .nuxt // Nuxt自动生成,临时的用于编辑的文件,build |-- assets // 用于组织未编译的静态资源入LESS.SASS 或 JavaScript |-- components // 用于自己编写的Vue组件,比如滚动组件,日历组件,分页组件 |-- layouts // 布局目录,用于组织应用的布局组件,不可更改. |-- middleware // 用于存放中间件 |-- pages // 用于存放

Nginx基础入门之gzip常用配置项说明

在很多大型的网站中,web资源内容压缩是很有必要的,一来减少宽带的占用,二来提高高server处理性能,在nginx中有一个单独的模块是来处理web资源压缩机制,即ngx_gzip_module ,下面我们来讲解一下关于gzip模块一些常用的配置项参数说明 一.ngx_http_gzip_module模块配置项介绍说明 1.1 gzip 配置语法: gzip  on|off 默认值:  gzip  off 配置区域: http ,server, location ,  if 配置项说明: 是否开

Vue实例 中的常用配置项

创建Vue实例时,使用 new Vue ({//配置项}) 或者 组件定义中 export default {//配置项},所有的Vue组件都是Vue实例,并且接受相同的选项对象(一些根实例特有的选项除外) 如: new Vue({//选项配置 el: '#app', components: { App }, template: '<App/>' }) 配置项一共可以分为六大类:数据.DOM.生命周期钩子.资源.组合.其他 一.数据 (1)data:Vue根实例或者当前组件上的数据对象,类型可

Nginx基础入门之fastcgi模块常用配置项说明

在LNMP环境中,我们都知道nginx如果要解析php脚本语言,就必须通过配置fastcgi模块来提供对php支持,那么在配置fastcgi的时候,关于fastcgi配置项的值应该怎么设置才能让其发挥出更出色的性能呢,下面就讲讲关于nginx模块中fastcgi这部分通用参数介绍 1.1 fastcgi_connect_timeout  配置语法:  fastcgi_connect_timeout 时间(单位为s) 默认值: fastcgi_connect_timeout 60s 配置区域: h

Apache、Web软件、Apache安装、常用配置项、区域配置、日志分析

Apache 安装 具体步骤: 1.准备工作 为了避免发生端口冲突.程序冲突等现象,建议将使用rpm方式安装的httpd及相关依赖包(如果有的话)卸载.如图所示: 2.源码编译及安装 插入安装光盘并挂载,进入到光盘目录中,将httpd源码包释放到/usr/src/目录下,并且切换到展开后的源码目录中. 根据服务器的实际应用需要,可以灵活设置不同的定制选项. 上述配置命令中,各选项的含义如下: --prefix:指定将httpd服务程序安装到哪个目录. --enable-so:启用动态加载模块支持

Nginx基础入门之uptream负载均衡常用配置项说明

很多大型的网站中,ngixn常常作为反向代理sever负载上游web server结合高可用机制构建一个大型web集群,而要通过nginx构建这样的一个集群,必然少不来nginx一个很重要的模块:负载均衡模块(upstream),如下所示为nginx负载均衡配置项介绍. 1.1 upstream 块配置项说明 语法:upstream name {...}    //指定负载均含name(名称) 配置块:http upstream块定义了一个上游服务器的集群,便于反向代理中的proxy_pass使

git 常用配置项

git 常用配置 全局提交用户名与邮箱 git config --global user.name "Yuchen Deng" git config --global user.email 邮箱名@gmail.com 中文编码支持 echo "export LESSCHARSET=utf-8" > $HOME/.profile git config --global gui.encoding utf-8 git config --global i18n.com