php.ini环境配置参考方案
全攻略其实是个夸张的说法,我们只讨论一些对我们一般开发期间会产生影响的几个配置,其他的问题就交给服务器的管理人员来做吧——我们不是网络管理员,不用替他们操心,总要是使他们的工作有些内容是不是?
extension_dir = “/path/to/php”
存放扩展库(模块)的目录,也就是PHP用来寻找动态扩展模块的目录,这个通常在php安装目录下边的ext目录(php5之前可能文件名称有些不同),这个目录在windows版本的PHP中存放的是好多.dll文件例如php_gd2.dll,php_mysql.dll等,这个对我们很重要,按照正确的路径修改一下吧,一般写绝对路径例如:d:php5ext
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'];//否则直接使用
- }
- ……
- //开源代码phpfensi.com
- 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设置,就表示启用了.