Home  >  Article  >  Backend Development  >  Fatal error: Call-time pass-by-reference has been removed,passbyreference_PHP教程

Fatal error: Call-time pass-by-reference has been removed,passbyreference_PHP教程

WBOY
WBOYOriginal
2016-07-13 10:18:481013browse

Fatal error: Call-time pass-by-reference has been removed, passbyreference

The following code reports an error: Fatal error: Call-time pass-by-reference has been removed

function myFunc($arg) { do something... }

myFunc(&$arg);//Call myFunc

or

function myFunc(&$arg) { do something... }

myFunc(&$arg);//Call myFunc

Error analysis:
allow_call_time_pass_reference boolean
Whether to issue a warning when parameters are passed by reference during function calls. This method is deprecated and will likely no longer be supported in a future version of PHP/Zend. The encouraged approach is to specify in the function definition which parameters should be passed by reference. Everyone is encouraged to try turning this option off and ensuring that the script runs properly to ensure that the script also works in future versions (you will receive a warning every time you use this feature).

It is not recommended to pass parameters by reference when calling functions, because it affects the cleanliness of the code. If a function's parameters are not declared to be passed by reference, the function can modify its parameters through undocumented methods. To avoid its side effects, it is best to specify only when the function is declared that parameters need to be passed by reference.

Changelog for allow_call_time_pass_reference Version Description
5.4.0 Removed from PHP.
5.3.0 Emits an E_DEPRECATED level error.
5.0.0 Deprecated, and generates an E_COMPILE_WARNING level error.



Pass-by-reference parameters have been removed when calling functions , that is, you cannot pass parameters to call functions through function(&$a).
Solution:
Check your php.ini configuration file, adjust the allow_call_time_pass_reference parameter to true, and try restarting the server .

In addition, the previous php code may cause this error after upgrading to version 5.4 of php:

When we use functions (or classes) like this, an error will be generated:

myFunc(&$arg);//Call myFunc

Actually, it is wrong to use it this way, but the previous error level was only Deprecated.

The correct way to use it should be when defining the function:

function myFunc(&$arg) { do something... }

And just pass the parameters directly when calling:

myFunc($var);//Call myFunc



Fatal error: Call-time pass-by-reference has been removed in D:\EasyPHP\www\Paixd\DailyAuction\ Prcie

It means that reference parameters have been removed when calling, that is, you cannot pass parameters to call functions through function(&$a).

Solution:

Check you php.ini configuration file, adjust the allow_call_time_pass_reference parameter to true, and try restarting the server.

========================================
In addition, previously The php code may have this error after upgrading to version 5.4 of php:

When we use a function (or class) like this, an error will be generated:

foo(&$var );

Actually, it is wrong to use it this way, but the previous error level was only Deprecated.

The correct way to use it should be when defining the function:

function foo(& $var) {
//other code
}

And Just pass the parameters directly when calling: foo($var);

A line of text appears after bugfree logs in

Go to the problematic line and remove the & from variables such as &$this, then restart xampp or bugfree;
or modify allow_call_time_pass_reference=On in php.ini

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/880093.htmlTechArticleFatal error: Call-time pass-by-reference has been removed, passbyreference The following code reports an error: Fatal error: Call-time pass-by-reference has been removed function myFunc( $arg)...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn