복붙노트

Laravel에는 Mcrypt PHP 확장이 필요합니다.

PHP

Laravel에는 Mcrypt PHP 확장이 필요합니다.

OSX에서 Laravel 4의 마이그레이션 기능을 사용하려고합니다. 그러나 다음과 같은 오류가 발생합니다.

Laravel requires the Mcrypt PHP extension.

내가 이해하는 한 이미 활성화되어 있습니다 (아래 이미지 참조).

무엇이 잘못되었으며 어떻게 해결할 수 있습니까?

해결법

  1. ==============================

    1.웹 사용 가능 확장 및 명령 행 사용 가능 확장은 다를 수 있습니다. 터미널에서 php -m을 실행하고 mcrypt가 나열되어 있는지 확인하십시오. 그렇지 않다면 터미널에서 php -ini를 실행하여 명령 행에서 php.ini 파일을로드하는 위치를 확인하십시오.

    웹 사용 가능 확장 및 명령 행 사용 가능 확장은 다를 수 있습니다. 터미널에서 php -m을 실행하고 mcrypt가 나열되어 있는지 확인하십시오. 그렇지 않다면 터미널에서 php -ini를 실행하여 명령 행에서 php.ini 파일을로드하는 위치를 확인하십시오.

    이 php.ini 파일에서 확장 기능을 활성화 할 수 있습니다.

    필자는 OSX에서 사람들이 OSX에 기본으로 제공되는 PHP를 가리키는 터미널로 인해 문제가 있음을 알고 있습니다. 대신 PHP에 대한 실제 경로를 포함하도록 bash 프로파일을 업데이트해야합니다. 이런 (실제로 OSX를 사용하지 않기 때문에 100 %가 아닐 수도 있습니다) :

    export PATH=/usr/local/php5/bin:$PATH
    

    Ubuntu의 이전 버전 (14.04 이전)에서는 sudo를 실행할 때 apt-get php5-mcrypt를 설치하면 mods에 실제로 확장을 설치하지 않습니다. 심볼릭 링크를해야합니다.

    sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/mcrypt.ini
    

    모든 우분투 버전에서 일단 설치되면 mod를 활성화해야합니다. 당신은 php5enmod로 그렇게 할 수 있습니다.

    sudo php5enmod mcrypt
    sudo service apache2 restart
    
  2. ==============================

    2.MAMP를 설치 했습니까?

    MAMP를 설치 했습니까?

    사용중인 PHP 버전을 확인하려면 터미널에서 어떤 PHP를 사용하십시오.

    MAMP의 PHP 버전이 아닌 경우 사용자의 홈 디렉토리에서 .bash_profile을 편집하거나 추가해야합니다. cd ~

    .bash_profile에 다음 행을 추가하십시오.

    export PATH=/Applications/MAMP/bin/php/php5.4.10/bin:$PATH
    

    편집 : 먼저 cd / Applications / MAMP / bin / php 명령을 사용하여 MAMP의 PHP 버전을 확인한 다음 위의 PHP 버전으로 바꾸십시오.

    그런 다음 터미널을 다시 시작하여 현재 사용중인 PHP를 확인하십시오.

    그리고 그것은 지금 일하고 있어야합니다.

  3. ==============================

    3.XAMPP 1.7.3 및 Mac을 사용하는 사람들에게

    XAMPP 1.7.3 및 Mac을 사용하는 사람들에게

    mcrypt 오류의 이유는 Mac이 기본 PHP를 사용하기 때문에 xampp이 가지고있는 PHP로 변경해야하기 때문입니다.

    추신 나는 Mac 사용자를위한 Laravel 4 용 MAMP를 사용하는 것이 좋습니다.이 문제는 땀을 흘리지 않고 PHP 파일 정보 오류와 함께 해결되며 xampp의 PHP 버전은 구형입니다.

  4. ==============================

    4.OSX에서 MAMP 또는 XAMPP가 아닌 사용자 (자작 기계가 설치된 경우) :

    OSX에서 MAMP 또는 XAMPP가 아닌 사용자 (자작 기계가 설치된 경우) :

    brew install homebrew / php / php56-mcrypt

    건배!

  5. ==============================

    5.우분투 사용하기.

    우분투 사용하기.

    sudo php5enmod mcrypt
    

    나를 위해 속임수를했다. CLI에서 PHP를 사용해야하기 때문에 Apache를 다시 시작할 필요가 없습니다.

  6. ==============================

    6.우분투 (PHP-FPM, Nginx)

    우분투 (PHP-FPM, Nginx)

    sudo apt-get install php5-mcrypt
    

    php5-mcrypt 설치 후

    mods-in에서 ini 파일에 대한 심볼릭 링크를 만들어야합니다.

    sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/mcrypt.ini
    

    활성화 :

    sudo php5enmod mcrypt
    

    php5-fpm을 다시 시작하십시오.

    sudo service php5-fpm restart
    

    자세한 세부 사항

  7. ==============================

    7.Apache에서 Laravel 작업하기

    Apache에서 Laravel 작업하기

    PHP 버전 : PHP 5.5.9

    우분투 버전 : 14.04

    나는 창문 위에서 일하는 laravel 프로젝트를 가지고 있었다. 우분투 서버에 복사하면 mcrypt 오류가 발생하기 시작합니다. 많은 시행 착오 후에

    숙련 된 명령을 받고있다.

    (장인 명령 줄 도구를 사용하는 동안 mcrypt 오류가 발생하는 경우)

    나는 시행 착오를 많이했기 때문에 전에 php5enmod 명령을 실행할 때마다 오류 메시지가 나타났습니다. 그러나 새로 설치할 때 오류 메시지가 없었습니다. 이 단계가 끝나면 장인의 명령이 작동합니다.

    sudo rm /etc/php5/mods-available/mcrypt.ini
    sudo apt-get purge php5-mcrypt
    sudo apt-get install mcrypt
    sudo apt-get install php5-mcrypt
    sudo php5enmod mcrypt
    

    브라우저 오류 수정

    (로컬 laravel 인덱스 페이지에 액세스 할 때 브라우저에서 mcrypt 오류가 발생하는 경우)

    sudo nano /etc/php5/apache2/php.ini
    

    php ini의 동적으로 컴파일 된 확장 섹션 아래에 다음 행을 추가하십시오.

    extension=mcrypt.so
    

    아파치 서버를 다시 시작하고, laravel 캐시와 모든 작업을 제거하십시오.

  8. ==============================

    8.Ubuntu 14.04에서 php-fpm을 설치하려면 다음 작업이 필요했습니다.

    Ubuntu 14.04에서 php-fpm을 설치하려면 다음 작업이 필요했습니다.

    sudo apt-get php5-mcrypt를 설치하십시오.

    이렇게하면 mcrypt.ini 파일이 / etc / php5 / mods-available /

    그때

    sudo php5enmod mcrypt

    /etc/php5/fpm/conf.d/에 심볼릭 링크를 만듭니다.

    php-fpm 서비스를 다시 시작하십시오. sudo service php5-fpm restart

  9. ==============================

    9.우분투 들어 다른 사람이 작동하지 않는 경우이 단계를 시도하십시오 :

    우분투 들어 다른 사람이 작동하지 않는 경우이 단계를 시도하십시오 :

    희망이 도움이 될 것입니다. 감사 !

  10. ==============================

    10.또는 다음을 사용하십시오.

    또는 다음을 사용하십시오.

    sudo apt-get install php5-mcrypt
    

    이것이 표준 PHP 설치에서 작동하는지 확실하지 않습니다 - 다음에서 패키지를 사용하여 PHP 5.5.7을 설치했습니다 :

    sudo add-apt-repository ppa:ondrej/php5 
    sudo apt-get update
    
  11. ==============================

    11.내 OS는 요세미티입니다.

    내 OS는 요세미티입니다.

    구성 경로를 찾아서이 문제를 해결합니다.

    php --ini
    

    예제 출력 :

    Configuration File (php.ini) Path: /usr/local/etc/php/5.5
    Loaded Configuration File:         /usr/local/etc/php/5.5/php.ini
    Scan for additional .ini files in: /usr/local/etc/php/5.5/conf.d
    Additional .ini files parsed:      (none)
    

    다음 단계:

    명령 :

    mv /usr/local/etc/php/5.5/php.ini /usr/local/etc/php/5.5/php.ini.default
    ln -s /etc/php.ini /usr/local/etc/php/5.5/php.ini
    sudo apachectl restart
    

    다음을 통해 PHP 모듈을 확인할 수 있습니다.

    php -m
    
  12. ==============================

    12.이것은 나의 Linux Mint 로컬 환경 https://askubuntu.com/questions/350942/cannot-get-mcrypt-for-php5에서 나에게 그것을 해결했다.

    이것은 나의 Linux Mint 로컬 환경 https://askubuntu.com/questions/350942/cannot-get-mcrypt-for-php5에서 나에게 그것을 해결했다.

    /etc/php5/apache2/conf.d/mcrypt.ini 및 /etc/php5/cli/conf.d 폴더에서 /etc/php5/conf.d/mcrypt.ini 파일에 대한 심볼릭 링크를 만들어야했습니다. /mcrypt.ini

  13. ==============================

    13.단지 유머를 위해,

    단지 유머를 위해,

    yum install php-mcrypt
    service httpd restart
    chown -R apache:apache apppath
    

    아마도 당신은 remi repo를 설치해야 할 것입니다.

  14. ==============================

    14.하나의 환경에서 모든 것이 필요합니다. MAMP 또는 XAMPP 또는 다른 도구를 사용할 수 있습니다. 이러한 도구 중 하나를 설치 한 후에는 .bash_profile을 편집 (작성)해야합니다 (bash를 사용한다고 가정).

    하나의 환경에서 모든 것이 필요합니다. MAMP 또는 XAMPP 또는 다른 도구를 사용할 수 있습니다. 이러한 도구 중 하나를 설치 한 후에는 .bash_profile을 편집 (작성)해야합니다 (bash를 사용한다고 가정).

    또는 Laravel Homestead를 사용하면 간단하고 전문적 이어도 좋습니다.

    공식 문서 링크는 다음과 같습니다. http://laravel.com/docs/5.0/homestead

    또한 Jeffrey는 무료 자습서를 제공합니다. https://laracasts.com/series/laravel-5-fundamentals/episodes/2

    나는 다음과 같은 도구를 모두 미리 설치하기 때문에 농가와 함께 가야한다고 조언합니다.

  15. ==============================

    15.@JetLaggy에서 확장 :

    @JetLaggy에서 확장 :

    mamp 디렉토리로 .bash_profile을 수정하기 위해 다시 시도한 후에, 나는 MAMP php 디렉토리에 대한 파일 권한을 변경하고 적절한 디렉토리를 보여주기 위해 'which php'를 얻을 수있었습니다. 문제는 'php -v'와 같은 다른 기능이 작동하지 않는다는 것입니다.

    그래서 MAMP를 업데이트했습니다. http://documentation.mamp.info/ko/mamp/installation/updating-mamp

    이것은 나의 특별한 셋업을위한 트릭을 만들었다. 나는 PHP의 업데이트 된 버전을 반영하기 위해 PATH를 조정해야했지만 일단 그렇게했다면 모든 것이 효과가있었습니다!

  16. ==============================

    16.터미널에 php 명령을 입력하여 사용중인 PHP 버전을 확인하십시오. MAMP의 PHP 버전이 아니라면 Bash가 사용하는 $ PATH 변수를 업데이트해야합니다.

    터미널에 php 명령을 입력하여 사용중인 PHP 버전을 확인하십시오. MAMP의 PHP 버전이 아니라면 Bash가 사용하는 $ PATH 변수를 업데이트해야합니다.

    먼저, "cd / Applications / MAMP / bin / php"명령을 사용하여 MAMP의 PHP 버전을 확인하고 버전을 기록하십시오 (예 : php5.6.7).

    버전을 알았 으면 ~ / .bash_profile 파일 (즉, 홈 디렉토리에있는 .bash_profile)을 편집하고 내보내기 행을 추가해야합니다.

        export PATH=/Applications/MAMP/bin/php/php5.6.7/bin:$PATH
    

    php5.6.7을 MAMP에서 선택한 PHP 버전으로 바꾸십시오.

    파일을 저장했으면 터미널을 닫은 다음 다시 열어야합니다. 완료되면 MAMP와 함께 제공되는 PHP를 사용하게됩니다.

    .bash_profile에 넣어야 할 행이 무엇인지 쉽게 찾는 한 가지 방법은 터미널에서 다음 명령을 실행하는 것입니다.

        echo export PATH=`cat /Applications/MAMP/conf/apache/httpd.conf \
             | grep php | grep -i LoadModule | head -n1 \
             | sed -e 's/^[^\/]*\/\(.*\)\/mod.*/\/\1/'`/bin:\$PATH
    

    이 세 줄을 복사하여 터미널에 붙여 넣으면 MAMP 제어판에서 선택한 PHP 버전이 올바르게 출력됩니다.

    이 두 패키지 관리자 중 하나와 함께 제공되는 PHP를 사용하는 경우 경로에 / usr / local / bin / (Homebrew) 또는 / opt / local / bin (MacPorts)이 포함되어 있는지 확인하십시오.

    다음 명령을 사용하여 MacPorts를 사용하여 PHP의 정확한 위치를 찾을 수 있습니다.

    port contents php70 | grep bin/php
    

    php70을 설치 한 PHP 버전으로 대체해야합니다.

    Homebrew-php (https://github.com/Homebrew/homebrew-php)는 다양한 버전의 PHP가있는 탭입니다.

    다음 명령을 사용하여 Homebrew를 사용하여 PHP의 정확한 위치를 찾을 수 있습니다.

    brew --prefix homebrew/php/php56
    

    php56는 설치 한 PHP 버전으로 대체해야합니다.

  17. ==============================

    17.Z Shell을 사용하는 경우 다음을 수행하십시오.

    Z Shell을 사용하는 경우 다음을 수행하십시오.

    5.6.10은 MAMP에서 설정 한 PHP 버전입니다.

  18. ==============================

    18.우분투에서 14.04

    우분투에서 14.04

    sudo apt-get install php5-mcrypt
    sudo php5enmod mcrypt
    

    우분투 16.04

    sudo apt-get install php-mcrypt
    sudo phpenmod mcrypt
    
  19. ==============================

    19.

    $ brew install mcrypt php70-mcrypt
    

    PHP 7.0.x를 실행 중이므로 다른 버전을 사용하는 경우 "php70"을 사용중인 버전으로 변경하십시오. 다른 답변에서 언급했듯이 $ php -v로 PHP 버전을 볼 수 있습니다.

  20. ==============================

    20.Laravel은 더 이상 mcrypt 확장을 필요로하지 않습니다. mcrypt는 쓸모가 없습니다. libmcrypt에 대한 마지막 업데이트는 2007 년입니다. Laravel 4.2도 더 이상 지원되지 않으며 더 이상 지원하지 않습니다. 최상의 (= 보안) 솔루션은 Laravel> 5.1로 업데이트하는 것입니다 (Laravel 5.2 이전에는 LTS가 없음).

    Laravel은 더 이상 mcrypt 확장을 필요로하지 않습니다. mcrypt는 쓸모가 없습니다. libmcrypt에 대한 마지막 업데이트는 2007 년입니다. Laravel 4.2도 더 이상 지원되지 않으며 더 이상 지원하지 않습니다. 최상의 (= 보안) 솔루션은 Laravel> 5.1로 업데이트하는 것입니다 (Laravel 5.2 이전에는 LTS가 없음).

    Mcrypt는 2015 년 6 월 Laravel에서 삭제되었습니다. https://github.com/laravel/framework/pull/9041

  21. from https://stackoverflow.com/questions/16830405/laravel-requires-the-mcrypt-php-extension by cc-by-sa and MIT license