Выполнить команду AT из браузера, когда кто-то заходит на мою страницу

Мне нужно выполнить команду AT из браузера. Мой /etc/at.deny пуст, а /etc/at.allow не существует. Я мог выполнить «php page.php» в командной строке с любым пользователем и работает нормально.

Вот моя страница (page.php):

<?php
exec('at -f job.txt now + 1 minutes');
?>

Мой job.txt:

/bin/php /var/www/html/my_job.php

Так что теперь я не хочу выполнять page.php, когда кто-то получает доступ к моему page.php из своего браузера:

https://mywebpage.com/page.php

Я получил эту ошибку «Ошибка PAM: системная ошибка» из / var / log / httpd / error_log, когда кто-то заходит на мою страницу. Я предполагаю, что эта ошибка вызвана проблемой с разрешением, может кто-нибудь подскажет, как ее исправить, или подскажет. Я не могу найти ответ или пример в Интернете.

ОБНОВИТЬ

Благодаря Бармар напомнил мне, что я должен использовать полный путь. И теперь это мой новый page.php, но я все еще получаю ту же ошибку «Ошибка PAM». Любое предложение, пожалуйста?

<?php
exec('at -f /var/www/html/job.txt now + 1 minutes');
>?

Я думаю, что главная проблема — AT команда. Если я удалю команду AT и использую команду ‘sh’, она будет работать.

exec('sh /var/www/html/job.txt');

ОБНОВИТЬ:

Наконец, я обнаружил проблему: SELinux блокирует apache для использования команды atd. Теперь я не получаю сообщение об ошибке PAM в error_log после того, как установил свой SELinux на Permissive. Тем не менее, я все еще получаю некоторую ошибку, мой / var / log / httpd / error_log появляется «работа 47 в субботу, 26 мая 22:38:00 2018», все кажется нормальным, но my_job.php не работает. Зачем? Я что-то пропустил?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …