PHP升级到v.5.3的突破包括?

我被要求修复一个在几天前已经很好的网站,现在由于主机将PHP升级到了v.5.3,因此无法包含文件

对于每个包含我现在得到两个警告,像这样:

警告:include_once(file.php)[function.include-once]:未能打开流:第2行中的/home/content/anotherFile.inc.php中没有这样的文件或目录

警告:include_once()[function.include]:在/home/content/anotherFile.inc.php文件中打开'file.php'失败(include_path ='。:/ usr / local / php5_3 / lib / php')第2行

我不想重写网站。 有没有办法修复路径? 它在共享主机上,我无法修改php.ini

我搜索得很快,它似乎与PHP 5.3的问题,这与5.3.1消失...错误?

什么是可能的解决方案?


更新:我认为问题是与代码。 它是在几年前编写的,$ _GET值被用作$值。 更改为$ _GET ['value']似乎解决了一些问题。


看起来问题是由一个不赞成的php.ini设置引起的: register_globals = on

这会导致你的$GET变量被提取出来并像你在编辑中描述的那样在全局上可用。

在php 5.3中,此设置已被弃用,但尚未删除,因此在重构时,可以再次将其重新打开,以便您的网站再次运行。 但是 ,请注意,您确实需要摆脱此设置,因为它存在安全风险,并且已在PHP 5.4中完全删除

链接地址: http://www.djcxy.com/p/57683.html

上一篇: PHP upgrade to v.5.3 breaks includes?

下一篇: php.ini reload in php