Faire un script en php autonome

Faire un script en php autonome - PHP - Programmation

Marsh Posté le 22-02-2007 à 12:23:57    

Bonjour a tous,
voila j'ai une base de donnée ou j'aimerais ajouter des informations automatiquement. J'ai écris un programme en php qui insère des données d'un fichier texte dans la BDD. Mais ce script se lance uniquement lorsqu'on éxécute la page .php.  
J'aimerais donc qu'il se lance par exemple toutes les minutes, un peu come un "cron" ou un planificateur de taches.
Comment faire ?
D'avance merci et a bientot  :hello:  
 
PS: mon serveur hébergeant la BDD tourne en local, sous ubuntu.

Reply

Marsh Posté le 22-02-2007 à 12:23:57   

Reply

Marsh Posté le 22-02-2007 à 12:25:30    

ben justement utilise cron pourle lancer... nan ?

Reply

Marsh Posté le 22-02-2007 à 12:28:09    

je crois qu'il ne sait pas comment faire un cron, non ?

Reply

Marsh Posté le 22-02-2007 à 13:27:15    

si si je sais lol, mais j'avais pas penser qu'on pouvais lancer une page php. C'est vrai que ca parait logique, mais vu que je n'ai fais que des cron avec des script en bash, je n'y avais pas pensé...
merci ;)

Reply

Marsh Posté le 22-02-2007 à 16:09:52    

faut utiliser dans le cron php.exe script.php

Message cité 1 fois
Message édité par rufo le 22-02-2007 à 16:10:04
Reply

Marsh Posté le 22-02-2007 à 16:13:10    

DrOctopus a écrit :

Bonjour a tous,
voila j'ai une base de donnée ou j'aimerais ajouter des informations automatiquement. J'ai écris un programme en php qui insère des données d'un fichier texte dans la BDD. Mais ce script se lance uniquement lorsqu'on éxécute la page .php.  
J'aimerais donc qu'il se lance par exemple toutes les minutes, un peu come un "cron" ou un planificateur de taches.
Comment faire ?
D'avance merci et a bientot  :hello:  
 
PS: mon serveur hébergeant la BDD tourne en local, sous ubuntu.


 

rufo a écrit :

faut utiliser dans le cron php.exe script.php


Mouais bof le php.exe s'il tourne sous Linux :D
Moi serais plutôt pour faire un hit dessus avec un truc genre lynx ...


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 22-02-2007 à 16:34:42    

esox_ch a écrit :

Mouais bof le php.exe s'il tourne sous Linux :D
Moi serais plutôt pour faire un hit dessus avec un truc genre lynx ...


 
ok, y'a pas l'extension..
 
Voici un ex d'envoi de mail tous les soirs à 20h00 du lundi au vendredi
00 20 * * mon-fri php -q /var/www/html/SendAMail.php


Message édité par rufo le 22-02-2007 à 16:34:51
Reply

Marsh Posté le 12-03-2007 à 19:21:04    

re, j'ai essayé tant bien que mal, je n'y arrive pas. Pourtant j'ai bien installé le paquet php4-cgi, et j'ai mis dans mon crontab:
* * * * * root php -q /var/www/public/script.php
 
C'est pas apache qui doit etre configuré d'une certaine maniere sinon ?
d'avance merci ;)

Reply

Marsh Posté le 12-03-2007 à 19:56:44    

et si tu te le lances avec ta petite main sans le cron ? t'a pas un message d'erreur ?
sinon , dans les log du cron

Reply

Marsh Posté le 12-03-2007 à 21:30:13    

bah jy ai pensé, mais le .php n'apparait pas comme un fichier éxécutable. Ca doit etre ca le osuci en fait. Après avoir installé le paquet php4-cgi, j'ai mis cette ligne au début de mon fichier php:  
#!/usr/bin/php4-cgi
Si le je lance dans un navigateur, ca marche par contre, mais bon ca parait logique.

Reply

Marsh Posté le 12-03-2007 à 21:30:13   

Reply

Marsh Posté le 12-03-2007 à 21:32:01    

chmod +x

Reply

Marsh Posté le 12-03-2007 à 21:53:11    

déja tenté, rien ny fai :(

Reply

Marsh Posté le 12-03-2007 à 21:58:06    

et d'ailleur la commande php nomdufichier.php me retourne:
php commande inconnue

Reply

Marsh Posté le 12-03-2007 à 22:51:37    

Faut p-e commencer par chercher par là non?

Reply

Marsh Posté le 13-03-2007 à 00:18:07    

il faudrait peut etre commencé par faire un petit which php pour savoir ou se trouve l'executable de php et apres tu mets le chemin complet ...

Reply

Marsh Posté le 13-03-2007 à 19:01:47    

Ok ca va un peu mieux, j'ai installé le paquetage php4-cli, et maintenant je peux exécuter un script php avec la commande php nomfichier.php.
Mais j'ai une nouveau soucis, mon script php a pour but d'inserer des choses dans une BDD mysql. Donc lorsque je lance mon script en ligne de commande, j'ai un message comme quoi il ne connait pas la fonction mysql_connect() . (et les autre non plu je pense)
 
Savez vous d'ou peux venir ce nouveau probleme svp ?

Reply

Marsh Posté le 14-03-2007 à 15:35:09    

le paquet php4-mysql est bien installé?


---------------
--
Reply

Marsh Posté le 15-03-2007 à 08:42:44    

ok c bon, il fallait installer la librairie php4-cli et oter le commentaire de mysql.so dans php.ini
 
Seulement j'ai un autre souci, j'ai fait un script en bash qui doit lancer le fichier php toute les minute. La commande "php monfichier.php" marche tres bien. Lorsque je met la cmd php dans mon script bash et que je lance mon script en ligne de commande ca marche aussi.
La ou ca devient bizarre, c'est que dans le cron, lorsque jy met mon script a lancer toutes les minutes, il n'execute pas le php. Pourtant les autres commande (comme rm pour suppr le fichier) marche bien.
Je vois vraiment pas, et vous ?

Reply

Marsh Posté le 15-03-2007 à 12:26:56    

montres ce que t'as mis dans le cron?


Message édité par rufo le 15-03-2007 à 12:27:03
Reply

Marsh Posté le 15-03-2007 à 13:20:46    

dans le crontab il y a juste : * * * * *      root      /var/www/monscript
 
et mon script c'est :
#!/bin/bash
php /var/www/fichierphp.php
quit
 
je précise que l'éxécution du script en ligne de commande fonctionne...

Reply

Marsh Posté le 15-03-2007 à 13:57:00    

et pourquoi tu fais pas comme moi :  
* * * * *      root      php /var/www/fichierphp.php

Reply

Marsh Posté le 15-03-2007 à 14:31:03    

bah je fai également d'autre commande bash dans mon script, donc j'aimerais bien faire qu'un seul cron. Mais ce qui est bizarre, c'est que mon script marche en ligne de commande, mais pas dans le cron. Enfin si, il marche bien le script, mais pas la commande php que j'ai mi dedan.
je c pas si c'es tres clair lol

Reply

Marsh Posté le 15-03-2007 à 14:36:45    

Peut-être aprce qu'il ne sait pas où se trouve l'exe php

Reply

Marsh Posté le 15-03-2007 à 20:05:10    

esox_ch a écrit :

Faut p-e commencer par chercher par là non?


 

weed a écrit :

il faudrait peut etre commencé par faire un petit which php pour savoir ou se trouve l'executable de php et apres tu mets le chemin complet ...


 

Reply

Marsh Posté le 16-03-2007 à 16:25:28    

j'ai essayé avec le chmin complet de léxecutable, c'est toujours pareil, le script qui contient la comande php foctionne en comande, mais pas dans le cron, alors que les autre commandes contenu elles-aussi dans le script fonctionnent....

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed