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 :
J'obtiens l'erreur :
Code :
- PHP Warning: Directive 'register_globals' is deprecated in PHP 5.3 or greater in Unknow on line 0.
- Warning: Directive 'register_globals' is deprecated in PHP 5.3 or greater in Unknow on line 0.
|
Enfin, voici mon script :
Code :
- <?php
- /*Script de verification des connections inactives*/
- try
- {
- $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
- $bdd = new PDO('mysql:host=localhost;dbname=intranet', 'root', '', $pdo_options);
- $reponse = $bdd->query("SELECT time_out, id_utilisateur AS id FROM utilisateur WHERE connection = '1'" );
- $utilisateur = $reponse->fetchAll(PDO::FETCH_OBJ);
- $reponse->closeCursor();
- $step = time();
- foreach ($utilisateur AS $u)
- {
- if ($u->time_out <= $step)
- {
- $reponse = $bdd->prepare("UPDATE utilisateur SET connection = '0', time_out = '0' WHERE id_utilisateur = :id" );
- $reponse->execute(array('id' => $u->id));
- $reponse->closeCursor();
- }
- }
- unset($step);
- unset($utilisateur);
- }
- catch (Exception $erreur)
- {
- die ('Impossible d\'executer le script de vérification.');
- }
- ?>
|
Pouvez-vous m'aider s'il vous plait?