01/12/2010Voici une procédure d'ajout d'une tâche CRON pour lancer un programme 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 :
- Ajoutez 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 l'exécutable PHP avec le fichier programme en paramètre (grâce à l'argument -f)
- de déclencher 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 20/02/2018 - Quillevere.net