Program-E Php目标错误

时间:2012-02-02 04:10:54

标签: php artificial-intelligence aiml

所以我正在使用一个名为program-e的PHP-AIML程序,它很棒,我知道它会在前一段时间内完成稳定,但它适用于php 4.0.4,现在即时通讯5.0,所以我不知道该怎么做。

我的foreach()函数的代码在这里:

// Turn this off in case people have it on.
set_magic_quotes_runtime(0);

// Can't turn off magic quotes gpc so just redo what it did if it is on.
if (get_magic_quotes_gpc()) {
    foreach($HTTP_GET_VARS as $k=>$v)
        $HTTP_GET_VARS[$k] = stripslashes($v);
    foreach($HTTP_POST_VARS as $k=>$v)
        $HTTP_POST_VARS[$k] = stripslashes($v);
    foreach($HTTP_COOKIE_VARS as $k=>$v)
        $HTTP_COOKIE_VARS[$k] = stripslashes($v);
}

这是我在页面上看到的错误:

Warning: Invalid argument supplied for foreach() in /home/content/80/8657080/html/e/src/admin/dbprefs.php on line 42

Warning: Invalid argument supplied for foreach() in /home/content/80/8657080/html/e/src/admin/dbprefs.php on line 44

Warning: Invalid argument supplied for foreach() in /home/content/80/8657080/html/e/src/admin/dbprefs.php on line 46

所以我该如何解决这个问题。

1 个答案:

答案 0 :(得分:1)

来自Predefined Variablesdocs上的PHP手册:

  

从PHP 5.0.0开始,长PHP预定义变量数组可能是   使用 register_long_arrays 指令禁用。

这意味着可以使用 register_long_arrays 指令关闭(已弃用的)$HTTP_GET_VARS$HTTP_POST_VARS$HTTP_COOKIE_VARS

不应该使用它们,因为它们已被弃用了很长时间。相反,请使用$_GET$_POST$_COOKIE超全球。

最后,不要沮丧,但我会亲自远离针对PHP版本优化的任何事情< 5.3如果可能的话。