rss
CrontabPlus
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

PHP, comment simuler une crontab ???...

Nico, le mardi 7 décembre 2004 à 16:08:06
Bonjour à tous,
Mon site est chez un hébergeur, donc je n'ai pas accès au systeme, et donc je ne peu utilisé la crontab d'unix ou AT de MS...
Pour cela, quelq'un aurait il une astuce pour lancer des scripts php périodiques ???...
Merci à tous pour vos réponses.
A+
NICO
Répondre à Nico  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
StreM, le mercredi 8 décembre 2004 à 00:49:45
Si tu trouves, dis le moi ;)


Moins le blanc est intelligent, plus le noir lui parait bête­
Répondre à StreM

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
daip, le jeudi 8 février 2007 à 10:20:38
up, car moi aussi, cela m'interesse...
Répondre à daip

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Reivax962, le jeudi 8 février 2007 à 11:19:41
Bonjour,

Des scripts périodiques en php, ce n'est hélas pas possible...
Je vois deux solutions :

Tu stockes en base de données la date de la dernière exécution de ton (tes) script(s).
Sur chaque page de ton site, tu rajoutes un include qui contient le script que tu veux exécuter. Bien sûr, il faudra vérifier par rapport à la dernière exécution que l'heure est passée...

Au final, si tu as pas mal de connexions sur ton site, tu pourras obtenir un pseudo-cron à peu près fiable. C'est tout-à-fait adapté si les effets de tes cron sont uniquement visibles par les utilisateurs qui visitent tes pages (ie : le premier utilisateur qui se connecte après l'heure théorique de déclenchement verra les effets, puisqu'il a lui-même déclenché le script). Par contre, si personne ne vas sur ton site, mais que tu veux que celui-ci t'envoie des emails toutes les 30 minutes, ça va pas le faire.

D'où une autre solution que je vois, mais qui nécessite plus de matos...
Tu écris ton script php à une adresse visible de l'extérieur.
Sur une autre machine (ton ordi, par exemple), tu crées un Cron / une tâche planifiée / autre qui va en fait faire la requête vers le script php de ton serveur.

Voilà...

Xavier
Répondre à Reivax962

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Ptit_Jej, le vendredi 8 juin 2007 à 16:08:04
Voici un lien vers un gars qui en a fait un.

Je l'ai essayé en le recopiant (pas de copier/coller parce que y a des fautes de frappes)
Mais j'ai un souci pour le moment à le faire fonctionner .

/!\ il me fait une boucle infini d'erreur /!\

Essayez le (chez vous parce que sinon le serveur va pas apprécier) et dites mois si vous arrivez à le faire marcher.
Répondre à Ptit_Jej

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Ptit_Jej, le vendredi 8 juin 2007 à 16:09:11
Oups, dsl j'ai oublié le lien.

Le voici : http://matthieu.developpez.com/execution_periodique/

Voilà.
Répondre à Ptit_Jej

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
belsion, le mardi 12 juin 2007 à 19:26:40
une autre adresse
http://www.webcron.org/

de mémoire:
- maximum de 6 tâches, après faut donner un coup de main au webmaster (don, pub,...)
- période max 1h, on ne peut pas faire plus d'exécution.
Répondre à belsion

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 Peloo, le samedi 1 septembre 2007 à 06:13:16
ou alors sais sur ta page index que tu execute une requete msql avec un if comme ca a chaque visite de ton site la requete sera faite
par exemple si tu veux envoyer un mail une tel date a certain membre

tu ajoute un champs dateok a ta structure
sur ta page index tu fais une conecxion a ta base de données et tu la fait verifier si la date inséré correspont a la date d aujourd hui si sais le cas tu lance la fonction de selection des membres qui ont la date = a aujourd hui et tu envoye le mail un truc dans se genre

ps : je viends de vite faire ca avant d aller bosser donc j ai pas tester !!!!!
mais en gros je crois que ca doit se faire comme ca

//La date du jour
$time = time();
	
//On définit le set_time_limit a l'infini pour pouvoir envoyer le messsage à tous les membres s'il y en a bcp
set_time_limit(0);

//On sélectionne tous les emails et on envoie le message
$selection="select * from membres where dateok='".$time."'";
	$sql=mysql_query($selection);
	    while ($a_row=mysql_fetch_assoc($sql)){

$headers ='From: "Nom expediteur"<Email expediteur>'."\n";

$message ='Bonjour, '.$a_row['pseudo'].' 
Votre message blablabla



----
Toute l\'équipe de Votre site.
';
	if(!mail($mail, '[Votre site] sujet du message', $message, $headers))	
	
}



sinon il y a ouvrir la page de verification en popup mais beaucoup de personnes ont un antipopup ou alors faire la recherche comme indiqué et mettre une si il y a aucune corespondance laisser continuer sur le site si il y a corespondance avec la requete faire un truc du genre
<script type='text/javascript'>
<!--

function redirect() {
window.location='ici l adresse de la  page qui va envoye le mail'
}
setTimeout('redirect()','1000');

// -->
</script>"



mais le prob sais que si ca doit envoyer 100 mails le gars qui visite le site va devoir attendre lol
et ensuite une fois le mail envoyer refaire le meme renvoyer le membre vers la bonne page.


sinon la j aipas d autre idée qui me vienne car si tu nas pas d acces directe au serveur pour faire le cron je crois que tu n as pas le choix de le faire le cron par la viste de ton site je crois j en sais pas plus.
bon je go bosser bye
Configuration: Windows XP
Firefox 2.0.0.4
Répondre à Peloo
Logiciels pertinents trouvés dans les téléchargements
Télécharger PHP Edit 0.6PHP Edit - PHPEdit est un environnement de développement intégré (IDE) sous Windows pour le langage PHP. Il offre un grand nombre de...Catégorie: PHP
Licence: Freeware/gratuit
Télécharger WAMP Server 2.0cWAMP Server - WAMP5 (WAMP signifiant Windows Apache Mysql PHP) est une plateforme de développement Web sous Windows. Il vous permet de...Catégorie: Serveurs
Licence: Freeware/gratuit
Télécharger easyPHP 2.0b1easyPHP - EasyPHP est un environnement de travail packagé comprenant le serveur web Apache, le système de gestion de bases de données...Catégorie: Serveurs
Licence: Open Source
Télécharger PSPad 4.5.2PSPad - PSPad est un excellent éditeur de texte. Il est utile pour travailler sur du simple texte, mais aussi sur du HTML, CSS,...Catégorie: Développement
Licence: Freeware/gratuit
Plus de logiciels gratuits sur « PHP, comment simuler une crontab ???... »