Script Bash per eseguire script php

Ho uno script php che voglio essere eseguito utilizzando uno script bash, così posso usare Cron per eseguire lo script php o di ogni minuto.

Per quanto mi rendo conto che ho bisogno di creare lo script bash per gestire lo script php che poi mi permette di utilizzare il Cron strumento/timer.

Finora mi è stato detto che avevo bisogno di mettere:

#!/pathtoscript/testphp.php

all’inizio del mio script php. Im non sicuro di cosa fare da qui…

Qualche consiglio? Grazie.

InformationsquelleAutor mmmbaileys | 2011-03-31

 

9 Replies
  1. 70

    Se si dispone di PHP installata come strumento a riga di comando (da provare il rilascio php al terminale e vedere se funziona), il shebang (#!) riga simile a questa:

    #!/usr/bin/php

    Mettere in cima al tuo script, renderlo eseguibile (chmod +x myscript.php), e fare un job di Cron per eseguire lo script (allo stesso modo dovresti eseguire un script bash).

    È inoltre possibile utilizzare php myscript.php.

    • Se avete intenzione di utilizzare un shebang per l’uso della linea di comando, si raccomanda di usare “#!/usr/bin/env php“, in quanto consente lo script per essere più portatile, dato che PHP non può sempre essere installato in “/usr/bin/php”. Ha senso?
  2. 12

    Un precedente poster detto..

    Se si dispone di PHP installata come strumento a riga di comando… il tuo shebang (#!) riga simile a questa: #!/usr/bin/php

    Mentre questo potrebbe essere vero… solo perché è possibile digitare in php NON significa necessariamente che è dove il php sta per essere… /usr/bin/php è Un percorso comune… ma, come con qualsiasi shebang… deve essere su misura per le VOSTRE env.

    un modo rapido per sapere DOVE si trova un particolare file eseguibile si trova sul tuo $PATH, provare..
    which -a php INVIO, che per me assomiglia..

    php is /usr/local/php5/bin/php

    php is /usr/bin/php

    php is /usr/local/bin/php

    php is /Library/WebServer/CGI-Executables/php

    Il primo è l’impostazione predefinita prenderei se ho scritto nel php al prompt dei comandi… ma posso usare qualsiasi di loro in una shebang, o direttamente… È anche possibile combinare il nome del file eseguibile con env, come si vede spesso, ma io davvero non so molto circa la fiducia che. XOXO.

  3. 7

    Hai solo bisogno di impostare :

    /usr/bin/php path_to_your_php_file

    in crontab.

    • Ho dovuto aggiungere un php prima di percorso, ma il concetto lavorato.
  4. 7

    Sono abbastanza sicuro che qualcosa di simile a questo è quello che stai cercando:

    #!/bin/sh
    
    php /pathToScript/script.php

    Salvare la tua richiesta indicando il nome dello script (come runPHP.sh) e dare i diritti di esecuzione, quindi è possibile utilizzare nel modo che si desidera.

    Edit: Si potrebbe anche non usare uno script bash e il tutto, aggiungere il php …” comando crontab, se non sbaglio.

    Buona fortuna!

    • Nella maggior parte degli ambienti si può semplicemente chiamare php youscript.php ma per capire la strada giusta. E. g. utilizzando l’intero percorso /usr/bin/php myscript.php o cercando di capire in modo dinamico chiamando which php e scrivere il risultato in una variabile si utilizza più tardi.
  5. 4

    Bash script dovrebbe essere qualcosa di simile a questo:

    #!/bin/bash
    /usr/bin/php /path/to/php/file.php

    È necessario l’eseguibile php (di solito si trova in /usr/bin) e il percorso dello script php per essere eseguito. Ora devi solo mettere questo bash script in crontab e il gioco è fatto!

  6. 2

    un modo rapido per sapere DOVE si trova un particolare file eseguibile si trova in $PATH, provare.

    Anche un modo più rapido per scoprire dove php è …

    whereis php

    Sto correndo debian e comando di cui sopra mi mostra

    php: /usr/bin/php /usr/share/php /usr/share/man/man1/php.1.gz

    Speranza che aiuta.

  7. 0

    Se non si fa nulla di uno script bash che esegue il php, si può semplicemente eseguire lo script php da cron con un comando del tipo /usr/bin/php /path/to/your/file.php.

  8. 0

    Ho trovato php-cgi sul mio server. E il suo percorso di ambiente così mi è stato in grado di eseguire da qualsiasi luogo. Ho eseguito succesfuly file.php nel mio script bash.

    #!/bin/bash
    php-cgi ../path/file.php

    E lo script ha restituito questo dopo php script è stato eseguito:

    X-Powered-By: PHP/7.1.1
    Content-type: text/html; charset=UTF-8

    fatto!

    Dal modo in cui, innanzitutto, verificare se funziona controllando la versione il comando php-cgi -v

Lascia un commento