2012-04-25 16 views
14

解決済み: クラップ...なぜあなたは最終的に助けを求めることにしたのですか?CodeIgniter +コマンドライン+ Cron + Cpanel

他に誰かがこの問題を抱えている場合は、/ usr/bin/phpの代わりに/ usr/local/bin/phpから実行して、URIセグメント上のコードを取得するようにしてください。

質問は、私はCodeIgniterの最新のインストールを持っているし、すべてがローカルで正常に動作しているようです。私は最近私のファイルを私のサーバーに置き、私のcronコマンドを除いてすべてが動作しています。

コントローラをcron(ここに記載されているように:http://codeigniter.com/user_guide/general/cli.html)で呼び出すと、コントローラが取得できません。代わりに、私が得る出力は単に私のデフォルトコントローラー(ログインページ)です。

これはローカルで正常に動作し、index.phpが呼び出されているのは、デフォルトのページから出力をメールで送信しているためです。

誰かが似たような質問をここに尋ねました:CodeIgniter Cron Job on Shared Hosting?レスポンダは、これがCpanelの問題であることを示唆しました(これは私が現在cronジョブを設定しようとしています)。コマンド全体が実行されています。それにもかかわらず、CIはコントローラのURIを取得していません。また、base_urlが正しく設定されていることを確認しました(これは、URL呼び出しを通じて正常に動作するファイルによって証明されています)。

どのような考えですか?コマンドライン形式のときにURIを取得していない理由を理解できないようです。/ usr/bin/php index.php controller_class method

答えて

17

これが答えでした。ここで

+0

ありがとう、私はすでに絶望的でした –

+0

素晴らしい - これは素晴らしいです!私の正確な問題を解決しました - ありがとうございます – Laurence

+0

ありがとう!最初にこの問題が発生した場合の手順を保存するには、コマンドの完全な構文は次のようになります。/ usr/local/bin/php /home/mydomainusername/public_html/index.phpコントローラメソッド – mpemburn

0

マイクが動作してうれしいです。私は同様の問題に遭遇し、最後にcPanelホスト上で実行されていた最近のプロジェクトでCI Cron Job Bootstrapperを使用しました。私はちょうどそれを誰か他の人に役立つこの入れ墨を掲示している。

使用/usr/local/bin/php代わり/usr/bin/phpのURIセグメントにピックアップするのCodeIgniter取得する:

+0

CI Cronジョブブートストラップの壊れたリンク – shakaran

1

は、ソリューションが最初であるあなたがパスを見つける必要があるのphpinfoのDOCUMENT_ROOTパスから

PHP5 /home/abc/public_html/index.phpフォルダ名コントローラ名のfunction_name

それは私の本のために

1

を100%働いています

php54 -f /home/{cpanel_user}/public_html/index.php controller function 
+0

問題は、それがどのように動作し、いつ使用するかを説明する文脈を含める方が良いでしょう。コードのみの回答は長期的には有用ではありません。 – Bono

+0

おかげさまで私のために働いてくれてありがとう。 –

関連する問題