详解 php.ini 配置文件下常用参数
下一篇: PHP单例模式与工厂模式比较
无论你是新手还是经验丰富的 PHP 程序员,了解 PHP.ini 配置是必不可少的。它是一个重要的配置文件,用于自定义 PHP 在运行时的行为。PHP 服务器启动时,它首先会寻找 PHP.ini 文件,通过加载它来设置各种值。
通过修改 php.ini 文件里的各种参数,你可以对 PHP 设置进行更改。你可以使用服务器的默认设置,也可以通过编辑现有的 php.ini 文件,来更改特定设置或创建一个新的文本文件并将其命名为 php.ini。
在这里我们解释 php.ini 文件下一些常见参数,你可以通过设置这些参数来修改和设定 PHP 相关设置。
max_execution_time
这设置了 PHP 脚本在解析器将它终止前,该脚本可以运行的最长时间,单位是秒。这有助于防止一些脚本对服务器进行捆绑,比如有一个死循环,在没有人为干扰下,如果没有设置超时时间,那么服务器将永无休止的运行这个死循环。max_execution_time 默认设置为 30秒,即一个脚本最常执行时间为30秒,如果超过这个时间解析器则会将它终止掉。而在命令行运行 PHP 时,默认设置为 0,即没有超时时间,不管一个 PHP 脚本运行多久,PHP 解析器都会去执行它,注意,在命令行的时候才这样。
error_reporting
通过这一参数,你可以设置错误报告级别,通俗来说就是设置报告哪些错误。该参数要么是一个整型,表示了一个位字段,要么是一个常量。PHP 5.3 或更高版本中,默认值有这几个级别 E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED 。
#设置错误报告级别为 E_ALL error_reporting = E_ALL
html_errors
当 PHP 显示或记录一个错误时,它可以使用 HTML 格式来显示错误消息,以便于阅读。此指令控制了是否设置 HTML 格式来显示错误消息。
#设置错误信息采用html格式 html_errors = On
track_errors
如果启用了这个参数,那么过去的错误消息将永远存在在变量 $php_errormsg 中。
track_errors = On
doc_root
如果你正在使用 Apache,那么已为此服务器设置了文档根目录。该参数指定了 PHP 在服务器上的根目录。仅在非空时使用。如果 PHP 被配置为安全模式,则此目录之外的文件一概不被解析。
doc_root = ''
short_open_tag
这个标签开启以后可以使用PHP的短标签:(<? ?>)。同时,只有开启这个才可以使用 <?= 以代替 <? echo 。建议您不要使用短标签,而是使用完整的 <?php 和 ?> 标签。
short_open_tag = Off
upload_tmp_dir
用于指定 PHP 文件上传时的临时存储目录。任何用户来运行 PHP 时,都必须保证该目录是可写的。如果不指定该目录的值, PHP 将使用系统的默认值。此外如果指定的目录,在这里是不可写,PHP 会自动采用原来系统的默认临时目录。
upload_tmp_dir = ''
file_uploads
是否允许HTTP文件上传。默认值为On允许HTTP文件上传,此选项不能设置为Off。
file_uploads = On
max_input_time
这在 PHP 4.3.0 以后可用。此变量可以以秒为单位对通过POST、GET以及PUT方式接收数据时间进行限制,默认60秒。当我们上传大文件时,可以将这个值设置的较大些。 如果设置为0,则表示无时间限制。
max_input_time = 60
max_input_vars
此功能是从 PHP 5.3.9 后新增的,设定了通过 GET/POST/COOKIE 输入的变量可能被接受的个数。 max_input_vars 默认值为 1000, 正常情况下够用,但当提交表单数超过1000个则要将 php.ini 的 max_input_vars 值调大,否则表单数据就提交不上去。
max_input_vars = 1000
max_file_uploads
该参数是设置每次最大上传文件数量(Maximum number of files that can be uploaded via a single request),超出该数量的文件将被丢弃。默认值为 20,比如在上传文件或图片的时候,一次性上传不能超过20个,如果超过20个也只能成功20个。不过你可以将该值调大。
max_file_uploads = 20
post_max_size
您可以设置 post 提交数据时的大小,默认值 8 MB,但你还可以增加它。此设置还会影响文件上传。上传大文件时,该值必须大于 upload_max_filesize。如果您配置脚本启用内存限制,则 memory_limit 也会影响文件上传。
// default value 'post_max_size' post_max_size = 8M
enable_post_data_reading
它是 php.ini 下一个重要的设置,自 PHP 5.4.0 后可用,默认情况下设置为已启用。禁用则会导致 $_POST,$_FILES 数据不能被填充,即不能正常读取数据,这时候只能通过 php://input 来获取提交的数据.这对代理请求非常有用,或者可以通过内存有效的方式发送数据。
enable_post_data_reading = Off
display_errors
开启后,则在屏幕上可以显示错误,一般常用在开发模式,但是很多应用在正式环境中也忘记了关闭此选项。错误显示可以暴露出非常多的敏感信息,为攻击者下一步攻击提供便利。推荐关闭此选项。
display_errors = On
default_charset
通过此设置,您可以设置您的字符编码为"UTF-8"。自 PHP 5.6.0 后它是一个默认的字符编码。
default_charset = "utf-8"
下一篇: PHP单例模式与工厂模式比较