2010-03-19 4 views
-1

Je suis nouveau avec le travail de cron en php, fondamentalement je veux envoyer l'email à l'utilisateur sur certain moment de période. Je veux envoyer l'email journalier, hebdomadaire, mensuel, trimestriel, annuel, ou quantité spécifique de jours. Dans le modèle intelligent je veux utiliser ce type de fonction Est-ce que n'importe quel corps sait comment faire tihs?Comment utiliser cron job dans le moteur Social?

Répondre

1

CRON est basé sur le serveur. Vous ne pouvez pas exécuter des travaux CRON depuis PHP. Vous l'avez réellement exécuté sur le serveur. Si vous avez un hébergement partagé ou quelque chose, vous pouvez généralement configurer des tâches CRON via le panneau de contrôle administratif ou quelque chose de similaire.

+0

fondamentalement je veux envoyer l'email à l'utilisateur sur certain laps de temps. Je veux envoyer l'email journalier, hebdomadaire, mensuel, trimestriel, annuel, ou quantité spécifique de jours. comment puis-je atteindre en PHP? –

0

Il est possible d'écrire dans le crontab de l'utilisateur du serveur web depuis PHP, en fonction de la configuration de sécurité.

$job = "* * * * * /bin/ls"; 
$p = popen("crontab -", "w"); 
$return = fwrite($p, $job, strlen($job)); 
pclose($p); 

Ceci effacera le contenu de votre crontab existant. Vous pouvez lire le travail existant en premier:

$p = popen("crontab -l", "r"); 
while ($crontab[] = fgets($p)) { /* ... */ } 
pclose($p); 

Ensuite, modifiez-les le cas échéant. Vous voulez que votre code soit idempotent afin que vous puissiez l'exécuter plusieurs fois sans vous soucier de ce qui va se passer.

Notez que votre hôte ne peut pas autoriser votre PHP à le faire, et même si c'est le cas, ce n'est peut-être pas une bonne idée. Comme le dit @Foo, le meilleur moyen est de parler directement à cron. Obtenez une session shell et exécutez crontab -e, ou voyez ce que vous pouvez faire avec l'interface web que vous pouvez obtenir.

Questions connexes