Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1695 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Erreur de script PHP pour crontab

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Erreur de script PHP pour crontab

n°2113513
mohoi
Posté le 28-11-2011 à 08:28:26  profilanswer
 

Bonjour,
 
Je voulais lancer un script PHP, toutes les dix minutes, via crontab, pour vérifier les utilisateurs inactifs depuis trop longtemps.
 
Pour cela, dans ma base de données d'utilisateur, j'ai une colonne "time_out" dans lequel est stocké le timestamp de la dernière modification.
 
Cependant, lorsque j’exécute mon script PHP en ligne de commande, il y a un problème.
 
Avec la ligne de commande :
 

Code :
  1. php time_out.php


 
J'obtiens l'erreur :
 

Code :
  1. PHP Warning: Directive 'register_globals' is deprecated in PHP 5.3 or greater in Unknow on line 0.
  2. Warning: Directive 'register_globals' is deprecated in PHP 5.3 or greater in Unknow on line 0.


 
Enfin, voici mon script :
 

Code :
  1. <?php
  2. /*Script de verification des connections inactives*/
  3. try
  4. {
  5.  $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
  6.  $bdd = new PDO('mysql:host=localhost;dbname=intranet', 'root', '', $pdo_options);
  7.  $reponse = $bdd->query("SELECT time_out, id_utilisateur AS id FROM utilisateur WHERE connection = '1'" );
  8.  $utilisateur = $reponse->fetchAll(PDO::FETCH_OBJ);
  9.  $reponse->closeCursor();
  10.  $step = time();
  11.  foreach ($utilisateur AS $u)
  12.  {
  13.   if ($u->time_out <= $step)
  14.   {
  15.    $reponse = $bdd->prepare("UPDATE utilisateur SET connection = '0', time_out = '0' WHERE id_utilisateur = :id" );
  16.    $reponse->execute(array('id' => $u->id));
  17.    $reponse->closeCursor();
  18.   }
  19.  }
  20.  unset($step);
  21.  unset($utilisateur);
  22. }
  23. catch (Exception $erreur)
  24. {
  25.  die ('Impossible d\'executer le script de vérification.');
  26. }
  27. ?>


 
Pouvez-vous m'aider s'il vous plait?

mood
Publicité
Posté le 28-11-2011 à 08:28:26  profilanswer
 

n°2113528
mohoi
Posté le 28-11-2011 à 10:18:34  profilanswer
 

Bonjour,
 
J'ai finalement résolu mon problème.
 
J'explique la démarche:
 
Je suis allé voir dans le "php.ini" si l'option était bien désactivé.
 
Je me suis rendu compte que l'option était en commentaire: chose fort logique, puisque depuis php 5.3, l'option par défaut est "OFF".
 
Après avoir lu quelques milliers de topic, j'ai fini par créer un .htaccess, pour forcer la désactivation. Seulement, impossible de le faire comprendre a mon fichu script.
 
J'ai bien tout essayé.
 
Je décide donc de retourner dans le php.ini, pour reprendre depuis le début. Lorsque, soudain, je remarque la phrase :
 

Code :
  1. ; We now set "register_globals" in /user/syno/etc/php/user-setting.ini


 
C'est ici que tout se déroule.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Erreur de script PHP pour crontab

 

Sujets relatifs
[C#] erreur dans le codePHP Object instanciation en double
erreur d'exécution scriptscript de désinstallation d'imprimante réseau
Aide pour script d'actualitéMise à jour automatique de code / script
Oracle et PHPAdapter un script jQuery (popin)... pour l'exécuter depuis un flash
[PL/SQL] Erreur création procédure 
Plus de sujets relatifs à : Erreur de script PHP pour crontab


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR