Là, tu as utilisé des fonctions anonymes -- qui est une des grosses nouveautés de PHP 5.3 ; et ça n'existe pas en 5.1
Fonction nommée :
function ma_fonction($param) {
// blah
}
Fonction anonyme :
$ma_fonction = function ($param) {
// blah
}
Un client qui te fait faire du PHP 4 ? Heu... quitte le ^^
Même du PHP 5.1... comment dire... faut arrêter d'utiliser des vieilles Redhat/CentOS toutes pourries qui fournissent des soft en versions qu'il y a 4 ans...
Pour ton problème de passage par référence : le message ne te dit pas de ne pas passer par référence.
Il te dit qu'il faut déclarer la fonction comme prenant une référence ; et non pas faire ce passage par référence à l'appel.
Fonction recevant une référence :
function plop(& $param) {
}
plop($toto);
Fonction ne recevant pas de référence, en recevant une à l'appel (deprécié) :
fonction plop($param) {
}
plop(& $toto);
Au pire, tu peux toujours modifier l'error_reporting (pour désactiver les remontées de trucs dépréciés), pour les faire disparaitre, ces messages -- en attendant de corriger ton code pas beau.