Magento cron.php Không có gì sau khi nó chạy


10

Cron Magento của tôi hoạt động bình thường khoảng một vài tháng trước. Nhưng gần đây, nó đột nhiên ngừng tạo lịch trình. Lệnh cron tự chạy tốt trong máy chủ lưu trữ của tôi. Đó là Magento ver 1.8.0.0.

Đây là những gì tôi đã thử:

  1. Tôi thử thực thi cron.php trong trình duyệt và nó không tạo lịch biểu trong bảng cron_schedule.

  2. Cài đặt phần mở rộng AOE Lập lịch, hy vọng nó có thể giải quyết vấn đề. Tôi có thể tạo lịch biểu bằng tiện ích mở rộng này, nhưng cron Magento không thể thực hiện lịch cron.

  3. Cài đặt Magento ver 1.8.0.0 mới trong máy chủ lưu trữ, và sau đó thực thi cron.php trong trình duyệt, bảng cron_schedule vẫn trống.

  4. Cài đặt Magento ver 1.8.0.0 mới trong localhost của tôi và sau đó thực thi cron.php trong trình duyệt, nó tạo lịch biểu. Vì vậy, tôi cố gắng tải nó lên máy chủ lưu trữ. Tôi xóa bộ nhớ cache Magento, sau đó thực thi cron.php trong trình duyệt, đáng ngạc nhiên là không có gì xảy ra trong bảng cron_schedule. Nhưng nó hoạt động tốt trong localhost của tôi.

Tôi có một trang Magento khác phiên bản 1.7.0.2 trong cùng một máy chủ lưu trữ, cron đang hoạt động tốt.

Tôi vẫn không biết nguyên nhân của vấn đề này là gì, vì vậy tôi đăng nó ở đây. Hy vọng rằng ai đó có cùng một vấn đề, và chia sẻ giải pháp.


2
Tôi gặp phải một vấn đề tương tự vài tháng trước. Trình thông dịch php dòng lệnh có cấu hình php.ini riêng và memory_limit được đặt quá thấp nên các công việc cron sẽ thất bại. Không chắc chắn nếu đây là vấn đề của bạn.
Phòng thí nghiệm Fiasco

Memory_limit là 256M và đây là lệnh tôi sử dụng /usr/bin/wget http://www.mysite.com/cron.php >/dev/null 2>&1.
Wakanina

Câu trả lời:


24

Tôi tìm thấy giải pháp trong các diễn đàn ( liên kết không trực tuyến nữa )

Trước đây tôi đã cố gắng cài đặt Magento 1.7.0.2 trong máy chủ lưu trữ của mình và cron đang chạy tốt. Vì vậy, tôi cho rằng máy chủ lưu trữ của tôi không thể chạy cron Magento 1.8.0.0 vì vậy tôi đã lên kế hoạch hạ cấp trang web Magento của mình xuống 1.7.0.2. Nhưng trước khi tôi hạ cấp trang web của mình, tôi đã tìm thấy giải pháp trên liên kết trên.

  • Chỉnh sửa tập tin cron.php
  • Sau $isShellDisabled = (stripos(PHP_OS, ‘win’) === false) ? $isShellDisabled : true; khoảng # 47, thêm dòng mã này

    $isShellDisabled = true;

Và bây giờ cron My Magento 1.8.0.0 chạy hoàn hảo.


Trong trường hợp của tôi, tôi đang làm việc trên một máy chủ không cho tôi điều gì ngoài đau đầu do cấu hình mơ hồ. Đây là cách duy nhất tôi có thể có được cron để chạy.
pspahn

Nó hoạt động cho wget, nhưng thay đổi tên tốt hơn thành eq cron89128923361.php;)
user956584

Điều này làm việc cho tôi quá. Có lẽ một cái gì đó để làm với hạn chế truy cập shell.
Daniel West

Liên kết có MageBayVaporated ...
Phòng thí nghiệm Fiasco

Tôi đã giải thích lý do tại sao cách giải quyết này hoạt động và giải pháp thực sự ở đây là gì: magento.stackexchange.com/questions/137130/ Kẻ
Fabian Schmengler

11

Giải pháp được đưa ra bởi Wakanina đã làm việc cho tôi. Tuy nhiên, việc thay đổi tệp cron.php là loại không thể chấp nhận được trong chính sách của chúng tôi. Điều kỳ lạ là tôi đã triển khai trang web của mình trên hai máy chủ (có cùng hệ điều hành, phiên bản PHP) và trên một máy chủ, nó thực thi các tác vụ cron khi cron.php được thực thi và trên máy chủ khác không có gì xảy ra.

Vì vậy, đã phải thử một giải pháp tốt hơn sẽ giữ bằng chứng nâng cấp trang web của tôi.

Thay vì thực thi cron.php, tôi hiện đang thực thi cron.sh thông qua crontab -evì Linux được sử dụng làm HĐH máy chủ.


2
Đây là cách nó nên được thực hiện.
Robbie Averill

2

Vấn đề magento_root/cron.phpkhông được đặt trong máy chủ crontab. Chúng tôi cần thêm tệp này vào crontab để nó hoạt động với chúng tôi như sau.

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

Cần có một mục nhập cho tệp magento_root / cron.php. Nếu không, chúng tôi cần thêm tệp này vì tệp này chịu trách nhiệm bắt đầu các công việc Magento Cron của bạn. Vì vậy, chúng ta cần chỉnh sửa Crontab như sau.

# crontab -e

Thêm câu lệnh sau vào tệp và đóng sau khi lưu nó.

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

Để biết thêm thông tin, hãy truy cập liên kết này

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.