Constantes non définies dans les logs.

Résolu/Fermé
heliconius Messages postés 545 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 23 juin 2023 - 16 juin 2016 à 21:09
heliconius Messages postés 545 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 23 juin 2023 - 17 juin 2016 à 00:23
Bonsoir,

J'ai un fichier init.php que j'inclus en début des pages PHP qui vont travailler avec la base de données. Il contient d'autres fonctions utiles à toutes les pages mais mon problème ne se situe pas dans celles-ci. En voici un extrait :

// ---------- Infos de connexion à la base de données
define (NOM,    "username");
define (PASS,   "mot-de-passe");
define (SERVER, "num IP ou nom FQDN");
define (BASE,   "userdatabase");

// Affiche un éventuel message d'erreur et arrête les scripts
function showError($error,$sql="") {
   $cnx = $GLOBALS["connexion"];
   if($error == 1) { echo "Serveur inaccessible!"; }
   if($error == 2) { echo "Base de données inaccessible!";    }
   if($error == 3) { echo "Erreur requête!<br>".mysql_error($cnx)."<br/>$sql"; }
   exit;
}

// Effectue la connexion au serveur de base de données puis sélectionne la base de données
if(!@$connexion = mysql_pconnect(SERVER,NOM,PASS)) { showError(1); }
if(!@$ok = mysql_select_db(BASE,$connexion))       { showError(2); }


Tout marchait très bien jusqu'ici sauf que plus rien ne fonctionnait hier. En fait, le disque de mon VPS était plein et pour cette raison, la base de données ne pouvant plus travailler était injoignable. En regardant dans les fichiers logs du serveur apache2, l'un des fichiers (error_log) faisait une taille de 11 Go. et contenant des lignes et des lignes et des lignes de :

[Wed Jun 15 23:26:47 2016] [warn] [client num-IP] mod_fcgid: stderr: PHP Notice:  Use of undefined constant NOM - assumed 'NOM' in /var/www/vhosts/.../init.php on line 5, referer: "referer page"
[Wed Jun 15 23:26:47 2016] [warn] [client num-IP] mod_fcgid: stderr: PHP Notice:  Use of undefined constant PASS - assumed 'PASS' in /var/www/vhosts/.../init.php on line 6, referer: "referer page"
[Wed Jun 15 23:26:47 2016] [warn] [client num-IP] mod_fcgid: stderr: PHP Notice:  Use of undefined constant SERVER - assumed 'SERVER' in /var/www/vhosts/.../init.php on line 7, referer: "referer page"
[Wed Jun 15 23:26:47 2016] [warn] [client num-IP] mod_fcgid: stderr: PHP Notice:  Use of undefined constant BASE - assumed 'BASE' in /var/www/vhosts/.../init.php on line 8, referer: "referer page"


Je définis les constantes avec :
define (NOM, "username");

ainsi que les autres. Les constantes sont définies or, le fichier log m'indique que j'utilise des constantes non définies (en gros: la constante NOM n'est pas définie mais je présume qu'il s'agit de NOM. C'est un peu fort de café, je trouve !). J'avoue ne pas comprendre ni savoir comment écrire ces définitions pour éviter de me retrouver avec un site bloqué, les fichiers logs ayant pris toute la place avec des alarmes incompréhensibles.

Quelqu'un aurait-il une idée dans le genre : modifier php.ini pour ne pas enregistrer de telles alarmes dans les logs ou définir les constantes différemment mais là, je ne vois pas comment. Mais surtout je ne comprends pas qu'on me dise que j'utilise des constantes non définies alors que, justement, je les ai définies !!!

D'avance, je vous remercie pour votre aide.


1 réponse

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
16 juin 2016 à 21:24
Bonjour

avec des quotes c'est mieux.... ;-)

define ("NOM","quelquechose");




0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
16 juin 2016 à 21:25
0
heliconius Messages postés 545 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 23 juin 2023 137
Modifié par heliconius le 17/06/2016 à 00:31
Alors là, je suis bluffé !
Cela fait des années que je fais des scripts et des applications PHP en définissant les constantes avec cette écriture parce que je l'avais appris de cette manière dans un livre spécialisé dans le développement basé sur PHP et MySQL !

Je ne sais pas quoi dire ! Vraiment, merci. Je vais donc reprendre tous les scripts du serveur pour effectuer les corrections. Je pense que ça va sérieusement soulager les fichiers error_log

Encore une fois merci et très bonne continuation.

Fil de conversation clos pour moi car résolu.
0