Насколько я могу видеть, ваш кронтаб содержит следующую строку:
* * * * * http://example.com/cron/sendsms.php
URL-адрес вызывается как команда оболочки, как если бы вы ввели http://example.com/cron/sendsms.php
в терминале и нажать Enter . Если вы хотите вызвать удаленный PHP-скрипт, вы должны использовать HTTP-клиент, например.
* * * * * wget -qO /dev/null 'http://example.com/cron/sendsms.php'
Команда выше отправляет запрос GET HTTP в URL и выводит ответ на нуль устройства (общий способ игнорировать выход).
Как и в стороне, как вы добавляете записи в кронтаб неправильно во многих отношениях.
Вы shouldn't be using the shell echo
command, вместо этого используйте printf
.
Используйте команду $(...)
для подстановки команд вместо обратных кавычек, так как a) невозможно построить вложенную подстановку команд и b) форма $(...)
более читаема.
Избегайте сложных конструкций оболочки в PHP. Если вам нужна сложная конструкция оболочки, вы должны создать отдельный файл для сценария оболочки.
Вы можете добавить запись crontab с помощью proc_open()
без необходимости в трубах оболочки.
Есть ли у вас раковины? –
Нет, брат. У меня нет доступа. –