Как правильно вызвать скрипт через консоль?

D
На сайте с 28.06.2008
Offline
1101
607

Есть скрипт, который предположительно будет работать несколько часов. Если работа прервется ниче страшного, при перезапуске он продолжит с того же места где прервался.

Для его работы я заказал ВПС, настроил ЛАМП дебиан 9.

На локалке скрипт вызывался так - https://localhost/translation_import.php?lang=zh-CN&offset=12

как мне вызвать его через консоль? Зайти в директорию сприта и прописать

php translation_import.php?lang=zh-CN&offset=12

?

rustelekom
На сайте с 20.04.2005
Offline
522
#1

/pathto_php_binary/php -f /pathto_script/translation_import.php - это если скрипт вызывается без параметров.

Если же нужно с имитацией запроса из браузера, тогда так:

/pathto/GET https://domain.com/translation_import.php?lang=zh-CN&offset=12 > /dev/null 2 > &1

Вместо GET можно использовать wget, curl с соответствующими опциями.

SSD VPS, SSD хостинг и выделенные серверы в Германии или РФ, FTP хранилища, регистрация доменов и SSL сертификаты ( https://www.robovps.biz/ ) Контакты: Telegram ( https://t.me/rustelekom_bot )
[umka]
На сайте с 25.05.2008
Offline
456
#2

Используя CLI-версию, вы параметры QUERY STRING никак не передадите.

Если скрипт вызывается из командной строки через CLI

/path/to/php script.php aaa=bbb ccc=ddd ...

То параметры командной строки можно получить из массива $argv

Можно так же поставить на файл права на выполнение, а в начале файла указать CGI-версию интерпретатора:

#!/path/to/php-cgi

И уже запускать его просто как консольный скрипт:

/path/to/script.php aaa=bbb ccc=ddd

Тогда параметры из командной строки попадут в массив $_GET

Лог в помощь!
DV
На сайте с 01.05.2010
Offline
644
#3

Ещё полезно присуседить параметр "-d display_errors=1", т.к. по-умолчанию php не отдаёт в CLI ошибки.

VDS хостинг ( http://clck.ru/0u97l ) Нет нерешаемых задач ( https://searchengines.guru/ru/forum/806725 ) | Перенос сайтов на Drupal 7 с любых CMS. ( https://searchengines.guru/ru/forum/531842/page6#comment_10504844 )
D
На сайте с 28.06.2008
Offline
1101
#4

В общем разобрался, вызывать нужно так (предварительно нужно изменить сайм скрипт)

php /var/www/test-site/console_import.php zh-CN 12

Теперь вопрос, если я повешу это на крон, например раз в неделю, как запустить это задание крона?

LEOnidUKG
На сайте с 25.11.2006
Offline
1723
#5
как запустить это задание крона?

Не поверишь, но именно так прямо и вставляется.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
D
На сайте с 28.06.2008
Offline
1101
#6
LEOnidUKG:
Не поверишь, но именно так прямо и вставляется.

Куда вставляется? Если я запущу щас так из консоли и закрою ее - то все остановится (я проверял). Я хочу запустить задачу из под крона

---------- Добавлено 22.02.2018 в 12:07 ----------

Нужна команда принудительного запсука задач крона

LEOnidUKG
На сайте с 25.11.2006
Offline
1723
#7
Нужна команда принудительного запсука задач крона

Так в крон вставь свою строку на выполнения и укажи когда тебе надо это выполнить.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий