首先要講下 at 命令 是要用 /bin/bash shell 來執行的,
你可以在php裡查一下 apache 使用的是哪個 shell,
<?

$output = shell_exec('echo $SHELL');
echo $output;

?>

centos 預設 apache 的 shell 是 /bin/nologin

在linux 裡改
usermod -s /bin/bash apache

這樣就可以apache 就可以使用 at 了

由於at指令不同其他,不能用shell_exec執行,所以用以下方法
<?
php $r = popen('/usr/bin/at noon',"w"); fwrite($r,"ls -l"); pclose($r);
?>

搞定

Felix 發表在 痞客邦 PIXNET 留言(0) 人氣()