Magento cron.php Tidak Melakukan Setelah Itu Berjalan

10

Cron Magento saya berfungsi normal sekitar beberapa bulan yang lalu. Namun baru-baru ini, tiba-tiba berhenti membuat jadwal. Perintah cron itu sendiri berjalan dengan baik di server hosting saya. Ini adalah Magento ver 1.8.0.0.

Inilah yang saya coba:

  1. Saya mencoba menjalankan cron.php di browser, dan itu tidak menghasilkan jadwal di tabel cron_schedule.

  2. Instal ekstensi Penjadwal AOE, berharap ini dapat menyelesaikan masalah. Saya dapat membuat jadwal menggunakan ekstensi ini, tetapi Magento cron tidak dapat menjalankan jadwal cron.

  3. Instal Magento ver 1.8.0.0 di server hosting, dan kemudian jalankan cron.php di browser, tabel cron_schedule masih kosong.

  4. Instal Magento ver 1.8.0.0 segar di localhost saya, dan kemudian jalankan cron.php di browser, itu menghasilkan jadwal. Jadi saya mencoba mengunggahnya ke server hosting. Saya menghapus cache Magento, kemudian menjalankan cron.php di browser, yang mengejutkan tidak ada yang terjadi di tabel cron_schedule. Tapi itu berfungsi dengan baik di localhost saya.

Saya punya situs Magento lain ver 1.7.0.2 di server hosting yang sama, cron berfungsi dengan baik.

Saya masih tidak tahu apa penyebab masalah ini, jadi saya posting di sini. Berharap seseorang memiliki masalah yang sama, dan membagikan solusinya.

Wakanina
sumber
2
Saya mengalami masalah serupa beberapa bulan yang lalu. Interpreter php baris perintah memiliki konfigurasi php.ini terpisah dan memory_limit diset terlalu rendah sehingga tugas cron akan gagal. Tidak yakin apakah ini masalah Anda.
Fiasco Labs
Memory_limit 256M dan ini adalah perintah yang saya gunakan /usr/bin/wget http://www.mysite.com/cron.php >/dev/null 2>&1.
Wakanina

Jawaban:

24

Saya menemukan solusinya di forum ( tautan tidak online lagi )

Sebelumnya saya mencoba menginstal Magento 1.7.0.2 di server hosting saya, dan cron berjalan dengan baik. Jadi saya berasumsi hosting saya tidak dapat menjalankan Magento 1.8.0.0 cron jadi saya berencana untuk menurunkan situs Magento saya ke 1.7.0.2. Tetapi sebelum saya menurunkan situs saya, saya menemukan solusi pada tautan di atas.

  • Edit file cron.php
  • Setelah $isShellDisabled = (stripos(PHP_OS, ‘win’) === false) ? $isShellDisabled : true; sekitar # 47 tambahkan baris kode ini

    $isShellDisabled = true;

Dan sekarang My Magento 1.8.0.0 cron berjalan dengan sempurna.

Wakanina
sumber
Dalam kasus saya, saya bekerja pada server yang tidak memberi saya sakit kepala karena konfigurasi yang ambigu. Ini adalah satu-satunya cara saya bisa menjalankan cron.
pspahn
Ini berfungsi untuk wget, tetapi lebih baik ubah nama menjadi eq cron89128923489.php;)
user956584
Ini juga berhasil bagi saya. Mungkin ada hubungannya dengan pembatasan akses shell.
Daniel West
Tautan memiliki MageBayVaporated ...
Fiasco Labs
Saya menjelaskan mengapa solusi ini bekerja dan apa solusi sebenarnya di sini: magento.stackexchange.com/questions/137130/…
Fabian Schmengler
11

Solusi yang diberikan oleh Wakanina bekerja untuk saya. Namun, mengubah file cron.php agak tidak dapat diterima dalam kebijakan kami. Yang aneh adalah bahwa saya telah menggunakan situs saya di dua server (dengan OS yang sama, versi PHP) dan pada satu server mengeksekusi tugas cron ketika cron.php dieksekusi dan di server lain tidak ada yang terjadi.

Jadi harus mencoba solusi yang lebih baik yang akan membuat bukti upgrade situs saya.

Alih-alih mengeksekusi cron.php, saya sekarang mengeksekusi cron.sh melalui crontab -ekarena Linux digunakan sebagai OS server.

Rakesh Shewale
sumber
2
Inilah yang harus dilakukan.
Robbie Averill
2

Masalahnya magento_root/cron.phptidak diatur di server crontab. Kita perlu menambahkan file ini di crontab agar bisa berfungsi sebagai berikut.

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

Seharusnya ada entri untuk file magento_root / cron.php. Jika tidak, kami perlu menambahkan file ini karena file ini bertanggung jawab untuk memulai pekerjaan Magento Cron Anda. Jadi kita perlu mengedit Crontab sebagai berikut.

# crontab -e

Tambahkan pernyataan berikut dalam file dan tutup setelah menyimpannya.

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

Untuk informasi lebih lanjut, kunjungi tautan ini

saiid
sumber