Magento cron.php가 실행 된 후 아무 작업도 수행하지 않습니다


10

내 Magento cron은 약 몇 개월 전에 정상적으로 작동합니다. 그러나 최근에 갑자기 일정 생성이 중지됩니다. cron 명령 자체가 호스팅 서버에서 제대로 실행됩니다. 마 젠토 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. 로컬 호스트에 fresh Magento ver 1.8.0.0을 설치 한 다음 브라우저에서 cron.php를 실행하면 일정이 생성됩니다. 그래서 호스팅 서버에 업로드하려고합니다. Magento 캐시를 지우고 브라우저에서 cron.php를 실행하면 놀랍게도 cron_schedule 테이블에서 아무 일도 일어나지 않습니다. 그러나 내 로컬 호스트에서 제대로 작동합니다.

동일한 호스팅 서버에 다른 Magento 사이트 버전 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

답변:


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;

이제 My Magento 1.8.0.0 cron이 완벽하게 실행됩니다.


필자의 경우 모호한 구성으로 인해 두통을 겪지 않는 서버에서 작업하고 있습니다. 이것이 cron을 실행할 수있는 유일한 방법이었습니다.
pspahn

그것은 wget을 위해 작동하지만 eq cron89128923489.php로 더 나은 이름 변경;)
user956584

이것은 나에게도 효과가있었습니다. 셸 액세스 제한과 관련이있을 수 있습니다.
Daniel West

링크는 MageBayVaporated 있습니다 ...
Fiasco Labs

이 대안이 효과가있는 이유와 실제 해결책은 다음과 같습니다. magento.stackexchange.com/questions/137130/…
Fabian Schmengler

11

Wakanina가 제공 한 솔루션이 저에게 효과적이었습니다. 그러나 cron.php 파일을 변경하면 정책에서 허용되지 않습니다. 이상한 점은 두 개의 서버 (동일한 OS, PHP 버전)에 내 사이트를 배포했으며 한 서버에서 cron.php가 실행될 때 cron 작업을 실행하고 다른 서버에서는 아무 일도 일어나지 않는다는 것입니다.

따라서 내 사이트 업그레이드 증거를 유지하는 더 나은 솔루션을 시도해야했습니다.

cron.php를 실행하는 대신 Linux가 서버 OS로 사용되므로 cron.sh 를 실행하고 crontab -e있습니다.


2
이것이 어떻게 이루어져야 하는가입니다.
Robbie Averill

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.