1

基本的に、「crontask」というファイルにcronジョブを追加する小さなスクリプトを開発しました。それを実行して、cronジョブになります。スクリプトは次のとおりです。

 <?php

    $filename = "../../tmp/crontask.txt";
    $output = shell_exec('crontab -l');
    $something = file_put_contents($filename, $output.'* * * * * NEW_CRON'.PHP_EOL);
    $cngDir = chdir('../../tmp/');
    echo exec('crontab ' . getcwd() . '/crontask.txt');
    //var_dump($exe);

?>

すべて問題ありません。パスは同じです。印刷されたパスをコピーして貼り付けると、IT は cronjob を実行しますが、PHP では実行しませんか???

exec 関数を除いて、すべてが機能しますが、実行されません。何か案は?

ターミナルで、もしそうなら:

string(25) "crontab /tmp/crontask.txt"

それを実行します。

4

2 に答える 2

1

次のことを試してください。

  • フルコマンドパスを使用してコマンドを呼び出します。スクリプト環境で$PATHが設定されておらず、設定されていない場合はコマンドが見つからないことがあります。

  • http://php.net/manual/en/function.chdir.phpを使用して、スクリプトの作業ディレクトリを設定します

  • ファイルにアクセスするには絶対パスを使用してください

于 2012-11-27T23:11:17.027 に答える