有什么方法可以轻松解决这个问题,还是我真的需要重写所有遗留代码?
PHP 致命错误:在第 30 行的 … 中删除了调用时传递引用
这在任何地方都会发生,因为变量在整个代码中作为引用传递给函数。
您应该在函数定义中通过引用来表示调用,而不是实际调用。由于 PHP 在 5.3 版中开始显示弃用错误,我认为重写代码是个好主意。
从文档中:
函数调用没有参考符号 - 仅在函数定义上。 仅函数定义就足以通过引用正确传递参数。&从 PHP 5.3.0 开始,当您使用in时,您将收到一条警告说“调用时传递引用”已被弃用foo(&$a);。
&
foo(&$a);
例如,而不是使用:
// Wrong way! myFunc(&$arg); # Deprecated pass-by-reference argument function myFunc($arg) { }
利用:
// Right way! myFunc($var); # pass-by-value argument function myFunc(&$arg) { }