2

http://bakery.cakephp.org/articles/view/calling-controller-actions-from-cron-and-the-command-lineを参照し、cron_dispatcher.php を作成して app フォルダーに配置しました。

ユーザーコントローラーのテストメソッドで実行するcronジョブのテストメール関数を返しました。

そして、Webサーバーのコントロールパネルで次のようなCronジョブを作成しました

"/usr/bin/php/home4/enventur/public_html/pennystock/cron_dispatcher.php /users/test"

しかし、「入力ファイルが指定されていません」というエラーが表示されます。

私を助けてください、それを解決する方法??

前もって感謝します

4

3 に答える 3

4

違う方法でやったのですが、

手順を参照してください。他の人にとって役立つ場合があります。

Cakephp フレームワーク構造を使用した Cron/Shell:

  1. 作成

    F:\websites\projectname\app\vendors\shells\filename.php

    class ClassName extends Shell {
        //var $uses = array('Post'); //name of Model
    
        //Main function runs always when shell executes
        function main() {
            mail("nidhin@2basetechnologies.com","Test","Test");
        }
    }
    

2.754パーミッションを設定しますF:\websites\projectname\cake\console\cake

  1. cronジョブを次のように設定します/home4/enventur/public_html/pennystock/cake/console/cake -app "/home4/enventur/public_html/pennystock/app" ClassName >/dev/null 2>&1

    /dev/null 2>&1: サーバーからの警告/エラー/メッセージの抑制用

ニディンさんありがとう

于 2010-07-29T11:40:09.043 に答える
3

指定したファイルが PHP で見つからないようです。パスが正しいことを確認してください。例えば:

# incorrect path
/home4/enventur/public_html/pennystock/cron_dispatcher.php

# correct path (?)
/home4/enventur/public_html/pennystock/app/cron_dispatcher.php

さて、この次の部分はあなたの質問に直接答えるものではありませんが、CakePHP シェルがまさにこの目的のために意図されていることは注目に値します。

というシェルを作成し、コードをにMailerコピーした場合は、次のように呼び出します(パスが正しいことを再度確認してください)。UsersController::test()MailerShell::test()cron

/home4/enventur/public_html/pennystock/cake/console/cake -app /home4/enventur/public_html/pennystock/app mailer test

このアプローチではcron_dispatcher.php、古いベーカリーの記事 (4 年前のクリスマスに CakePHP 1.1 について書かれたもの) で述べたように、使用する必要はありません。

于 2010-07-07T12:53:03.700 に答える
0

cronジョブは、特定の日時にコマンドを実行する長時間実行プロセスです。

ドメインのcpanelアカウントに移動します。

まず、cronジョブを使用してコードを実行するファイルを作成します。そして、あなたのウェブサイトのルートフォルダにファイルをアップロードします。

次に、cpanelアカウントの[cronジョブ]セクションに移動し、テキストボックスにファイルパスを入力して、ファイルを実行するタイムスケジュールを設定します。

ありがとう。

于 2010-07-07T05:40:59.653 に答える