Passage par référence cause une fatal error
Bonjour,
Nous avons le logiciel PMB (version 3.4.16) sur un serveur qui est en PHP 5.3.17. Je dois migrer PMB en version 4.1.
J'ai récupéré les bases de données et le code de l'application sur ma machine pour tester la migration qui ne semble pas une mince affaire (passage par la version 3.5, entre autres) mais j'ai, comme kephag en 2012, une page blanche lorsque j'essaie de lancer le logiciel.
Mes investigations me conduisent sur un problème de passage par référence qui a été retiré de PHP, ma machine étant en PHP 5.4.35.
Voici l'erreur :
Citation:
Fatal error: Call-time pass-by-reference has been removed in /var/www/html/pmbcdi/classes/XMLlist.class.php on line 128
Et effectivement, dans le code, il y a un passage par référence (&$this ci-dessous):
Code:
xml_set_object($this->analyseur, &$this);
Que me conseillez-vous ?
1) Changer la version PHP sur ma machine pour la rendre compatible avec cette vieille version de PMB
Comment faire ? Un tuto quelque part ?
2) Modifier le code partout où il y a des passages par référence qui m'empêchent de faire fonctionner la base du logiciel.
Comment faire ? Un exemple avec le bout de code ci-dessus serait bienvenu avec les explications adéquates.
Il risque d'y en avoir un paquet et il y a un paquet énorme de programmes.
3) Faire un clone du serveur (c'est un serveur virtuel) et tester la migration sur le clone.
Si l'admin système veut bien et si c'est possible (espace disque entre autres).