1

Codeigniterサイトに、cronjobで毎日トリガーしたいメール解析スクリプトがあります。cronjobやリモートサーバーのコマンドラインの経験はあまりありません。

mysite.com/public_html/application/controllers/cronJobsにcronJobsコントローラーがあります。その中にはparseMailメソッドがあります。また、mod_rewriteを使用して、URLからindex.phpを削除しています。

parseMailメソッド、MYSITE.com / cronJobs/parseMailのブラウザーから「通常どおり」コントローラーにアクセスしたときに機能します。消えるDBインサートがあります。

しかし、cronjobでトリガーするために、私は試しました>>>

wget http://MYSITE.com/cronJobs/parseMail

そして、私は通知メールを受け取ります。しかし、それをどのように解釈するかわかりません。スクリプトを見つけていますか?エラーはありませんか?とにかく、parseMailは起動しません。

--2013-01-19 12:00:02-- http://MYSITE.com/cronJobs/parseMail
Resolving MYSITE.com... xx.xx.xx.xxx
Connecting to MYSITE.com|xx.xx.xx.xxx|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 0 [text/html]
Saving to: `parseMail.203'

0K 0.00 =0s

2013-01-19 12:00:03 (0.00 B/s) - `parseMail.203' saved [0/0]

私も試しました

-q wget http://MYSITE.com/cronJobs/parseMail

そして、「/ bin / sh:get:コマンドが見つかりません」を受け取りました

それから私もこれのバリエーションを試しました。

/usr/local/bin/php -q /public_html/index.php cronJobs parseMail
/usr/local/bin/php -q /public_html/ cronJobs parseMail
/usr/local/bin/php -q home/myusername/public_html/index.php cronJobs parseMail
/usr/local/bin/php -q home/myusername/public_html/ cronJobs parseMail

これらの方法では、コントローラーにぶつかることさえできないようです。メール通知に「入力ファイルを開けませんでした」と表示されます。

私はこれらのエラーのどれにも精通していないだけです。そのため、解決策に焦点を当てる方法がわかりません。

誰かが私に前進するためのヒントを教えてもらえますか?

4

2 に答える 2

3

解決しました

多くのグーグルの後、私は私のために働く解決策を見つけました。これが私が使用したものです(私は最初の試みの1つでとても近かったです..絶対パスを使用しませんでした。そして、以下のコメントからの提案のいくつかを使い始めたとき、phpパスは異なっていて私はしました気づかない)

これが正しいバージョンです。

/usr/local/bin/php /home/myusername/public_html/index.php cronJobs parseMail
于 2013-01-19T21:19:38.970 に答える
1

あなたのパスはどれも実際のパスではありません。すべてが無効 ( /public_htmlones) または相対 ( home/myusernameones) のいずれかです。次のようにする必要があります。

/usr/bin/env php  /home/myusername/public_html/index.php cronJobs parseMail

最初にディレクトリをドキュメント ルートに変更する必要がある場合があります。そんな時はこれを使って、

(cd /home/myusername/public_html/ &&  /usr/bin/env php index.php cronJobs parseMail)
于 2013-01-19T18:38:29.253 に答える