忽然之间的博客

Thoughts, stories and ideas.

PHP.ini

php.ini用来设置PHP的配置项。配置文件(php.ini)在 PHP 启动时被读取。对于服务器模块版本的 PHP,仅在 web 服务器启动时读取一次。对于 CGICLI 版本,每次调用都会读取。

这里说的Web服务器、CGICLI都是PHP的运行环境,即SAPI。 SAPI的名称 使用内核预定义常量PHP_SAPIphp_sapi_name() 得到。

详细配置说明(http://php.net/manual/zh/ini.list.php)

如何设置

ini_set()

注意哪些是可在运行时配置

并不是所有的INI选项都能通过ini_set设置,这里有几个模式区分

PHP_INI_* 模式的定义

模式 含义
PHP_INI_USER 可在用户脚本(例如 ini_set())或 Windows 注册表(自 PHP 5.3 起)以及 .user.ini 中设定
PHP_INI_PERDIR 可在 php.ini,.htaccess 或 httpd.conf 中设定
PHP_INI_SYSTEM 可在 php.ini 或 httpd.conf 中设定
PHP_INI_ALL 可在任何地方设定

php.ini文件在哪里找到

  1. Linux 下命令行执行
php -i | grep php.ini

你会得到类似的文件信息 Configuration File (php.ini) Path => /usr/local/php/etc Loaded Configuration File => /usr/local/php/etc/php.ini

  1. phpinfo() 查找 Loaded Configuration File

常用的配置项整理

配置项 默认值 说明
dispay_errors on 是否输出信息,或是隐藏不显示 , 注意,发生致命错误,将无法得到运行时设置的语气
error_reporting NULL PHP的错误报告级别
memory_limit “128M” PHP执行脚本内存限制, 注意设置为数字时,单位是字节
max_execution_time “30” 脚本执行的最大执行时间, 单位, 从命令行运行 PHP 时,默认设置为 0
post_max_size “8M” POST数据最大限制,这个设置也会影响上传最大限制, 所以设置的值要大于 upload_max_filesize
upload_max_filesize “2M” 上传最大限制
session.gc_maxlifetime “1440” 单位 , SESSION过期时间,还和 session.gc_probability 和 session.gc_divisor 有关。参考鸟哥的文章《如何设置一个严格30分钟过期的Session》(http://www.laruence.com/2012/01/10/2469.html)