繁体   English   中英

PHP代码从5.2升级到5.4

[英]PHP Code upgrade from 5.2 to 5.4

我有一个用PHP 5.2编写的旧网站,但是升级PHP版本后,该网站现在停止工作。

这是我得到的错误:

PHP Fatal error:  Call-time pass-by-reference has been removed in /var/www/vhosts/crm/httpdocs/libs/formval.class.php on line 212, referer: http://crm/admin/index.php

来自formval.class.php的代码

            // Are there any functions to run?
        if ($functions != '') {

            // Put the functions into an array.
            $functionArray = explode(',', $functions);

            // Loop through and run the functions.
            for ($i = 0; $i < sizeof($functionArray); $i++) {

                $functionName = $functionArray[$i];

                switch ($functionName) {

                    case 'isNumber':
                        $callFunction = $this->isNumber($data, &$errorMsg);
                        break;

                    case 'isNumberND':
                        $callFunction = $this->isNumberND($data, &$errorMsg);
                        break;

                    case 'isNotZero':
                        $callFunction = $this->isNotZero($data, &$errorMsg);
                        break;

                    case 'isValidEmail':
                        $callFunction = $this->isValidEmail($data, &$errorMsg);
                        break;

                    case 'isValidDate':
                        $callFunction = $this->isValidDate($data, &$errorMsg);
                        break;

                    case 'isValidPassword':
                        $callFunction = $this->isValidPassword($data, &$errorMsg);
                        break;

                    default:
                        $callFunction = TRUE;

                }

这是第212行:

$callFunction = $this->isNumber($data, &$errorMsg);

因为这是在Plesk 11.5上运行的,所以它不允许我使用apache模块安装5.2,仅安装CGI或FastCGI,但都不能使该站点运行。 有任何想法吗?

问题是您不能通过引用来调用,使用

$callFunction = $this->isNumber($data, $errorMsg);

代替

$callFunction = $this->isNumber($data, &$errorMsg);

另外,您还必须更改isNumber函数声明,从

public function isNumber($data, $errorMsg)

public function isNumber($data, &$errorMsg)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM