ブラウザ (URL) からアクセスできない CakePHP 2.x MVC ロジックを含む PHP ファイルが必要です。しかし、適切なホスティングがないため、コンソール/シェルを使用できません (cake bash ファイルを実行できません) PHP スクリプトを使用した cronjob にこれが必要です (test.php の例 - PHP スクリプトを実行できますが、bash を実行できません)ファイル)。
2 に答える
これをネイティブに行う方法はありません。コンソール コマンドは、コンソールで実行します。コンソールにアクセスできない場合、コンソールに対して cron を実行する直接的な方法はありません。ただし、コントローラー/アクションに強制的にコンソール スクリプトを実行させる方法があります。次に、そのコントローラー アクションをフェッチする cron を実行する必要があります。
誰かがこれを行うためのサンプル コードを既に提供しています: https://stackoverflow.com/a/9000052/372875
彼の aco_sync() アクションが ConsoleFuncs コントローラにある場合、http://yoursite.com/console_funcs/aco_sync を取得してシェル スクリプトを実行できます。cron ジョブをセットアップするマシンで、スクリプトは単純にその URL への curl を実行し、そのコンソール スクリプトを実行します。
幸運を!
私がこれを正しく読んでいれば、ブラウザまたはコマンドライン経由でアプリケーションにアクセスできない CakePHP アプリケーションで cron ジョブを実行する方法が必要ですか? うまくいけば、ブラウザ経由でアクセスすることはできませんが、何らかのネットワーク上に存在しているということです。コントローラー/アクションにリクエストを送信するスクリプトを作成し、そのスクリプトに対して cronjob を作成します。Cake の Json または XML ビューを利用したい場合があります。また、ユーザー名/パスワードの背後にあるコントローラー/アクションを保護する必要がある場合は、ステートレス認証システムの作成を読むことを検討してください。