PHP5与旧的PHP4代码

时间:2012-07-17 17:44:23

标签: php apache deprecated

我的朋友要我调整他的网站。但是我得到了错误

  

不推荐使用:在第7行的C:\ xampp \ htdocs \ toolmanager \ toolmanager \ index.php中弃用了按引用分配new的返回值

     

致命错误:无法在第154行的C:\ xampp \ htdocs \ toolmanager \ toolmanager \ includes \ classloader_platform.php中重新分配自动全局变量_REQUEST

当我尝试使用PHP5在apache上运行代码时。这是代码:

        require("includes/classloader_platform.php");
line 7->$classloader =& NEW classloader('0','30',$_GET,'1');
        $classloader->initialize($classloader);

line 154-> function __construct($cache=false,$cache_lifecycle=false,$_REQUEST,$template_parser=false) {
           ini_set("memory_limit","200M");
           //globalize _REQUEST
           $this->_REQUEST=$_REQUEST;
...

我认为这是因为他是用PHP4标准编写的,所以将apache切换到PHP4会更好吗?还是有一些简单的修复这些错误?

1 个答案:

答案 0 :(得分:4)

还原为PHP 4.它已经过时且不受支持。

对于“已弃用:按引用分配新的返回值”,只需删除&即可。这是多余的。

$classloader = NEW classloader(...);

对于“致命错误:无法重新分配自动全局变量”,将函数参数$_REQUEST重命名为其他内容,例如$REQUEST,然后重命名后续出现的内容它的功能。您不能拥有与超全局同名的函数参数。

function __construct($cache=false,$cache_lifecycle=false,$REQUEST,$template_parser=false) {
    // ...
    $this->_REQUEST=$REQUEST;
    // ...