J'ai un script php que je veux exécuter avec un script bash, je peux donc utiliser Cron pour exécuter le script php toutes les minutes environ.
Autant que je sache, je dois créer le script bash pour gérer le script php, ce qui me permettra ensuite d'utiliser l'outil/le timer Cron.
Jusqu'ici on m'a dit que je devais mettre:
#!/pathtoscript/testphp.php
au début de mon script php. Je ne sais pas quoi faire d'ici ...
Aucun conseil? Merci.
Si vous avez PHP installé en tant qu'outil de ligne de commande (essayez d'envoyer php
au terminal et de voir s'il fonctionne), votre ligne Shebang (#!
) doit ressembler à ceci:
#!/usr/bin/php
Placez-le en haut de votre script, rendez-le exécutable (chmod +x myscript.php
) et créez un travail Cron pour exécuter ce script (de la même manière que vous exécuteriez un script bash).
Vous pouvez également utiliser php myscript.php
.
#!/usr/bin/env bash
PHP=`which php`
$PHP /path/to/php/file.php
Un poster precedente ha detto ..
Se hai PHP installate come strumento da riga di comando ... la tua riga di Shebang (#!) Devenez apparu comme ça:
#!/usr/bin/php
Mentre questo potrebbe Essere vero ... en solo, possible, numérisé php
NON significa necessariamente ch è dove php sta per essere ... /usr/bin/php
est une position commune ... mais viens avec qualite de Shebang ... deve essere su misura per il tuo env
name__.
un mot de passe rapide par jour est prévu $PATH
, prova .. which -a php
ENTER, che per me assomiglia a ..
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
La première chose à faire est de choisir l'un des mots-clés les plus populaires ... Demander une réponse ... cliquez ici pour en savoir plus sur ... Cliquez ici pour en savoir plus sur le nom de Dell'eseguibile con env
variable_name__, venez si vous le souhaitez , ma non ne tellement molto di/trust que. BACI BACI.
Vous avez juste besoin de définir:
/usr/bin/php path_to_your_php_file
dans votre crontab.
Je suis presque sûr que quelque chose comme ceci est ce que vous recherchez:
#!/bin/sh
php /pathToScript/script.php
Enregistrez-le avec le nom de script souhaité (par exemple, runPHP.sh) et donnez-lui les droits d'exécution. Vous pouvez l'utiliser comme vous le souhaitez.
Edit: Vous pouvez aussi bien ne pas utiliser de script bash et ajouter simplement la commande "php ..." à la crontab, si je ne me trompe pas.
Bonne chance!
Le script bash devrait ressembler à ceci:
#!/bin/bash
/usr/bin/php /path/to/php/file.php
Vous avez besoin de l'exécutable php (généralement trouvé dans/usr/bin) et du chemin du script php à exécuter Il ne vous reste plus qu'à mettre ce script bash sur crontab et vous avez terminé!
un moyen rapide de savoir où se trouve votre exécutable particulier sur votre $ PATH, essayez.
Encore plus rapide pour savoir où se trouve php
...
whereis php
Je lance debian
et commande ci-dessus me montrant
php: /usr/bin/php /usr/share/php /usr/share/man/man1/php.1.gz
J'espère que cela pourra aider.
Si vous ne faites rien dans votre script bash, exécutez le script php, vous pouvez simplement exécuter le script php depuis cron avec une commande telle que/usr/bin/php/path/to/votre/fichier.php.
J'ai trouvé php-cgi sur mon serveur. Et c'est sur le chemin de l'environnement alors j'ai pu courir de n'importe où. J'ai exécuté avec succès file.php
dans mon script bash.
#!/bin/bash
php-cgi ../path/file.php
Et le script a renvoyé ceci après l'exécution du script php:
X-Powered-By: PHP/7.1.1 Type de contenu: text/html; charset = UTF-8
terminé!
À propos, vérifiez d'abord si cela fonctionne en vérifiant la version à l'aide de la commande php-cgi -v