日期:2014-05-17  浏览次数:20473 次

php.ini设置全攻略
全攻略其实是个夸张的说法,我们只讨论一些对我们一般开发期间会产生影响的几个配置,其他的问题就交给服务器的管理人员来做吧——我们不是网络管理员,不用替他们操心,总要是使他们的工作有些内容是不是?

extension_dir = “/path/to/php”
存放扩展库(模块)的目录,也就是PHP用来寻找动态扩展模块的目录,这个通常在php安装目录下边的ext目录(php5之前可能文件名称有些不同),这个目录在windows版本的PHP中存放的是好多.dll文件例如php_gd2.dll,php_mysql.dll等,这个对我们很重要。按照正确的路径修改一下吧,一般写绝对路径例如:d:\php5\ext

error_reporting = E_ALL & ~E_NOTICE
设置错误报告的级别,推荐使用 E_ALL | E_STRICT,包含代码标准话警告的所有错误,这样有利于我们一开始写出的代码都是标准化的代码,呵呵……

关于错误报告还有一个地方需要注意
display_errors = On

如果设置为On页面会显示错误报告,如果设置为Off即使设置了错误报告的级别,你也看不到错误信息。作为程序员,没有比明知道程序出了问题,而不知道除了什么问题更加头疼的了。

max_execution_time = 30
允许单个程序脚本占用服务器的最大时间,单位是秒,这样可以避免不经意间写出一个死循环或者什么程序,长期占用服务器而把服务器累死。如果设置值为0表示不限制运行时间。

memory_limit = 16M
单个程序脚本可以占用的最大内存数,设置为-1表示为不限制

max_input_time = -1
单个脚本解析输入数据(POST, GET, upload)的最大允许时间(秒),设置为-1 表示不限制。

post_max_size = 8M
允许的POST数据最大字节长度。此设定也影响到文件上传。 要上传大文件,该值必须大于upload_max_filesize指令的值。
如果启用了内存限制,那么该值应当小于memory_limit指令的值。

upload_max_filesize = 2M
允许上传的文件的大小,默认是两兆,如果需要上传大于2M的文件就要修改这里,当然需要关联修改memory_limit和post_max_size的值。

upload_tmp_dir =
文件上传时存放文件的临时目录,这个目录必须针对PHP进程可写, 如果未指定则PHP使用系统默认的临时目录

magic_quotes_gpc = On
是否对输入的GET/POST/Cookie数据使用自动字符串转义( ‘ ” \ NULL ),一般设置为On,但是在实际的编程环境中,不要依赖这个设置。一般需要判断之后对数据进行处理,看下代码
……
if (!get_magic_quotes_gpc()) { //判断该设置是否为On
$lastname = addslashes($_POST['lastname']);//不为On手工转义
} else {
$lastname = $_POST['lastname'];//否则直接使用
}
……

register_globals = Off
这个在PHP6中已经删除的设置,我就不多说了,一定要设置为Off啊!

[mbstring]模块

这个模块儿时针对中文,韩文,日文等双字节字符的一个扩展。下边的这些设置通常都是关闭,如果要启用这些扩展,请去掉前面的“;”。但是这些设置有点太个性化了,建议还是不要设置的好,遇到中文截取或者测长什么的,到网上找个别人写的程序就行了。

mbstring.language = “neutral”
默认值”neutral”表示中立,相当于未知, “zh-cn”或”Simplified Chinese”表示简体中文, “zh-tw”或”Traditional Chinese”表示繁体中文
……
剩下的不想说了,真的有需要的话,再说吧,可以联系我或者到首页右侧上方公布的群号里问问吧。

启用扩展模块实例
extension=php_gd2.dll,启用gd库扩展,这个用于生成图片的

extension=php_mysql.dll,启用Mysql数据库扩展,只有启用了这个PHP才有可能链接上Mysql数据库,吧这两行前面的分号去掉(或者直接把这两行加入ini设置),就表示启用了。

好了结束了!就这样吧,其实还有一些设置我们也有可能使用的到,例如session保存的目录,session的前缀等等……大家自己研究吧!

出处:http://www.phpiask.com/?p=37