У меня есть сценарий .sh
с локон команда в нем:
curl --digest "http://xxxxxxx.xxx/[email protected]";
от терминала это работает хорошо:
./script.sh #(mail arrives in my box)
с PHP это работает хорошо:
shell_exec('./phpsc.sh'); // (mail arrives in my box)
от терминала это работает хорошо:
at -f phpsc.sh now + 5 minute
# (job created, mail arrives in my box after 5 minutes)
с PHP это не будет работать:
shell_exec('at -f phpsc.sh now + 5 minute'); //:( :(
даже когда я положил at
введите команду в скрипт и запустите скрипт из php at
команда будет проигнорирована 🙁
я нашел решение,
Я удалил WWW-данные от файл /etc/at.deny и теперь команда ‘at’ работает нормально с php (sell_exec)
Я знаю, что иногда необходимо использовать source
для вызова переменных среды.
Вот то, что вы должны попробовать (адаптироваться, если вы используете что-то другое, чем КШ):
shell_exec('source ${HOME}/.kshrc ; at -f phpsc.sh now + 5 minute');
В CentOS 7 мне пришлось добавить «apache» в /etc/at.allow.