五千字深度解读 PHP8 的 php.ini 配置文件,终结配置痛点!

; 错误处理和日志记录

; error_reporting 设置在 PHP 脚本中报告哪些类型的错误

; E_ALL 表示报告所有错误,包括通知和严格模式警告

; E_ERROR 仅报告致命错误

; E_WARNING 报告警告信息

; E_PARSE 报告语法解析错误

; E_NOTICE 报告通知信息(非严重问题)

; E_CORE_ERROR 报告 PHP 核心错误

; E_CORE_WARNING 报告 PHP 核心警告

; E_COMPILE_ERROR 报告编译错误

; E_COMPILE_WARNING 报告编译警告

; E_USER_ERROR 用户定义的错误

; E_USER_WARNING 用户定义的警告

; E_USER_NOTICE 用户定义的通知

; E_STRICT 报告 PHP 编码标准的建议

; E_RECOVERABLE_ERROR 报告可恢复的致命错误

error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT

; display_errors 设置是否在浏览器中显示错误信息

; On 表示显示,Off 表示不显示(生产环境中建议设置为 Off)

display_errors = On

; display_startup_errors 设置是否在 PHP 启动时显示错误信息

display_startup_errors = On

; log_errors 设置是否将错误记录到日志文件中

log_errors = On

; error_log 设置错误日志文件的路径

error_log = /var/log/php_errors.log

; html_errors 设置是否以 HTML 格式记录错误信息

html_errors = On

; 数据处理和编码

;;;;;;;;;;;;;;;;;;;;

; default_charset 设置默认的字符编码

default_charset = "UTF-8"

; mbstring.internal_encoding 设置多字节字符串函数的内部编码

mbstring.internal_encoding = "UTF-8"

; mbstring.http_input 设置 HTTP 输入的字符编码检测顺序

mbstring.http_input = "auto"

; mbstring.http_output 设置 HTTP 输出的字符编码

mbstring.http_output = "UTF-8"

; mbstring.encoding_translation 设置是否启用编码转换

mbstring.encoding_translation = Off

; 日期和时间

;;;;;;;;;;;;;;;;;;;;

; date.timezone 设置默认的时区

date.timezone = Asia/Shanghai

; date.default_latitude 设置默认的纬度,用于某些日期和时间函数

date.default_latitude = 31.2304

; date.default_longitude 设置默认的经度,用于某些日期和时间函数

date.default_longitude = 121.4737

; 内存管理

;;;;;;;;;;;;;;;;;;;;

; memory_limit 设置脚本的最大内存使用量

; 例如:128M 表示 128 兆字节

memory_limit = 128M

; 脚本执行时间限制

;;;;;;;;;;;;;;;;;;;;

; max_execution_time 设置脚本的最大执行时间(秒)

; 0 表示无限制

max_execution_time = 30

; max_input_time 设置脚本接收输入数据的最大时间(秒)

max_input_time = 60

; 资源限制

;;;;;;;;;;;;;;;;;;;;

; upload_max_filesize 设置允许上传的最大文件大小

; 例如:2M 表示 2 兆字节

upload_max_filesize = 2M

; post_max_size 设置通过 POST 方法提交的数据的最大大小

; 例如:8M 表示 8 兆字节

post_max_size = 8M

; file_uploads 设置是否允许通过 HTTP 上传文件

file_uploads = On

; 会话处理

;;;;;;;;;;;;;;;;;;;;

; session.save_handler 设置会话数据的存储方式

; files 表示使用文件存储

; memcached 表示使用 Memcached 存储

; redis 表示使用 Redis 存储等

session.save_handler = files

; session.save_path 设置会话数据的存储路径

session.save_path = "/var/lib/php/session"

; session.name 设置会话的名称

session.name = PHPSESSID

; session.auto_start 设置是否在脚本开始时自动启动会话

session.auto_start = 0

; session.gc_probability 和 session.gc_divisor 共同控制会话垃圾回收的概率

; session.gc_probability / session.gc_divisor 表示每次会话启动时进行垃圾回收的概率

session.gc_probability = 1

session.gc_divisor = 1000

; session.gc_maxlifetime 设置会话数据在未被访问的情况下的最大存活时间(秒)

session.gc_maxlifetime = 1440

; session.cookie_lifetime 设置会话 cookie 的存活时间(秒)

; 0 表示会话结束时过期

session.cookie_lifetime = 0

; session.cookie_path 设置会话 cookie 的有效路径

session.cookie_path = /

; session.cookie_domain 设置会话 cookie 的有效域名

session.cookie_domain =

; session.cookie_secure 设置是否仅在 HTTPS 连接下发送会话 cookie

session.cookie_secure = Off

; session.cookie_httponly 设置是否禁止通过 JavaScript 访问会话 cookie

session.cookie_httponly = On

; session.serialize_handler 设置会话数据的序列化方式

; php 表示使用 PHP 内置的序列化方式

; php_binary 表示使用二进制序列化方式

; igbinary 表示使用 igbinary 扩展的序列化方式等

session.serialize_handler = php

; session.hash_function 设置用于生成会话 ID 的哈希函数

; 0 表示使用 MD5

; 1 表示使用 SHA-1

; 2 表示使用 SHA-256 等

session.hash_function = 0

; session.hash_bits_per_character 设置每个字符在会话 ID 中使用的位数

; 4 表示使用 4 位(0-9a-f)

; 5 表示使用 5 位(0-9a-v)

; 6 表示使用 6 位(0-9a-zA-Z,-)

session.hash_bits_per_character = 5

; 数据库连接

;;;;;;;;;;;;;;;;;;;;

; mysqli.default_host 设置默认的 MySQL 主机

mysqli.default_host = localhost

; mysqli.default_user 设置默认的 MySQL 用户

mysqli.default_user = root

; mysqli.default_password 设置默认的 MySQL 密码

mysqli.default_password = password

; mysqli.default_port 设置默认的 MySQL 端口

mysqli.default_port = 3306

; mysqli.default_socket 设置默认的 MySQL 套接字文件路径

mysqli.default_socket =

; 邮件发送

;;;;;;;;;;;;;;;;;;;;

; sendmail_path 设置发送邮件的程序路径

sendmail_path = /usr/sbin/sendmail -t -i

; mail.add_x_header 设置是否在邮件头中添加 X-PHP-Originating-Script 字段

mail.add_x_header = On

; 动态扩展

;;;;;;;;;;;;;;;;;;;;

; 以下是一些常见的扩展加载配置示例

; extension=mysqli 加载 MySQLi 扩展,用于与 MySQL 数据库交互

; extension=pdo_mysql 加载 PDO MySQL 扩展,用于通过 PDO 与 MySQL 数据库交互

; extension=openssl 加载 OpenSSL 扩展,用于支持 SSL/TLS 加密

; extension=mbstring 加载多字节字符串扩展,用于处理非 ASCII 字符

; extension=gd 加载 GD 扩展,用于图像处理

; extension=zip 加载 Zip 扩展,用于处理 ZIP 文件

; extension=xml 加载 XML 扩展,用于处理 XML 数据

; 模块设置

;;;;;;;;;;;;;;;;;;;;

; opcache.enable 设置是否启用 APCu 操作码缓存

opcache.enable = 1

; opcache.memory_consumption 设置操作码缓存使用的内存量(兆字节)

opcache.memory_consumption = 128

; opcache.interned_strings_buffer 设置 interned 字符串缓冲区的大小(兆字节)

opcache.interned_strings_buffer = 8

; opcache.max_accelerated_files 设置缓存的最大文件数

opcache.max_accelerated_files = 4000

; opcache.validate_timestamps 设置是否验证脚本的时间戳以检查更新

opcache.validate_timestamps = 1

; opcache.revalidate_freq 设置重新验证脚本时间戳的频率(秒)

opcache.revalidate_freq = 2

; opcache.fast_shutdown 设置是否启用快速关闭功能

opcache.fast_shutdown = 1

; opcache.enable_cli 设置是否在 CLI 模式下启用操作码缓存

opcache.enable_cli = 0

; 其他设置

;;;;;;;;;;;;;;;;;;;;

; expose_php 设置是否在服务器响应头中暴露 PHP 版本信息

expose_php = On

; max_input_vars 设置 PHP 脚本可以接收的最大输入变量数

max_input_vars = 1000

; register_argc_argv 设置是否注册 $argc 和 $argv 变量

register_argc_argv = On

; auto_prepend_file 设置在每个 PHP 脚本之前自动包含的文件路径

auto_prepend_file =

; auto_append_file 设置在每个 PHP 脚本之后自动包含的文件路径

auto_append_file =

; default_mimetype 设置默认的 MIME 类型

default_mimetype = "text/html"

; doc_root 设置文档根目录

doc_root =

; user_dir 设置用户目录

user_dir =

; enable_dl 设置是否允许在运行时动态加载扩展

enable_dl = Off

; 以下是一些安全性相关的设置

; safe_mode 设置是否启用安全模式(已弃用)

safe_mode = Off

; open_basedir 设置允许 PHP 脚本访问的文件系统路径范围

open_basedir =

; disable_functions 设置禁止在 PHP 脚本中使用的函数列表

disable_functions =

; disable_classes 设置禁止在 PHP 脚本中使用的类列表

disable_classes =

; 以下是一些与性能优化相关的设置

; zlib.output_compression 设置是否启用输出压缩

zlib.output_compression = Off

; zlib.output_compression_level 设置输出压缩的级别(0-9)

zlib.output_compression_level = -1

; output_buffering 设置输出缓冲区的大小(以字节为单位)

; 0 表示禁用输出缓冲

output_buffering = 4096

; output_handler 设置输出处理函数

output_handler =

; realpath_cache_size 设置 realpath 缓存的大小(以千字节为单位)

realpath_cache_size = 16k

; realpath_cache_ttl 设置 realpath 缓存的生存时间(秒)

realpath_cache_ttl = 120

; 以下是一些与 PHP-FPM 相关的设置(如果使用 PHP-FPM)

; pm 设置 PHP-FPM 的进程管理模式

; dynamic 表示动态模式,根据请求数量自动调整进程数

; static 表示静态模式,预先设置固定数量的进程

; ondemand 表示按需模式,仅在有请求时启动进程

pm = dynamic

; pm.max_children 设置动态模式下允许的最大子进程数

pm.max_children = 50

; pm.start_servers 设置动态模式下启动时的子进程数

pm.start_servers = 5

; pm.min_spare_servers 设置动态模式下保持的最小空闲子进程数

pm.min_spare_servers = 5

; pm.max_spare_servers 设置动态模式下保持的最大空闲子进程数

pm.max_spare_servers = 35

; pm.process_idle_timeout 设置子进程在空闲状态下的最大存活时间(秒)

pm.process_idle_timeout = 10s;

; pm.max_requests 设置每个子进程在处理一定数量的请求后自动重启

pm.max_requests = 500

; 以下是一些与 FastCGI 相关的设置(如果使用 FastCGI)

; fastcgi.read_timeout 设置 FastCGI 读取请求的超时时间(秒)

fastcgi.read_timeout = 60

; fastcgi.send_timeout 设置 FastCGI 发送响应的超时时间(秒)

fastcgi.send_timeout = 60

; fastcgi.connect_timeout 设置 FastCGI 连接到后端服务器的超时时间(秒)

fastcgi.connect_timeout = 60

; fastcgi.intercept_errors 设置是否拦截 FastCGI 错误并返回给客户端

fastcgi.intercept_errors = On

; fastcgi.buffer_size 设置 FastCGI 缓冲区的大小(以字节为单位)

fastcgi.buffer_size = 16k

; fastcgi.buffers 设置 FastCGI 使用的缓冲区数量

fastcgi.buffers = 4 16k

; fastcgi.busy_buffers_size 设置繁忙缓冲区的大小(以字节为单位)

fastcgi.busy_buffers_size = 256k

; fastcgi.max_temp_file_size 设置临时文件的最大大小(以字节为单位)

fastcgi.max_temp_file_size = 256k

; 以下是一些与 APCu 相关的设置(如果使用 APCu)

; apc.enabled 设置是否启用 APCu

apc.enabled = 1

; apc.shm_size 设置 APCu 使用的共享内存大小(兆字节)

apc.shm_size = 64

; apc.ttl 设置 APCu 缓存项的生存时间(秒)

apc.ttl = 7200

; apc.user_ttl 设置用户定义的 APCu 缓存项的生存时间(秒)

apc.user_ttl = 7200

; apc.num_files_hint 设置 APCu 用于估计缓存项数量的提示值

apc.num_files_hint = 1024

; apc.mmap_file_mask 设置 APCu 使用的内存映射文件掩码

apc.mmap_file_mask = /tmp/apc.XXXXXX

; apc.enable_cli 设置是否在 CLI 模式下启用 APCu

apc.enable_cli = 0

; 以下是一些与 Redis 相关的设置(如果使用 Redis)

; redis.default_host 设置默认的 Redis 主机

redis.default_host = 127.0.0.1

; redis.default_port 设置默认的 Redis 端口

redis.default_port = 6379

; redis.default_timeout 设置默认的 Redis 连接超时时间(秒)

redis.default_timeout = 0.0

; redis.read_timeout 设置 Redis 读取操作的超时时间(秒)

redis.read_timeout = 0.0

; redis.write_timeout 设置 Redis 写入操作的超时时间(秒)

redis.write_timeout = 0.0

; redis.pconnect 设置是否使用持久连接

redis.pconnect = 0

; redis.retry_interval 设置连接失败后的重试间隔时间(秒)

redis.retry_interval = 0

; redis.password 设置 Redis 服务器的密码

redis.password =

; redis.database 设置默认使用的 Redis 数据库编号

redis.database = 0

; 以下是一些与 Memcached 相关的设置(如果使用 Memcached)

; memcached.servers 设置 Memcached 服务器列表

memcached.servers = 127.0.0.1:11211

; memcached.compression 设置是否启用 Memcached 压缩

memcached.compression = On

; memcached.compression_threshold 设置启用压缩的阈值(以字节为单位)

memcached.compression_threshold = 2000

; memcached.compression_type 设置压缩类型

memcached.compression_type = fastlz

; memcached.prefix 设置 Memcached 键的前缀

memcached.prefix =

; memcached.serializer 设置 Memcached 使用的序列化器

; php 表示使用 PHP 内置的序列化器

; igbinary 表示使用 igbinary 扩展的序列化器

memcached.serializer = php

; memcached.timeout 设置 Memcached 操作的超时时间(秒)

memcached.timeout = 1

; memcached.retry_timeout 设置连接失败后的重试超时时间(秒)

memcached.retry_timeout = 15

; memcached.distr 设置 Memcached 的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值