Laravel에는 Mcrypt PHP 확장이 필요합니다.
PHPLaravel에는 Mcrypt PHP 확장이 필요합니다.
OSX에서 Laravel 4의 마이그레이션 기능을 사용하려고합니다. 그러나 다음과 같은 오류가 발생합니다.
Laravel requires the Mcrypt PHP extension.
내가 이해하는 한 이미 활성화되어 있습니다 (아래 이미지 참조).
무엇이 잘못되었으며 어떻게 해결할 수 있습니까?
해결법
-
==============================
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.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.XAMPP 1.7.3 및 Mac을 사용하는 사람들에게
XAMPP 1.7.3 및 Mac을 사용하는 사람들에게
mcrypt 오류의 이유는 Mac이 기본 PHP를 사용하기 때문에 xampp이 가지고있는 PHP로 변경해야하기 때문입니다.
추신 나는 Mac 사용자를위한 Laravel 4 용 MAMP를 사용하는 것이 좋습니다.이 문제는 땀을 흘리지 않고 PHP 파일 정보 오류와 함께 해결되며 xampp의 PHP 버전은 구형입니다.
-
==============================
4.OSX에서 MAMP 또는 XAMPP가 아닌 사용자 (자작 기계가 설치된 경우) :
OSX에서 MAMP 또는 XAMPP가 아닌 사용자 (자작 기계가 설치된 경우) :
brew install homebrew / php / php56-mcrypt
건배!
-
==============================
5.우분투 사용하기.
우분투 사용하기.
sudo php5enmod mcrypt
나를 위해 속임수를했다. CLI에서 PHP를 사용해야하기 때문에 Apache를 다시 시작할 필요가 없습니다.
-
==============================
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.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.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.우분투 들어 다른 사람이 작동하지 않는 경우이 단계를 시도하십시오 :
우분투 들어 다른 사람이 작동하지 않는 경우이 단계를 시도하십시오 :
희망이 도움이 될 것입니다. 감사 !
-
==============================
10.또는 다음을 사용하십시오.
또는 다음을 사용하십시오.
sudo apt-get install php5-mcrypt
이것이 표준 PHP 설치에서 작동하는지 확실하지 않습니다 - 다음에서 패키지를 사용하여 PHP 5.5.7을 설치했습니다 :
sudo add-apt-repository ppa:ondrej/php5 sudo apt-get update
-
==============================
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.이것은 나의 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.단지 유머를 위해,
단지 유머를 위해,
yum install php-mcrypt service httpd restart chown -R apache:apache apppath
아마도 당신은 remi repo를 설치해야 할 것입니다.
-
==============================
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.@JetLaggy에서 확장 :
@JetLaggy에서 확장 :
mamp 디렉토리로 .bash_profile을 수정하기 위해 다시 시도한 후에, 나는 MAMP php 디렉토리에 대한 파일 권한을 변경하고 적절한 디렉토리를 보여주기 위해 'which php'를 얻을 수있었습니다. 문제는 'php -v'와 같은 다른 기능이 작동하지 않는다는 것입니다.
그래서 MAMP를 업데이트했습니다. http://documentation.mamp.info/ko/mamp/installation/updating-mamp
이것은 나의 특별한 셋업을위한 트릭을 만들었다. 나는 PHP의 업데이트 된 버전을 반영하기 위해 PATH를 조정해야했지만 일단 그렇게했다면 모든 것이 효과가있었습니다!
-
==============================
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.Z Shell을 사용하는 경우 다음을 수행하십시오.
Z Shell을 사용하는 경우 다음을 수행하십시오.
5.6.10은 MAMP에서 설정 한 PHP 버전입니다.
-
==============================
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.
$ brew install mcrypt php70-mcrypt
PHP 7.0.x를 실행 중이므로 다른 버전을 사용하는 경우 "php70"을 사용중인 버전으로 변경하십시오. 다른 답변에서 언급했듯이 $ php -v로 PHP 버전을 볼 수 있습니다.
-
==============================
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
from https://stackoverflow.com/questions/16830405/laravel-requires-the-mcrypt-php-extension by cc-by-sa and MIT license
'PHP' 카테고리의 다른 글
PHP cURL은 단일 요청으로 응답 헤더와 본문을 검색 할 수 있습니까? (0) | 2018.09.08 |
---|---|
PHP 포함 파일에 직접 액세스하지 못하게합니다. (0) | 2018.09.08 |
"Keep Me Logged In"- 최선의 접근 방식 (0) | 2018.09.08 |
PHP에서 다른 배열로 하나의 배열 만들기 (0) | 2018.09.08 |
참조 - SimpleXML에서 네임 스페이스 (콜론이있는 태그와 속성)를 처리하려면 어떻게해야합니까? (0) | 2018.09.08 |