Migration PHP 5.3.3 vers PHP 7.1.8

Default
,

Bonjour,

Suite à la migration de PHP 5 vers PHP 7 ( Apache : 2.4 / Red Hat : 4.8), les variables d’environnement apparaissent bien dans le PHP infos mais ne peuvent pas être appelées par leur nom.

Exemple : $u = /serveur/cerapp
La variable est bien définie sur Linux :
[ /serveur/ ] echo $u
/serveur/cerapp
Dans PHP infos il y a bien $_ENV[« u »] avec la valeur : /serveur/cerapp
Par contre :
<?php
echo 'u: ' . $u ;
?>
N’affiche pas la valeur de $u
Cela fonctionnait très bien en PHP 5.3.3. Le problème est que dans mon application j'ai beaucoup d'"include" qui utilise des variables d'environnement (exemple : include($u."/DB_connect.php");)
Quelqu’un a-t-il une idée ?

Merci d’avance,
Marcel

4 Réponse

21827
,

Pourquoi pas tout simplement utiliser $_ENV([cle_de_ta_variable_environement'] ?

Default
,

Bonjour Gorgio,

Merci pour ta réponse.

C'est une possibilité mais cela m'obligerait à modifier tous les programmes de l'appli.
S'il y a ne possibilité de récupérer la valeur de mes variables dans PHP, je suis preneur.

Marcel

21827
,

Alors en regardant vite fait la doc de PHP tu utilises une fonctionalité de PHP qui est déprécier : le paramètre ini variables_order (http://us3.php.net/manual/en/ini.core.php#ini.variables-order) qui à besoin de register_globals (http://us3.php.net/manual/en/ini.core.php#ini.register-globals) qui a était supprimer en PHP 5.4 donc non aucun moyen de récuperer la valeur comme ça.

Default
,

Merci pour ta réponse,

Je vais donc faire les modifications.

Bonne journée,
Marcel