- Home
- Categorie
- Coding e Sistemistica
- PHP
- [Script] Utilizzare cron senza account di root
-
no se fatto in un lasso di tempo acettabile
-
grazie mille della risposta...
ho un ultimo dubbio... se il fornitore di hosting non permette set_time_limit(0);
non c'è nessun modo per far funzionare questo "trucchetto"?ciao e grazie!
-
all'80% no per mia insicurezza però...
però non credo che gli Hosting non lo permettano...
-
che figata
questa me la segno
grazie
-
segnati anche questa
giorgiotave.it/forum/php-mysql/79572-ogni-15-minuti-php-mi-manda-un-email-non-so-come-interrompere.htmlcosì non torni a piangere anche tu sul forum
-
Scusate ancora,
come faccio a mettere più cron nella stessa pagina php? Ovviamente un cron ha un tempo di intervallo e un altro cron un altro tempo di intervallo. Come faccio?
-
vediamo...:?
allora, mettiamo che tu non voglia appoggiarti a un db, prendiamo l'array come input:
$crons = array([INDENT]array("nome"=>"cron1", "intervallo"=>"5", "ultimaesecuzione"=>"09:00", "funzione"=>"func1()"),
[/INDENT][INDENT] array("nome"=>"cron2", "intervallo"=>"15", "ultimaesecuzione"=>"09:00", "funzione"=>"func2()")
)
[/INDENT]while(true){[INDENT]foreach($crons as $cron){
[/INDENT][INDENT][INDENT]if(sonopassati($cron['intervalli'])minuti da $cron['ultimaesecuzione']) {[INDENT]eval( $cron['funzione']);
$cron['ultimaesecuzione'] = oracorrente;
[/INDENT]}
[/INDENT]}
sleep $N; //N deve essere minore del minimo fra gli intervalli dei cron
if(file_exists("stoppaicron.stop")) exit;
[/INDENT]}considera l'ora tarda ... potrei aver scritto una marea di frottole
-
Salve a tutti, trovo anch'io molto utile questa funzione, ma se dovessi avviare un cron, una volta sola al giorno e ad un'ora specifica... come posso fare?
Io uso dolphin, e avrei bisogno di far funzionare circa 5 cron, ma il mio host non supporta il cron job...
Tra questi cron, 2 devono partire solo una volta al giorno e solo ad una certa ora...
Ringrazio tutti...
-
trovo molto interessante questo cron, ma ho provato in tutte le maniere a fermarlo, sia quelle descritte da voi che leggendo altri post in cui si faceva riferumento a files esterni. Il risultato non cambia...una volta avviato, arrivano messaggi in continuazione, l'unico modo per fermarlo è chiudere il server o riavviarlo. Grazie a Dio ho fatto tutte le prove in locale altrimenti avrei dovuto aspettare che il mio provider riavviasse il server, cosa che non fanno tanto facilmente.
Se qualcuno ha da proporre qualche altra soluzione al problema sarei felice di testarla.
-
Ciao mephjl,
la soluzione migliore è fare un controllo nel ciclo con file_exists in modo che sia sufficiente creare il file per interrompere l'esecuzione dello script.
-
ho provato anche così, forse ho sbagliato, ti posto il codice :
ignore_user_abort(true);
set_time_limit(0);
$interval=606024; //una volta al giorno
do{
if(file_exists("fermati.stop")) exit;
// funzioni da svolgere ogni 60 minutisleep($interval); // funzione per attendere
}while(true);Se ho capito bene : se non c'è un file nella root che si chiama fermati.stop lo script va avanti, se c'è si dovrebbe fermare non appena richiamo la pagina.
Non funziona.
-
Non in root, ma nella stessa cartella dello script.
-
si, certamente...ho anche provato a dargli il percorso esatto, ma il risultato è che mi da una pagina bianca (quindi il file lo trova) ma lo script non si ferma.