; 错误处理和日志记录
; 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 的