• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

将 PHP 从 4.0.6 升到 4.2.1 的注意事项

发布: 2007-7-01 15:06 | 作者: admin | 来源: | 查看: 19次 | 进入软件测试论坛讨论

领测软件测试网 以前做了个购物网站的PHP程序,但前不久将PHP从4.0.6升到4.2.0后再一运行那程序就面目全非了(惨相啊.....:)
不过最终问题还是解决了,最近有人也碰到了相同的问题来问我,所以我干脆写出来吧。

我碰到的出错主要问题在PHP.INI中的配置参数register_globals=off

此项设off后PHP的程序就不会自动从Cookie,Session及页面地址"?"号后的参数中得到变量的值了,也不会自动接收form表单所传的值,之所以默认这样做是为了防止变量中毒(variable poisoning),PHP以前版本这一项不是默认off的所以没出问题。

解决方法是:
echo $HTTP_COOKIE_VARS[@#variable@#];//得到cookie的值
echo $HTTP_SESSION_VARS[@#variable@#];//得到session的值
echo $HTTP_POST_VARS[@#variable@#];//得到表单所传的值-----相应表单框名
echo $HTTP_GET_VARS[@#variable@#];//得到"xxx.php?variable=123456"中问号后面所跟的变量值
echo $HTTP_SERVER_VARS[@#REMOTE_ADDR@#];//得到对方IP地址
echo $HTTP_POST_FILES[@#@#];//取得用表单传过来的文件
?>

希望大家在今后写代码时尽量用如上的完整写法(等出错后再改代码那可是劳民伤财啊),因为上面的那种写法无论是在register_globals设为on时还是off时都不会出错,且安全性更高。

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网