Ho bisogno di uno script PHP per essere eseguito automaticamente in un momento particolare. Come potrei raggiungere questo obiettivo?Come pianificare l'esecuzione di uno script PHP sul lato server?
risposta
Se si utilizza un ambiente Linux/Unix (incluso Mac OSX), create a cron job.
Se si utilizza Windows, create a scheduled task.
Nota: entrambi i collegamenti sopra riportati sono specifici per un pubblico di PHP.
How to Create a Cron Job (Scheduled Task) for Your Website or Blog se si è su linux.
Se si è non utilizzando Linux/Unix, chiedere all'host se è possibile configurare un lavoro programmato per Windows. A seconda che si riesca a superare il folto dei dipartimenti di supporto di alcuni host, dovrebbero essere contenti visto che non rappresenta necessariamente un rischio per la sicurezza
Suppongo che tu stia creando una sorta di webapp e tu ne hai bisogno del sistema per eseguire periodicamente qualcosa, quindi non può essere eseguito tramite un browser. È un po 'complicato farlo se si caricano molte librerie di terze parti o si utilizzano molte funzionalità del server, ma se si tratta di PHP diretto, è possibile farlo molto facilmente. Creare un lavoro programmato di qualche tipo (cron job su Linux, Scheduled Task su Windows, ecc.) Che esegue il comando php -f filename.php
. Questo eseguirà lo script PHP di scelta tramite l'interprete PHP CLI, che è molto simile (forse identico a) al modo in cui lo script PHP verrà eseguito tramite CGI, ma meno alcune delle variabili d'ambiente specifiche del server.
Se si modifica manualmente il crontab con crontab -e o si va ad elencarlo con crontab -l, un commento utile da mettere nella parte superiore del crontab è sotto.
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * command to be executed
30 3 * * * php /home/scripts/do_something.php
In alcuni casi, a seconda del tipo di script presente in questo "do_something.php", sarebbe meglio eseguirlo all'interno del server Web in modo che l'opzione sarebbe quella di sostituire "php /home/scripts/do_something.php" con " wget http://your.domain.com/do_something.php " – rasjani
Certo, se fosse basato sul web, allora wget lo script. Altrimenti, se si tratta di un'app cli di PHP, chiamala come dimostrata. In entrambi i casi, stavo dimostrando l'utile commento. – jmoz
- 1. Prevenzione degli script sul lato server, XSS
- 2. JavaScript sul lato server come PHP
- 3. Reagire sul lato server e sul lato client non trasparente
- 4. CSS sul lato server?
- 5. C'è un interprete javascript sul lato server, come php?
- 6. Utilizzo del nodo-ncurses sul lato client tramite script sul lato server?
- 7. Paging sul lato server con MySQL, PHP e AngularJS
- 8. GWT I18N sul lato server
- 9. Lato server Action Script 3.0
- 10. jQuery modelli sul lato server
- 11. Come mantenere attivo uno script PHP persistente?
- 12. È possibile eseguire jQuery sul lato server?
- 13. Come emettere l'evento SocketIO sul lato server
- 14. Come si usa require.js sul lato server?
- 15. Esporre il servizio web direttamente ai webclients o mantenere uno strato sottile di script sul lato server?
- 16. Implementazione di webrtc sul lato server
- 17. Autenticazione HTTP CURL sul lato server
- 18. Come utilizzare le regole di convalida sia sul lato client che sul lato server?
- 19. PHP $ _SESSION è lato server o locale?
- 20. File uploader Android con php lato server
- 21. esecuzione di uno script Python da PHP
- 22. Preelaborazione lato server per Heatmap con PHP
- 23. Node.js: Templating sul lato client Modellazione lato server v/s
- 24. GWT: Ottieni costanti sul lato server
- 25. Esecuzione sicura degli script PHP degli utenti sul server
- 26. Ottenere Jasmine per l'esecuzione sul lato server
- 27. Ottenere PHP per eseguire uno script Python
- 28. OData V4 modifica $ filtro sul lato server
- 29. Come rilevare l'eccezione di timeout del client sul lato server?
- 30. Come implementare la messaggistica cloud di Firebase sul lato server?
Qual è il tuo sistema operativo? Questo fa la differenza. – Eric