Utilitaires
Scripts
Divers
Jeux
Rechercher
Quillevere.net
Réflexions informatiques

Créer une tâche CRON sur un serveur PHP

01/12/2010

Voici une procédure d'ajout d une tâche CRON en PHP, que vous pouvez utiliser sur un serveur dédié.

  • Accédez à la liste des cron de la machine en utilisant l'utilisateur www-data de PHP :
    crontab -u www-data -e
  • Ajouter une ligne de commande CRON avec votre script, comme suit :
    */10 * * * * /usr/bin/php -d open_basedir=off -f /home/WwwBSD/monSite/www/page_appelee.php
    Cette ligne indique :
    • de lancer PHP avec le fichier en paramètre (grâce àl'argument -f)
    • d'effectuer cette exécution toutes les 10 minutes
    • d'affecter la valeur OFF à open_basedir. Cela évite l'erreur "open_basedir restriction in effect".

Si vos fichiers contiennent des include ou des require avec des chemins relatifs, le chemin courant n'est pas celui de votre script mais celui de PHP. Voici une astuce à ajouter au début de votre code PHP pour le modifier :

chdir(dirname(__FILE__)); // Pour les tâches CRON, par défaut le chemin courant n'est pas celui du script.

Si vos fichiers PHP font appel à la variable $_SERVER, pensez à tester l'existence des variables de ce tableau. En effet, l'appel depuis un CRON est complètement différent des appels classiques en HTTP (HTTP_HOST n'existe pas par exemple).

Dernière modification le 11/11/2020 - Quillevere.net

Rechercher sur le site

rss RSS info Informations