Fatal error: Call-time pass-by-reference has been removed in hibaüzenet php 5.4 és afölött

Fatal error: Call-time pass-by-reference has been removed in ….

PHP 5.4 -es és afölötti verzióknál jelentkezik ez a hibaüzenet, tapasztalataink szerint a régi drupal és wordpress rendszereknél, vagy egyedi kód használata esetén.

A php dokumentáció  szerint a php 5.3 óta függvény hívásakor történő referencia szerinti argumentum átadás már nem használható a továbbiakban. A függvény definíciójánál lehet referenciára hivatkozni. A PHP 5.3 esetén csak egy deprecated figyelmeztetést adott, az 5.4 vagy attól magasabb verziójú PHP esetén azonban már Fatal Error hibát jelent, ami miatt az oldal feldolgozása megszakad.

// Hibás használat!
myFunc(&$arg);               # a függvény hívásakor php 5.4 -nél már nem lehetséges
function myFunc($arg) { }

// Megfelelő használat!
myFunc($var);                # php 5.4 -ben is lehetséges, a függvény definiciójában 
function myFunc(&$arg) { }
Forrás:

http://stackoverflow.com/questions/8971261/php-5-4-call-time-pass-by-reference-easy-fix-available

 

Eddigi ismereteink szerint a drupal esetén patch -el vagy a keretrendszer frissítésével, a wordpress esetén a keretrendszer teljes frissítésével lehet orvosolni a problémát.