logguer les erreurs free.fr

logguer les erreurs free.fr - PHP - Programmation

Marsh Posté le 31-12-2007 à 18:25:12    

hello a tous,
 
Pour la demo de mon logiciel opendcf hébergé chez free je cherche à loguer les erreurs php (de maniere à ce que chaque utilisateur soit en meme temps testeur de l'appli sans nécessairement effectuer un rapport d'erreur)
 
j'essaye donc de loguer les erreurs php avec ceci :  

ini_set ('track_errors', 1);
ini_set ('log_errors',   1);
ini_set ('error_log',  dirname(__FILE__) . '/../error.log');


 
ca fonctionne tres bien en local chez moi, mais pas chez free.
 
une idée (ou plusieurs :-) )


Message édité par PierreC le 01-01-2008 à 16:08:22

---------------
Du tofu en Alsace : www.tofuhong.com
Reply

Marsh Posté le 31-12-2007 à 18:25:12   

Reply

Marsh Posté le 01-01-2008 à 19:24:26    

je ne crois pas qu'on puisse utiliser ini_set sur Free ...


---------------
NewsletTux - outil de mailing list en PHP MySQL
Reply

Marsh Posté le 01-01-2008 à 23:38:02    

en y pensant ca peut parraitre logique...
 
Y a t'il un autre moyen ?


---------------
Du tofu en Alsace : www.tofuhong.com
Reply

Marsh Posté le 02-01-2008 à 12:46:36    

recherche sur le forum :
http://forum.hardware.fr/forum2.ph [...] =0&nojs=0*

Citation :

http://fr3.php.net/manual/fr/funct [...] andler.php (pour les erreurs à l'ancienne)
http://fr3.php.net/manual/fr/funct [...] andler.php (pour le nouveau type d'erreur introduit dans php5)


 
Je n'ai pas tester chez free mais il n'y a pas de raison que ça ne marche pas.

Reply

Marsh Posté le 02-01-2008 à 14:36:27    

je suis en train de discuter de ce problème sur les newsgroup de free.
Je vous fait un compte rendu quand c'est finit.


---------------
Du tofu en Alsace : www.tofuhong.com
Reply

Marsh Posté le 03-01-2008 à 19:39:06    

ma discution sur la newsgroup de free est (je pense) finit.
 
J'ai donc demandé si on pouvait logguer les erreurs avec ini_set, et on ma repondu en gros qu'il ne faut pas que les pages perso de free consome trop de ressource, ce qui n'est pas compatible avec le log des erreurs auto. (elle est où la réponse à la question ?)
 
J'ai demandé pour seterrorHandler on ma répondu que free n'est pas une plateforme de dév. (elle est où la réponse à la question ?)
 
Donc au final j'ai pas eu d'info clair et me suit fait envoyer bouler en me disant qu'il fallait que j'aille lire la doc.
 
On peux donc remercier la news group de free ...  
 
Je vais quand meme essayer seterrorHandler, mais à mon avis le résultat sera : soit ca marche pas, soit je me fait blacklister mon site.
 
je ferais un up de la discution quand j'aurais testé.


---------------
Du tofu en Alsace : www.tofuhong.com
Reply

Marsh Posté le 04-01-2008 à 10:16:55    

Ca m'étonerait que ton site se fasse fermer par free pour avoir utiliser seterrorHandler : un phpbb consome 1000 fois plus de ressource que cette fonction et il y en a plein des phpbb sur les serveurs de free (au moins 10 000 d'après google / recherche "site:free.fr/phpbb" ).
En plus, s'ils ne voulaient vraiment pas qu'on utilise cette fonction alors il leur aurait suffit de la mettre dans la liste des fonctions indisponible ce qui leur évite de faire la chasse après coup.

Reply

Marsh Posté le 04-01-2008 à 19:35:51    

re,
 
Bon voila j'ai ecrit un bout de code pour logguer mes erreurs dans des fichiers avec la fonction set_error_handler
 
voila ce que j'ai ecrit :


$debug=1; //activer le débugage
//debug=0: //désactiver le débugage
 
if ($debug == 1)
{
 
 function myErrorHandler($errno, $errstr, $errfile, $errline)
 {
 
  $msg_erreur="";
 
  // commenter ou décommenter les lignes que vous voulez débuger
  switch ($errno) {
  case E_USER_ERROR:
   $msg_erreur.= "E_USER_ERROR";
   break;
  case E_ERROR:
   $msg_erreur.= "E_ERROR";
   break;
  case E_WARNING:
   $msg_erreur.= "E_WARNING";
   break;
  case E_PARSE:
   $msg_erreur.= "E_PARSE";
   break;
  case E_NOTICE:
   $msg_erreur.= "E_NOTICE";
   break;
  case E_CORE_ERROR:
   $msg_erreur.= "E_CORE_ERROR";
   break;
  case E_CORE_WARNING:
   $msg_erreur.= "E_CORE_WARNING";
   break;
  case E_COMPILE_ERROR:
   $msg_erreur.= "E_COMPILE_ERROR";
   break;
  case E_COMPILE_WARNING:
   $msg_erreur.= "E_COMPILE_WARNING";
   break;
  case E_USER_ERROR:
   $msg_erreur.= "E_USER_ERROR";
   break;
  case E_USER_WARNING:
   $msg_erreur.= "E_USER_WARNING";
   break;
  case E_USER_NOTICE:
   $msg_erreur.= "E_USER_NOTICE";
   break;
  case E_ALL:
   $msg_erreur.= "E_ALL";
   break;
  case E_STRICT:
   $msg_erreur.= "E_STRICT";
   break;
  case E_RECOVERABLE_ERROR:
   $msg_erreur.= "E_RECOVERABLE_ERROR";
   break;
  default:
   $msg_erreur.= "INCONNU";
  }
 
  if ($msg_erreur != "" )
  {
   $jour = date("d" );
   $mois = date("m" );
   $annee = date("Y" );
   $heure = date("H" );
   $min = date("i" );
   $msg_date="$jour/$mois/$annee $heure:$min - ";
 
   $msg_erreur=$msg_date . $msg_erreur;
 
   $msg_erreur.= ' ' . $errstr;
   $msg_erreur.= ' ' . $errfile;
   $msg_erreur.= ' ' . $errline;
   $msg_erreur.= "\n";
 
   file_put_contents(dirname(__FILE__) . '/../error2.log',$msg_erreur,FILE_APPEND);
 
  }
 
  /* Ne pas exécuter le gestionnaire interne de PHP */
  return true;
 }
 
 
// Configuration du gestionnaire d'erreurs
$old_error_handler = set_error_handler("myErrorHandler" );
 
 
}


 
et y'a qu'a faire un include de ce fichier dans les pages que l'on veux logguer.
 
Ca fonctionne très bien chez moi pas contre chez free ca ne log que les erreurs simple (E_NOTICE), pas les warnings ou strict
 
a moins que qq'un est une idée je crois que ma premiere hypothese va s'averer vrai ("Je vais quand meme essayer seterrorHandler, mais à mon avis le résultat sera : soit ca marche pas, soit je me fait blacklister mon site. " )
 
omega2 trouve moi une erreur dans mon code que j'arrete d'etre medisant des pages perso de free.
 


---------------
Du tofu en Alsace : www.tofuhong.com
Reply

Marsh Posté le 07-01-2008 à 12:06:14    

Je ne vois pas d'erreur au niveau de ton code. Si tu ne vois pas les "warnings" et les "strict" ça doit être par ce que le php.ini est réglé pour ne pas signaler ces niveaux d'erreurs là (c'est le cas chez la plupart des hébergeurs gratuits).

Reply

Marsh Posté le 07-01-2008 à 12:38:46    

les warnings je les voie sur la page web, mais pas dans mes logs.
 
Les stricts je ne les voie jamais (ce qui est normal)


---------------
Du tofu en Alsace : www.tofuhong.com
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed