ホームページ >バックエンド開発 >PHPチュートリアル >ubuntu - Linux のスケジュールされたタスク crontab の php タスクを実行できません。考えられる理由をお問い合わせください。

ubuntu - Linux のスケジュールされたタスク crontab の php タスクを実行できません。考えられる理由をお問い合わせください。

WBOY
WBOYオリジナル
2016-12-01 01:28:011395ブラウズ

test.php スクリプトの実行を待機しています。このスクリプトはローカル環境で実行することもできます。Linux 上で php test.php を手動で実行することでも実行できます。 リーリー

スケジュールされたタスクを編集するには、crontab -eを実行します

リーリー

私の試み:

  • ps -ef | grep cron を実行してスケジュールされたタスクのプロセスを確認すると、スケジュールされたタスクが実行されていることがわかりますので、スケジュールされたタスクが開始されていないことは問題ありません

  • /usr/sbin/service cron restart を実行し、スケジュールされたタスクを再起動します。 cron.log には記録がなく、20161025.txt にも内容はありません。

    chomd +x test.php を実行して権限を増やしますが、効果はありません
  • どのphpを実行して/usr/bin/phpを返す phpのパスは正しいです
  • 考えられる原因はまだ見つかりません。アイデアを教えてください
補足:

最終テストスケジュールタスクが実行可能

リーリー

スクリプトを使用して現在の時刻を出力し、毎分実行されます

返信内容:

test.php スクリプトの実行を待機しています。このスクリプトはローカル環境で実行することもできます。Linux 上で php test.php を手動で実行することでも実行できます。 リーリー

スケジュールされたタスクを編集するには、crontab -eを実行します

リーリー

私の試み:

ps -ef | grep cron を実行してスケジュールされたタスクのプロセスを確認すると、スケジュールされたタスクが実行されていることがわかりますので、スケジュールされたタスクが開始されていないことは問題ありません

  • /usr/sbin/service cron restart を実行し、スケジュールされたタスクを再起動します。 cron.log には記録がなく、20161025.txt にも内容はありません。

  • chomd +x test.php を実行して権限を増やしますが、効果はありません
  • どのphpを実行して/usr/bin/phpを返す phpのパスは正しいです
  • 考えられる原因はまだ見つかりません。アイデアを教えてください
  • 補足:

    最終テストスケジュールタスクが実行可能
  • リーリー
スクリプトを使用して現在の時刻を出力し、毎分実行されます

PHP パスは正しいですが、スケジュールされたタスクを開始するとき、作業ディレクトリは PHP ファイルが配置されているディレクトリではないため、コードを変更する必要があります
リーリー

パスが間違っているようなので、PHPスクリプトの相対アドレスを絶対パスに変更してみてください

PHP パスは正しいです。エラーは PHP コードの一部のパスにあります。コマンド ライン プログラムを作成するときは、相対ディレクトリなどの依存関係を使用しないようにしてください。

間違いは crontab を実行する前にあります。 php スクリプトを手動で実行して、エラーの場所を確認します。

相対パスを出力します。それはあなたが思い描いた道ではないはずです。

できます



権限に問題があることを確認してください。次の crontab -l を実行して、スケジュールされたタスクが正常に追加されたことを確認します。 リーリー
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。