У меня есть php-скрипт, который я хочу запустить с помощью сценария bash, поэтому я могу использовать Cron для запуска php-скрипта каждую минуту или около того.
Насколько мне известно, мне нужно создать скрипт bash для обработки скрипта php, который затем позволит мне использовать инструмент / таймер Cron.
До сих пор мне сказали, что мне нужно поставить:
#!/pathtoscript/testphp.php
в начале моего php-скрипта. Я не уверен, что делать дальше …
Любой совет? Благодарю.
Если PHP установлен как инструмент командной строки (попробуйте выпустить php
на терминал и посмотреть, работает ли он), ваша строка shebang ( #!
) Должна выглядеть так:
#!/usr/bin/php
Поместите это в начало своего скрипта, сделайте его исполняемым ( chmod +x myscript.php
) и сделайте задание Cron для выполнения этого скрипта (так же, как вы выполнили бы скрипт bash).
Вы также можете использовать php myscript.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
, как это часто видно, но я действительно мало знаю об этом / доверяю. XOXO.
#!/usr/bin/env bash PHP=`which php` $PHP /path/to/php/file.php
Вам просто нужно установить:
/usr/bin/php path_to_your_php_file
в вашем кронтабе.
Я почти уверен, что что-то вроде этого – то, что вы ищете:
#!/bin/sh php /pathToScript/script.php
Сохраните это с помощью нужного имени скрипта (например, runPHP.sh) и дайте ему права на выполнение, тогда вы можете использовать его, как хотите.
Редактировать: вы также можете не использовать скрипт bash вообще и просто добавить команду «php …» в crontab, если я не ошибаюсь.
Удачи!
Сценарий bash должен быть примерно таким:
#!/bin/bash /usr/bin/php /path/to/php/file.php
Вам нужен исполняемый файл php (обычно находится в / usr / bin), а путь к скрипту php запускается. Теперь вам нужно только поставить этот скрипт bash на 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.php.