0

PHPスクリプトを実行していくつかのことを実行するcronジョブを実行しています。まず、データベースを開き、テーブルの内容をmemcacheに保存します。次に、基本的に2つの配列であるJavascriptファイルを作成して、クライアントブラウザーが多くの作業を実行し、サーバーが過負荷になるのを防ぎます。これは新しく追加されました。

スクリプトは手動で非常にうまく実行され、1年以上の間、10分ごとにmemcacheを更新してその役割を果たしてきました。ここでは、Javascriptファイルのアドオンが大きな問題です。cronjob s / bは、このファイルの新しい更新版を10分ごとに作成しますが、コマンドラインから手動で実行しない限り機能していないようです。

これを確認するには、次のようにします。

ls -al id_index.js  

ファイルリストのタイムスタンプを確認します。

crontabで起動したスクリプトからJavascriptファイルを作成することに問題はありますか?

ところで、cronjobファイルのエントリは次のようになります。

# m h  dom mon dow   command
*/10 * * * * php /home/accountname/public_html/mc_store_arrays.php

ありとあらゆる助けをいただければ幸いです。

4

3 に答える 3

1

javascriptファイルが作成されることを期待しているディレクトリはどれですか?おそらくどこか作成されています...スクリプトの実行時にcronの作業ディレクトリがたまたまどこにあるか(/root/おそらく?)。出力ファイルが絶対パスまたは次のように指定されていることを確認してください。

file_put_contents(__DIR__ . '/id_index.js', $content);

これにより、実行元のパスではなく、実行中のphpスクリプトのパスに基づいてファイルが作成されます。

于 2013-01-22T09:17:26.430 に答える
1

ほとんどの場合、php cli インタープリターへの絶対パスを指定する必要があります。これは、cron 環境が使用可能な PATH 環境変数を定義することはめったにないためです。

于 2013-01-22T09:07:13.873 に答える
-1

LYNX を使用してみてください (Web ブラウザーを使用する方法と同じです)。

例: LYNX http://www.MyDomain.Com/MyScript.php?MyParameter=MyValue&And=SoOn

于 2013-01-22T08:59:05.493 に答える