Laravel에는 Mcrypt PHP 확장이 필요합니다. cron 작업에는 작동하지 않습니다.


Answers

이것은 아마도 PHP 문제 일 것입니다. 해당 메시지에 대한 책임이있는 코드를 살펴보십시오.

if ( ! extension_loaded('mcrypt'))
{
    die('Laravel requires the Mcrypt PHP extension.'.PHP_EOL);

    exit(1);
}

실행중인 명령 줄에서 PHP를 테스트하십시오.

php -r 'echo PHP_EOL . (extension_loaded("mcrypt") ? "loaded" : "not loaded") . PHP_EOL . PHP_EOL;'

MCrypt가 설치되어 있고 PHP에서 사용할 수 있습니까? 테스트 실행 중 :

php -i | grep  mcrypt

최소한 당신에게 보여줘야합니다 :

mcrypt support => enabled
mcrypt_filter support => enabled

편집하다:

또 다른 가능성은 cron이 다른 php (php, php-cli, php-cgi)를 실행하고 명시 적으로 올바르게 선택한 경우입니다. 모든 php.ini 파일에서 mcrypt가 모두 활성화되어 있는지 확인하십시오.

Question

그래서 많은 사람들이 해왔 던 것처럼 해결책이없는 것처럼이 문제에 시달리고 있습니다.

문제 : cron 작업에 의해 발행 된 명령이 실행되지 않고 메시지가 표시됩니다. Laravel requires the Mcrypt PHP extension.

나는 artisan 통해 명령을 실행할 수 있고 그들은 잘 작동합니다. OSX 10.8에서 MAMP를 사용하고 있습니다.

나는 올바른 PATH가 설정되었는지 확인하기 위해 .bash_profile 을 4 배 검사했다. export PATH=/Applications/MAMP/bin/php/php5.4.4/bin:$PATH . which php 가 터미널에서 확인되었습니다. php -v 는 PHP 5.4.4가 사용되고 있음을 확인합니다. php -i 는 mcrypt 확장이 설치되어 있고 활성화되어 있는지 확인합니다. 심지어 die(phpversion().PHP_EOL); 추가 die(phpversion().PHP_EOL); vendor/laravel/framework/src/Illuminate/Foundation/start.php 에 올바른 버전을 사용하고 있음이 확인되었습니다.

그래서 나는 혼란 스럽다. 왜 cronjobs가 올바른 PHP 버전인지 또는 mcrypt 확장이 설치되어 있는지 알 수 없습니다. 무엇을 시도 할 수 있습니까?




Related