参考:http://legolas.blog.51cto.com/2682485/493917
这个文件必须命名为''php.ini''并放置在httpd.conf中的PHPIniDir指令指定的目录中。
最新版本的php.ini可以在下面两个位置查看:
http://cvs.php.net/viewvc.cgi/php-src/php.ini-recommended?view=co
http://cvs.php.net/viewvc.cgi/php-src/php.ini-dist?view=co
语法
该文件的语法非常简单。空白字符和以分号开始的行被简单地忽略。
章节标题(例如: [php])也被简单地忽略,即使将来它们可能有某种意义。
设置指令的格式如下:
directive = value
指令名(directive)是大小写敏感的!所以"foo=bar"不同于"FOO=bar"。
值(value)可以是:
1. 用引号界定的字符串(如:"foo")
2. 一个数字(整数或浮点数,如:0, 1, 34, -1, 33.55)
3. 一个PHP常量(如:E_ALL, M_PI)
4. 一个INI常量(On, Off, none)
5. 一个表达式(如:E_ALL & ~E_NOTICE)
INI文件中的表达式仅使用:位运算符、逻辑非、圆括号:
| 位或
& 位与
~ 位非
! 逻辑非
布尔标志用 On 表示打开,用 Off 表示关闭。
一个空字符串可以用在等号后不写任何东西表示,或者用 none 关键字:
foo =     ; 将foo设为空字符串
foo = none  ; 将foo设为空字符串
foo = "none" ; 将foo设为字符串''none''
如果你在指令值中使用动态扩展(PHP扩展或Zend扩展)中的常量,那么你只能在加载这些动态扩展的指令行之后使用这些常量。
httpd.conf ;;
还可以在httpd.conf中覆盖php.ini的值,以进行更灵活的配置:
php_value name value ;设置非bool型的指令,将value设为none则清除先前的设定
php_flag name on|off ;仅用于设置bool型的指令
PHP常量(如E_ALL)仅能在php.ini中使用,在httpd.conf中必须使用相应的掩码值。
带"SYS"标志的指令只能在httpd.conf中的全局配置部分使用,
带"ini"标志的指令不能在httpd.conf中使用,它们仅能用于php.ini中。
====================配置指令详解=======================================
常用PHP.INI配置项。
1--设置上传文件大小
file_uploads = on
upload_max_filesize = 8M
post_max_size = 8M
ps--post的数值要大于等于upload,否则upload不起作用。

2--设定一个脚本使用的最大内存
memory_limit = 128M

3--启用全局变量
register_gloables = on
ps--有些程序例如OSC需要启用全局变量.

4--设置默认编码
default_charset = 'iso--8859-1'
ps--这个一般不需要设置,因为大部分页面都有制定编码。

5--是否允许打开远程文件
allow_url_fopen = on

6--是否允许包含远程文件(include/require)
allow_url_include = false

7--时区
date.timezone = UTC
ps--php默认采用配置项中的时区,如果项目中涉及时区,请用date_default_timezone_get()/date_default_timezone_set(utc)来设定自己想要的时区。

8--禁用类/方法
disable_classes =
disable_functions =
ps-- 我的php.ini原来禁用了很多方法,会影响一些功能的使用,比如远程链接之类的。发送email应该回应想到。

9--设置错误报告级别
error_reporting =
ps--日志级别是一些常量,在php.ini中有写,推荐使用 E_ALL | E_STRICT,即所有级别。


10--输出错误信息
display_error = off
ps--是否将错误信息作为输出的一部分,站点发布后应该关闭这项功能,以免暴露信息。


11--定义各个级别系统日志变量
define_syslog_variables = off
ps--建议关闭,以提高性能。

12--错误日志
error_log =
ps-- 错误日志的位置,必须对web用户可写入,如果不定义则默认写入到web服务器的错误日志中去.
log_errors = on
ps--如上所说,建议将错误日志输出到文件,而不是直接输出到前端。
log_errors_max_length = 1024
ps--错误日志关联信息的最大长度,设为0表示无限长度。

13--默认socket时长
default_socket_timeout = 60

14--脚本最大执行时长
max_execution_time = 30
ps--设定每个脚本的最大执行时长,有助于阻止劣质脚本无限制占用服务器资源;0表示没有限制。


15--脚本最大输入时间
max_input_time = 60
ps--单个脚本最大输入时长

16--文件上传临时目录
upload_tmp_dir =
ps--php进程用户可写目录,如果不设置,则采用系统临时目录。(tmp)


17--输出后自动刷新数据
implicit_flush = off
ps--是否在echo();printf();等输出数据块之后刷新;对性能影响严重,只建议在调试状态下开启。