■PHP板 質問専用スレッド■

このエントリーをはてなブックマークに追加
636名無しさん@お腹いっぱい。
昨日からあれこれ試しているのですがうまくできないので教えてください。

PHPで作っているFORMからatコマンドで予約をしようと考えています。
実際はメールニュースの配信予約をしようと考えています。

以下はテストで作っているスクリプトの一部です。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// 配信予約
$command = "/bin/ls -l /tmp |at 1500 2001-08-16";
$command = escapeshellcmd($command);
exec("$command") or Error("配信予約に失敗しました。");

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
※Function Error()は別途作っています。

コマンドラインから
$ /bin/ls -l /tmp |at 1500 2001-08-16
と入力すると
warning: commands will be executed using /bin/sh
job 15 at 2001-08-16 15:00
というようにワーニングは出るものの登録されます。

$ atq
でも表示されるのですが、ウェブから実行しても登録されません。
exec()関数の使い方が間違っているのでしょうか?