当有人访问我的页面时,从浏览器执行AT命令

时间:2018-05-25 21:59:25

标签: php apache system at-job

我需要从浏览器执行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

我收到此错误&#34; PAM失败:系统错误&#34;当有人访问我的页面时,从/ var / log / httpd / error_log。我想这个错误是由许可问题引起的,有人可以告诉我如何解决它或给我一些建议。我无法在线找到任何答案或示例。

更新

感谢Barmar提醒我,我应该使用完整路径。现在这是我的新page.php,但我仍然得到同样的错误&#34; PAM失败&#34;。有什么建议吗?

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

我认为主要问题是AT命令。如果我删除AT命令并使用&#39; sh&#39;命令它会起作用。

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

更新

所以最后我发现了问题,SELinux阻止apache使用atd命令。现在我没有得到PAM失败&#34;在我将SELinux设置为Permissive后,在error_log中。但是,我仍然收到一些错误,我的/ var / log / httpd / error_log出现在2018年5月26日星期六22:38:00&#39;作业47,一切似乎没事,但是my_job.php没有作品。为什么?我错过了什么吗?

0 个答案:

没有答案