首页 文章

PHP升级到v.5.3中断包括? [关闭]

提问于
浏览
3

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

对于每个包含,我现在得到两个警告,如下所示:

警告:include_once(file.php)[function.include-once]:无法打开流:第2行/home/content/anotherFile.inc.php中没有此类文件或目录警告:include_once()[function.include ]:在第2行的/home/content/anotherFile.inc.php中打开'file.php'以包含(include_path =' . :/ usr / local / php5_3 / lib / php')失败

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

我快速搜索了,这似乎是PHP 5.3的一个问题,它与5.3.1 ... Bug一起消失了?

有哪些可能的解决方案?


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

1 回答

  • 3

    似乎问题是由deprecated php.ini settingregister_globals = on 引起的 .

    这将导致您的 $GET 变量被提取并像您在编辑中描述的那样全局可用 .

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

相关问题