php ini常用配置参数

2025-06-23 19:57:00
丁国栋
原创 9
摘要:本文记录php.ini常用的配置参数。

php.ini 是 PHP 的主配置文件,其中包含了控制 PHP 行为的各种参数。下面是一些 常用的配置参数,并根据它们的 重要性排序,排序依据包括:

  • 对 PHP 程序运行的影响程度(如内存、错误处理、安全)
  • 网站部署常见性(如文件上传、时区)
  • 是否影响开发与生产环境的差异

常用 php.ini 配置参数排序(含说明)

1. error_reporting

2. display_errors

  • 作用:是否将错误显示在页面上
  • 示例display_errors = Off(生产环境建议设置为Off)
  • 重要性:开发和部署环境必须严格控制,避免安全风险。

3. memory_limit

  • 作用:PHP 脚本最大可使用内存
  • 示例memory_limit = 128M
  • 重要性:防止单个脚本消耗过多资源,影响服务器稳定性。

4. upload_max_filesize

  • 作用:允许上传的单个文件的最大大小
  • 示例upload_max_filesize = 10M
  • 重要性:影响上传功能,尤其是图片/文档类网站。

5. post_max_size

  • 作用:POST 数据的最大大小(包含文件上传)
  • 示例post_max_size = 20M
  • 重要性:必须大于等于 upload_max_filesize,否则上传失败。

6. max_execution_time

  • 作用:脚本最大执行时间(秒)
  • 示例max_execution_time = 30
  • 重要性:防止脚本死循环或运行过久。

7. date.timezone

  • 作用:设置默认时区
  • 示例date.timezone = Asia/Shanghai
  • 重要性:影响时间函数输出,避免时间不一致。

8. session.save_handlersession.save_path

  • 作用:session 类型和文件保存路径
  • 示例session.save_handler = files|redissession.save_path = "/var/lib/php/sessions"|tcp://127.0.0.1:6379?auth=password
  • 重要性:影响 session 功能是否正常,尤其是共享主机部署。

9. file_uploads

  • 作用:是否启用 HTTP 文件上传
  • 示例file_uploads = On
  • 重要性:影响表单文件上传功能。

10. allow_url_fopen

  • 作用:是否允许使用 URL 打开文件(如 fopen("http://...")
  • 示例allow_url_fopen = Off
  • 重要性:安全相关,生产环境建议关闭,除非必要。

其他常用参数(根据需要启用)

参数名 作用 示例
max_input_vars 控制表单提交变量的最大数目 max_input_vars = 1000
default_charset 默认字符编码 default_charset = "UTF-8"
short_open_tag 是否支持短标签 <? ?> short_open_tag = Off
log_errors 是否记录错误日志 log_errors = On
error_log 自定义错误日志路径 error_log = /var/log/php_errors.log
extension 启用 PHP 扩展模块 extension=mysqli

生产环境 中,error_reporting 的设置应确保:

  • 错误不会显示给终端用户(防止信息泄露)
  • 错误记录到日志中(方便开发者排查)
  • 只报告严重错误,避免日志中出现大量不必要的提示信息

推荐设置(生产环境)

error_reporting = E_ERROR
display_errors = Off
log_errors = On
error_log = /var/log/php_errors.log

参数说明:

  • E_ERROR:致命运行时错误
  • E_WARNING:运行时警告(非致命错误)
  • E_PARSE:编译时解析错误
  • display_errors = Off:不在页面上显示错误
  • log_errors = On:将错误写入日志
  • error_log:指定错误日志文件路径(确保该路径可写)

进阶建议:

  1. 不要使用 E_ALL,因为它会包含 E_NOTICEE_DEPRECATED,这些在生产环境中通常不需要。
  2. 确保日志目录权限正确,否则 PHP 可能无法写入错误日志。
  3. 定期清理日志文件,防止磁盘空间占满。
发表评论
博客分类