Grasshopper Posté 25 Mars 2008 Posté 25 Mars 2008 Bonjour à tous, Voici mon problème, je souhaite exécuter un script PHP à heure fixe en utilisant un cron. Le problème c'est que la technique consistant à éxécuter le script par une commande /usr/bin/php -f /dir/file.php ne fonctionne pas sur mon serveur car PHP est installé en module apache.. Vous connaissez une solution propre ?
Kioob Posté 25 Mars 2008 Posté 25 Mars 2008 Bonjour, oui : installer également PHP en cli Je ne sais pas ce qu'il en est des autres distributions, mais sous Debian les trois versions principales de PHP sont disponibles simultanément et sans le moindre conflit. aptitude install php5-cli
captain_torche Posté 25 Mars 2008 Posté 25 Mars 2008 Sinon, tu peux mettre ta page en ligne, protégée par un htaccess/htpassword, et l'appeler de la manière suivante : /usr/bin/wget -O /dev/null http://login:motdepasse@tonsite.tld/chemin/vers/tonscript.php
Grasshopper Posté 25 Mars 2008 Auteur Posté 25 Mars 2008 Bien vu pour les wget, merci Je connaissais pas php en cli. Si je l'installe, là, mes scripts php sur le web vont continuer à s'éxécuter en module ? Est-ce qu'il y a moyen ensuite de définir si un script doit être appelé en cgi par apache ou en module ?
steph29 Posté 25 Mars 2008 Posté 25 Mars 2008 l'autre avantange du cli c'est que tu peux avoir deux config php completement differente (max execution time par exemple...)
Kioob Posté 25 Mars 2008 Posté 25 Mars 2008 Il demande une solution propre et vous lui conseillez le wget Ca peut avoir quelques avantages dans le cas de PHP en module Apache si le serveur n'a aucune sécurité, mais quand même : ça reste la solution la moins propre... (mais la plus simple, je vous l'accorde). Grasshoper : je ne connais pas ta distribution, mais pour reprendre l'exemple de Debian les 3 versions peuvent être installées simultanément sans soucis oui.
Grasshopper Posté 25 Mars 2008 Auteur Posté 25 Mars 2008 Kioob, je suis sous debian etch. Donc ca doit être ok. Tu me dis 3 versions ? Tu veux dire en cgi + module + ?? Ou alors tu parles d'autre chose ?
Grasshopper Posté 25 Mars 2008 Auteur Posté 25 Mars 2008 Ah, j'ai cru que cli voulait dire module + cgi. J'ai pas saisi la différence...
Kioob Posté 25 Mars 2008 Posté 25 Mars 2008 (modifié) Pour résumer un peu ces 3 "versions principales" : - mod_php : ce qu'on appel "module", c'est la version intégrée à Apache. Il s'agit généralement de la version la plus rapide en terme de PHP pur, mais remis dans le contexte d'un site Web complet ce n'est pas forcément le cas. Toutefois le principal soucis reste la sécurité (tous les sites et applications utilisant PHP tournent sous le même utilisateur Unix). C'est la configuration la plus répandue sur les serveurs dédiés pour des raisons historiques d'après moi, et aussi parce que c'est la plus simple à installer. - la version (fast)CGI, qui est compatible avec tous les serveurs web. Si utilisée via fastcgi et suexec, implique une légère baisse de performances par rapport à mod_php ; mais apporte en contrepartie une sécurité fortement accrue (un user différent par site, application, ou sous domaine, comme on le sent). Elle permet également d'utiliser des serveurs web beaucoup plus performants que le "vieux" Apache prefork : apache2 event et lighttpd par exemple. Configuration qu'on retrouve chez la grande majorité des hébergeurs mutualisés, notamment pour l'aspect sécurité. De plus avec le safe_mode et l'open_basedir qui disparaissent de PHP 6, ce sera bientôt notre seule solution sécurisée. - la version CLI (Command Line Interface) : totalement indépendante du moindre serveur Web. Pour utiliser ses scripts PHP comme tout autre langage de script à la Perl, SH, Python, etc. La configuration par défaut est légèrement modifiée : les erreurs ne sont pas affichées au format HTML, la bufferisation est désactivée, et il n'y a pas de "time_limit". C'est pour moi la meilleure solution pour les crons. Bien sûr il s'agit de "généralités", il y a toujours des cas particuliers... Modifié 25 Mars 2008 par Kioob
Grasshopper Posté 28 Mars 2008 Auteur Posté 28 Mars 2008 Ok merci pour ces infos kioob ! Je vais donc garder une version module pour le web et installer la version CLI pour les cron, comme ça je tour est joué !
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant