0

私は商用システムを作成しており、誰にとっても機能する必要があるため、cron ジョブを設定する「一般的な」方法を作成しようとしています。

これは私がやっていることです:

<?php
$data = '0 0,12 * * * -q /public_html/currency.php ';
file_put_contents('cron.txt', $data, FILE_APPEND);
exec('sudo crontab cron.txt', $output, $return);
if($return === 0)
{
  echo 'Cron Successful';
  } else {
  echo 'Cron Unsuccessful' . $output;
}
?>

そして、エラーが発生します: Cron UnsuccessfulArray

このエラーが発生するのはなぜですか? cron.txt には、$data.

4

2 に答える 2

0

変数は関数への$outputPHP 配列参照として渡されexecます ( http://php.net/manual/en/function.exec.php )

この配列を文字列にキャストするには、次の例のようにprint_r( http://www.php.net/manual/en/function.print-r.php ) のような関数を使用することをお勧めします。

if ($return === 0) {
  $message = 'Cron Successful';
} else {
  $message = 'Cron Unsuccessful' . print_r($output, true);
}

コメントで示唆されているように、セキュリティ上の懸念から、Web サーバー ユーザーを sudoers に残すことはお勧めしません。

于 2013-08-28T21:26:42.707 に答える