Bash скрипт для запуска php скрипта

У меня есть php-скрипт, который я хочу запустить с помощью скрипта bash, поэтому я могу использовать Cron для запуска php-скрипта каждую минуту или около того.

насколько я знаю, мне нужно создать скрипт bash для обработки скрипта php, который затем позволит мне использовать инструмент Cron/таймер.

до сих пор мне сказали, что мне нужно поставить:

#!/pathtoscript/testphp.php

в начале моего PHP-скрипта. Я не знаю, что делать дальше...

какие-либо советы? Спасибо.

8 ответов


если у вас установлен PHP в качестве инструмента командной строки (попробуйте выдать php к терминалу и посмотреть, работает ли он), ваш shebang (#! строка) должна выглядеть так:

#!/usr/bin/php

поместите это в верхней части скрипта, сделайте его исполняемым (chmod +x myscript.php) и сделайте задание Cron для выполнения этого сценария (так же, как вы выполняете сценарий bash).

вы также можете использовать php myscript.php.


#!/usr/bin/env bash
PHP=`which php`
$PHP /path/to/php/file.php

предыдущий плакат сказал..

если у вас установлен PHP в качестве инструмента командной строки... ваш shebang (#!) строка должна выглядеть так: #!/usr/bin/php

при этом мог бы быть правдой... только потому, что вы можете ввести php Не обязательно означает, что именно там будет php... /usr/bin/php является общим местом... но, как и с любым shebang... он должен быть адаптирован к вашему env.

быстрый способ узнайте, где находится ваш конкретный исполняемый файл на вашем $PATH попробуйте.. ➜which -a php ENTER, что для меня похоже..

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

первый из них по умолчанию я бы получил, если бы я просто набрал php в командной строке... но я могу использовать любой из них в shebang или напрямую... вы также можете объединить исполняемое имя с env, как часто видно, но я не очень много знаю о / trust это. К XOXO.


вам просто нужно установить :

/usr/bin/php path_to_your_php_file

в вашем crontab.


Я уверен, что что-то вроде этого вы ищете:

#!/bin/sh

php /pathToScript/script.php

сохраните это с желаемым именем скрипта (например, runPHP.sh) и дать ему права на выполнение, то вы можете использовать его, как вы хотите.

Edit: вы можете вообще не использовать скрипт bash и просто добавить "php ...- командуйте кронтаб, если я не ошибаюсь.

удачи!


скрипт bash должен быть примерно таким:

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

вам нужен исполняемый файл php (обычно находится в /usr/bin) и путь PHP-скрипта для запуска. Теперь осталось только положить этот скрипт в crontab и все готово!


быстрый способ узнать, где находится ваш конкретный исполняемый файл на вашем $PATH, попробуйте.

еще более быстрый способ узнать, где php есть ...

whereis php

Я debian и выше команды, показывающей мне

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

надеюсь, что это поможет.


Если вы ничего не делаете в своем скрипте bash, чем запустить php, вы можете просто запустить PHP-скрипт из cron с помощью команды /usr/bin/php /path/to/your/file.РНР.