Magento cron.phpの実行後、何も実行されない


10

私のMagento cronは数ヶ月前まで正常に動作しています。しかし最近、突然スケジュールが生成されなくなりました。私のホスティングサーバーでcronコマンド自体が正常に動作しています。Magento ver 1.8.0.0です。

これらは私が試したものです:

  1. ブラウザでcron.phpを実行してみると、cron_scheduleテーブルにスケジュールが生成されません。

  2. AOEスケジューラ拡張機能をインストールして、問題が解決することを期待してください。この拡張機能を使用してスケジュールを生成できますが、Magento cronはcronスケジュールを実行できません。

  3. ホスティングサーバーに新しいMagento ver 1.8.0.0をインストールし、ブラウザーでcron.phpを実行しても、cron_scheduleテーブルは空のままです。

  4. 新しいMagentoバージョン1.8.0.0をローカルホストにインストールし、ブラウザーでcron.phpを実行すると、スケジュールが生成されます。だから私はそれをホスティングサーバーにアップロードしようとします。Magentoのキャッシュをクリアしてから、ブラウザーでcron.phpを実行しましたが、驚いたことにcron_scheduleテーブルでは何も起こりません。しかし、それは私のローカルホストで正常に動作します。

同じホスティングサーバーに別のMagentoサイトver 1.7.0.2があります。cronは正常に動作しています。

この問題の原因がまだわからないので、ここに投稿します。誰かが同じ問題を抱えていることを願って、解決策を共有します。


2
私は数か月前に同様の問題に遭遇しました。コマンドラインのphpインタープリターには個別のphp.ini設定があり、memory_limitの設定が低すぎるため、cronジョブが失敗していました。これがあなたの問題かどうかわかりません。
Fiasco Labs

memory_limitは256Mで、これが私が使用するコマンドです/usr/bin/wget http://www.mysite.com/cron.php >/dev/null 2>&1
Wakanina 2013年

回答:


24

私はフォーラムで解決策を見つけました(リンクはもうオンラインではありません

以前、ホスティングサーバーにMagento 1.7.0.2をインストールしようとしましたが、cronは正常に動作しています。私のホスティングではMagento 1.8.0.0 cronを実行できないと想定していたため、Magentoサイトを1.7.0.2にダウングレードする予定でした。しかし、サイトをダウングレードする前に、上記のリンクで解決策を見つけました。

  • ファイルcron.phpを編集します
  • $isShellDisabled = (stripos(PHP_OS, ‘win’) === false) ? $isShellDisabled : true; の周りの#47のコード行を追加します

    $isShellDisabled = true;

そして今、私のMagento 1.8.0.0 cronは完全に実行されます。


私の場合、あいまいな構成が原因で頭痛の種に過ぎないサーバーで作業しています。これが、cronを実行できる唯一の方法でした。
pspahn、2015年

wgetで機能しますが、名前をeq cron89128923489.phpに変更することをお勧めします;)
user956584

これも私にとってはうまくいきました。おそらくシェルのアクセス制限と関係があります。
Daniel West

リンクのMageBayVaporated ...
Fiasco Labs

この回避策が機能する理由と実際の解決策は次のとおり
Fabian Schmengler

11

ワカニーナによって与えられた解決策は私のために働いた。しかし、ファイルcron.phpの変更は、私たちのポリシーでは許容できませんでした。奇妙なことに、私は自分のサイトを2つのサーバー(同じOS、PHPバージョン)に展開し、1つのサーバーでcron.phpを実行するとcronタスクを実行し、他のサーバーでは何も起こりません。

だから私のサイトのアップグレードの証拠を維持するより良いソリューションを試さなければならなかった。

サーバーOSとしてLinuxが使用されているため、cron.phpを実行する代わりに、cron.shを実行しcrontab -eています。


2
これは、それを行う方法です。
ロビーアベリル、2015年

2

問題はmagento_root/cron.phpサーバーで設定されていませんcrontab。このファイルをcrontabに追加して、次のように機能するようにする必要があります。

# crontab -l (this command will list all the Cron jobs in Crontab)

magento_root / cron.phpファイルのエントリがあるはずです。そうでない場合は、このファイルがMagento Cronジョブの開始を担当するため、このファイルを追加する必要があります。したがって、次のようにCrontabを編集する必要があります。

# crontab -e

ファイルに次のステートメントを追加し、保存して閉じます。

* / 5 * * * * wget -O / dev / null -q path_to_magento_root / cron.php> / dev / null

詳細については、このリンクにアクセスしてください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.