php官方资料:http://www.php.net/manual/zh/ini.core.php#ini.register-globals
#php.ini 常见问题
【 1 】页面之间无法传递变量 get ,post,session在最新的php版本中自动全局变量是关闭的,所以要从上一页面取得提交过来得变量要使用
$_get[ ' foo ' ],$_post[ ' foo ' ],$_session[ ' foo ' ]来得到。当然也可以修改自动全局变量为开
(php.ini改为register_globals = on);考虑到兼容性,还是强迫自己熟悉新的写法比较好。【 2 】win32下apache2 用get方法传递中文参数会出错:test.php ? a = 你好 & b = 你也好传递参数是会导致一个内部错误解决办法: test.php?a= .urlencode(你好). &b= .urlencode(你也好) .............
【 3 】win32下的session不能正常工作php.ini默认的session.save_path = / tmp这显然是linux下的配置,win32下php无法读写session文件导致session无法使用,把它改成一个绝对路径就可以了,
例如session.save_path = c:windows emp【 4 】显示错误信息当php.ini的display_errors = on并且error_reporting = e_all时,将显示所有的错误和提示,
调试的时候最好打开以便纠错,如果你用以前php写法错误信息多半是关于未定义变量的。变量在赋值以前调用会有提示,
解决办法是探测或者屏蔽。例如显示$foo,可以if(isset($foo)) echo $foo 或者echo @$foo【 5 】win32下mail()不能发送电子邮件在linux下配置好的sendmail可以发送,在win32下需要调用smtp服务器来发送电子邮件,
修改php.ini的smtp = ip // ip是不带验证功能的smtp服务器(网上很难找到) php发送邮件的最好解决方法是用socket直接发送到对方email服务器而不用转发服务器。
#php.ini 配置文件中文
;;;;;;;;;;;; 警告 ;;;;;;;;;;;;; 此配置文件是对于新安装的php的默认设置.; 默认情况下,php使用此配置文件安装; 此配置针对开发目的,并且*不是*针对生产环境; 基于一些安全方面的考虑,在你的网站上线之前,请考虑使用php.ini-recommended; 以及在线文档 http://php.net/manual/en/security.php.;;;;;;;;;;;;;;;;;;;; 关于 php.ini ;;;;;;;;;;;;;;;;;;;;; 此文件控制了php行为的很多方面. 为了让php能够读取它; 必须命名为 'php.ini'. php 在其当前工作目录,由phprc环境变量指定目录; 以及由编译时指定的目录(按此顺序)查找此文件; 在windows环境下, 编译时目录是windows目录.; 在命令行模式下查找php.ini的目录可以被-c参数覆盖.;; 此文件的语法非常简单.; 空行和由分号开始的行会被忽略(你可能已经猜到了).; 段的开头(例如 [foo]) 同样会被悄悄忽略; 即使在将来他们可能会有其他作用.;; 使用以下语法来设定指令:; directive = value; 指令 = 值; 指令名称是 *大小写敏感* - foo=bar 和 foo=bar 是不同的.;; 值可以是字符串,数值,php常量 (例如 e_all 和 m_pi), ; ini 常量 (on, off, true, false, yes, no 和 none) 或者一个表达式; (例如 e_all & ~e_notice), 或者带引号的字串 (foo).;; 在ini文件中的表达式只能使用逻辑运算和圆括号:; | 逻辑或; & 逻辑与; ~ 逻辑非; ! 取反;; 逻辑标志可以使用1,on,true或者yes来打开.; 也可以使用0, off, false 或者 no来关闭.;; 在等号后面不写任何内容代表了一个空字符串; 或者使用 none 关键词:;; foo = ; 将foo设置成一个空字串; foo = none ; 将foo设置成一个空字串; foo = none ; 将foo设置成字串 'none';; 如果你在值中使用了常量, 并且这个常量属于一个动态加载的扩展模块; (不论是php扩展还是zend扩展),; 那你只能在加载这些扩展 *之后* 使用这些常量.;;;;;;;;;;;;;;;;;;;;;; 关于这个文件 ;;;;;;;;;;;;;;;;;;;;; 在php.ini-dist 文件中所有的值都相当于内建的默认值; (就是如果没有使用php.ini, 或者如果你删除了这些行,; 就和内建的默认值一样).;;;;;;;;;;;;;;;;;;;;; 语言选项 ;;;;;;;;;;;;;;;;;;;;;; 打开在apache下的php脚本语言引擎engine = on; 打开zend engine兼容模式(php 4.x)zend.ze1_compatibility_mode = off; 允许 使用 yyyy-mm-dd hh:mm:ss 返回;mssql.datetimeconvert = on; 当连接到服务器时使用nt验证mssql.secure_connection = off; 指定最大进程数. -1 = 库默认; msdlib 默认 25; freetds 默认 4096;mssql.max_procs = -1; 指定客户端字符集. ; 如果为空或者没有指定,客户端字符集将会使用freetds.conf的配置; 只有和freetds编译时会被使用;mssql.charset = iso-8859-1[assertion]; 断言(expr); 默认打开.;assert.active = on; 对于每个失败断言发起一个php警告.;assert.warning = on; 默认不要保释.;assert.bail = off; 如果断言失败则调用用户自定义函数.;assert.callback = 0; 使用当前 error_reporting() eval一个表达式. 如果你想要在eval()附近error_reporting(0) ,那设置为true.;assert.quiet_eval = 0[com]; 包含guid,iid或者typelibs的文件的文件名的文件的路径;com.typelib_file =; 允许 distributed-com 调用;com.allow_dcom = true; 自动注册位于com_load()函数的组件typlib的常量;com.autoregister_typelib = true; 注册常量大小写敏感;com.autoregister_casesensitive = false; 当有重复常量注册时显示警告;com.autoregister_verbose = true[mbstring]; 内部字符表示的语言.;mbstring.language = japanese; 内部/脚本编码.; 部分编码无法作为内部编码使用.; (例如. sjis, big5, iso-2022-*);mbstring.internal_encoding = euc-jp; http 输入编码.;mbstring.http_input = auto; http 输出编码. mb_output_handler 必须作为函数被注册为输出缓冲;mbstring.http_output = sjis; 按照mbstring.internal_encoding的设置打开自动编码转换; 当设置为on时,输入字符被转换为内部编码.; 注意: 不要针对可移植库/应用使用自动编码转换.;mbstring.encoding_translation = off; 自动编码检测序列; 自动意味着;mbstring.detect_order = auto; 当无法将字符从一种转换到另一种时使用的置换符号;mbstring.substitute_character = none;; 使用mbstring函数 覆盖(替换) 单字节函数.; mail(), ereg(), 等等都会被 mb_send_mail(), mb_ereg() 等等覆盖,; 可以取的值是 0,1,2,4 或者他们的组合.; 例如, 7 就是覆盖所有函数.; 0: 不覆盖; 1: 覆盖 mail() 函数; 2: 覆盖 str*() 函数; 4: 覆盖 ereg*() 函数;mbstring.func_overload = 0[frontbase];fbsql.allow_persistent = on;fbsql.autocommit = on;fbsql.show_timestamp_decimals = off;fbsql.default_database =;fbsql.default_database_password =;fbsql.default_host =;fbsql.default_password =;fbsql.default_user = _system;fbsql.generate_warnings = off;fbsql.max_connections = 128;fbsql.max_links = 128;fbsql.max_persistent = -1;fbsql.max_results = 128[gd]; 告知jpeg解码器libjpeg警告并且尝试创建一个gd图像. 此警告会被作为一个通告显示; 默认为关闭;gd.jpeg_ignore_warning = 0[exif]; exif unicode 用户注释会被作为ucs-2be/ucs-2le 和 jis 来进行 jis处理.; 当 mbstring.internal_encoding 设置为空,如果有 mbstring 支持,则会自动转换到给出的对应编码设置的编码.; 对于解码设置你可以在motorola和intel字符序列上进行选择. 解码设置不能设置为空.;exif.encode_unicode = iso-8859-15;exif.decode_unicode_motorola = ucs-2be;exif.decode_unicode_intel = ucs-2le;exif.encode_jis =;exif.decode_jis_motorola = jis;exif.decode_jis_intel = jis[tidy]; 当调用tidy时,默认指向tidy配置文件的路径;tidy.default_config = /usr/local/lib/php/default.tcfg; tidy是否自动清除和修复输出?; 警告: 不要在你产生非html内容时使用此项,例如产生动态图片时tidy.clean_output = off[soap]; 打开或关闭wsdl缓冲特性.soap.wsdl_cache_enabled=1; 设置soap扩展存放缓冲文件的目录.soap.wsdl_cache_dir=/tmp; (存活时间) 设置当缓冲文件被用来替换原有缓冲文件的秒数.soap.wsdl_cache_ttl=86400; local variables:; tab-width: 4; end:
#
#
#
#
#
#
#