Larabel에는 Mcrypt PHP 확장자가 필요합니다.
있어요.migrate
라라벨4지금에러가 , 에러가 난다, 에러가 .
Laravel requires the Mcrypt PHP extension.
이미 유효하게 되어 있는 것으로 알고 있습니다(아래 그림 참조).
무엇이 문제이며 어떻게 수정해야 합니까?
MAMP가 설치되어 있습니까?
which 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 버전으로 대체합니다.
★★★★★★★★★★★★★★★.restart
터미널에서 현재 사용하고 있는 PHP를 확인합니다.
이제 작동해야 합니다.
웹 지원 확장과 명령줄 지원 확장은 다를 수 있습니다. 실행합니다.php -m
하세요.mcrypt
리스트 되어 있습니다.않으면 합니다.php.ini
에서 php --ini
를 참조해 주세요.
이점 this this에서는요.php.ini
파일 확장자를 활성화할 수 있습니다.
OSX
OSX에 탑재되어 있는 네이티브 PHP를 가리키는 단말기로 인해 OSX에서 문제가 발생했다고 들었습니다.대신 PHP에 대한 실제 경로를 포함하도록 bash 프로파일을 업데이트해야 합니다.다음과 같습니다(실제로 OSX를 사용하지 않기 때문에 100%는 아닐 수 있습니다).
export PATH=/usr/local/php5/bin:$PATH
우분투
이전 (14 이전)에서는 Ubuntu를 실행하는 경우sudo apt-get install php5-mcrypt
확장기능을 실제로 설치하지는 않습니다.mods-available
심볼링크가 필요해요
sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/mcrypt.ini
우분투 모드은 「 」로 할 수 .php5enmod
.
sudo php5enmod mcrypt
sudo service apache2 restart
메모들
- PHP 7.1은 mcrypt를 폐지하고 7.2는 mcrypt 확장을 완전히 삭제했습니다.
- Larabel 5.1 이후로는 mcrypt의 필요성이 없어졌습니다.
XAMPP 1.7.3 및 Mac을 사용하는 사용자
- 터미널로 이동
- 「」라고 입력합니다.
which php
- 「 」라고 표시되어 있는 경우
/usr/bin/php
33으로
- 「 」라고 표시되어 있는 경우
- 「」라고 입력합니다.
sudo nano ~/.bash_profile
(오류)sudo vim ~/.bash_profile
- 이 '아까'를 .
export PATH="/Applications/XAMPP/xamppfiles/bin:$PATH"
- Ctrl+O 저장하기 위해 입력한 다음 종료합니다.
- 「」라고 입력합니다.
cd ~
- 「」라고 입력합니다.
. .bash_profile
- 재기동합니다.
- 「」라고 입력합니다.
which php
네 번째, 네 번째, 네 번째, 네 번째.
mcrypt 오류가 발생하는 이유는 Mac이 네이티브 php를 사용하기 때문에 xampp의 php로 변경해야 하기 때문입니다.
P.S. Mac 사용자에게는 MAMP for Larabel 4를 사용하는 것이 좋습니다.이 문제는 php 파일 정보 오류와 함께 쉽게 해결되며 xampp의 ph 버전은 너무 오래되었습니다.
OSX 상의 MAMP 또는 XAMPP 이외의 사용자(홈브루가 설치되어 있는 경우):
brew install homebrew/php/php56-mcrypt
건배!
Ubuntu를 사용하면
sudo php5enmod mcrypt
날 위해 묘기를 부렸지CLI에서만 PHP를 사용해야 하므로 Apache를 재시작할 필요가 없습니다.
Ubuntu (PHP-FPM, Nginx)
sudo apt-get install php5-mcrypt
php5-mcrypt 설치 후
mods-available의 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
Laravel이 Apache에서 작업하도록 하기
PHP 버전 : PHP 5.5.9
Ubuntu 버전 : 14.04
나는 창문에서 일하는 큰 프로젝트가 있었다.내가 그것을 ubuntu 서버에 복사했을 때, 나는 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
브라우저 오류 수정
(로컬 larabel 인덱스 페이지에 액세스 할 때 브라우저에서 mcrypt 오류가 발생한 경우)
sudo nano /etc/php5/apache2/php.ini
php ini의 동적으로 컴파일된 확장 섹션에 다음 행을 추가합니다.
extension=mcrypt.so
apache 서버를 재시작하고 laravel 캐시 및 모든 기능을 삭제합니다.
Ubuntu 14.04 위의 php-fpm 설치의 경우 다음 작업이 수행되었습니다.
sudo apt-get install php5-mcrypt
하면 " " " 가 생성됩니다.mcrypt.ini
/etc/php5/mods-available/
그리고나서
sudo php5enmod mcrypt
는 에./etc/php5/fpm/conf.d/
services php-fpm 을 restart .sudo service php5-fpm restart
ubuntu의 경우 다른 프로그램이 작동하지 않는 경우 다음 절차를 수행합니다.
cd ~
sudo apt-get remove php5-mcrypt
sudo apt-get install php5-mcrypt
sudo php5enmod mcrypt
sudo service apache2 restart
그게 도움이 됐으면 좋겠어요.감사합니다!
또는 다음을 사용합니다.
sudo apt-get install php5-mcrypt
.- PHP 인스톨을 .php 5.5.7
: using using 、 : using using패 using 。
sudo add-apt-repository ppa:ondrej/php5
sudo apt-get update
OS는 OS야 。Yosemite
.
구성 경로를 검색하여 이 문제를 해결합니다.
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)
다음 단계:
- php55 ini 파일 이름 변경 또는 삭제
- 심볼링크 생성
- Apache 서버 재시작
명령어:
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
유머들을 위해서
yum install php-mcrypt
service httpd restart
chown -R apache:apache apppath
설치 remi repo가 필요할 수 있습니다.
이것으로 Linux Mint 로컬 환경 https://askubuntu.com/questions/350942/cannot-get-mcrypt-for-php5에서 해결되었습니다.
/etc/php5/conf.d/mcrypt.ini 파일과 /etc/php5/apache2/conf.d/mcrypt.ini 폴더에 있는 /etc/php5/cli/conf.d/mcrypt.ini 파일에 심볼 링크를 만들어야 했습니다.ini
올인원 환경이 필요합니다.MAMP, XAMPP 또는 기타 도구를 사용할 수 있습니다.이러한 도구 중 하나를 설치한 후에는 .bash_profile을 편집(작성)해야 합니다(bash를 사용하는 것으로 가정).
심플하고 프로페셔널한 Laravel Homesead를 사용할 수도 있습니다.
다음은 공식 문서 링크입니다.http://laravel.com/docs/5.0/homestead
또한 Jeffrey는 https://laracasts.com/series/laravel-5-fundamentals/episodes/2에 대한 무료 튜토리얼을 제공하고 있습니다.
다음 툴을 모두 프리 인스톨 할 것이기 때문에 홈스테드로 하는 것이 좋습니다.
- 우분투 14.04
- PHP 5.6
- HHVM
- 엔긴스
- MySQL
- 포스트그레스
- 노드(Bower, Grunt 및 Gulp 포함)
- 레디스
- 메모리 캐시
- 콩나무
- 라라벨 특사
- 패브릭 + HipChat 확장 기능
@JetLaggy에서의 확장:
MAMP 디렉토리에서 .bash_profile을 몇 번이고 수정한 후 MAMP php 디렉토리의 파일 권한을 변경하여 적절한 디렉토리를 표시하는 'which php'를 얻을 수 있었습니다.문제는 'php - v'와 같은 다른 기능이 작동하지 않는다는 것입니다.
그래서 MAMP를 업데이트했습니다.http://documentation.mamp.info/en/mamp/installation/updating-mamp
이게 내 특별한 설정에 효과가 있었어.PHP의 업데이트 버전을 반영하기 위해 PATH를 조정해야 했지만, 한 번 조정하면 모든 것이 작동했습니다!
OS X의 경우
MAMP 사용
합니다.which 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 버전이 올바르게 출력됩니다.
홈브루/MacPort 사용
반드시 다음 사항을 확인합니다.path
포함하다/usr/local/bin/
(홈브루) 또는/opt/local/bin
(MacPorts) 이 두 패키지 매니저 중 하나와 함께 제공되는 PHP를 사용하는 경우.
MacPort에서 PHP 경로 확인
다음 명령으로 MacPort를 사용하여 PHP의 정확한 위치를 찾을 수 있습니다.
port contents php70 | grep bin/php
교환할 필요가 있는 점에 주의해 주세요.php70
설치된 PHP 버전을 사용합니다.
Homebrew-php를 사용하여 PHP 경로를 확인합니다.
Homebrew-php(https://github.com/Homebrew/homebrew-php)는 다양한 버전의 PHP를 가진 탭입니다.
다음 명령어로 Homebrew를 사용하여 PHP의 정확한 위치를 찾을 수 있습니다.
brew --prefix homebrew/php/php56
교환할 필요가 있는 점에 주의해 주세요.php56
PHP를 사용하다
오늘 이 자리에 오신 분들을 위해
라라벨은 더 이상 연장이 필요 없습니다. mcrypt
폐지되었습니다.libm crypt의 2007년도는 2007년입니다.Larabel 4.2 lar lar lar 。가장 좋은(=보안) 솔루션은 Laravel > 5.1로 업데이트하는 것입니다(Laravel 5.2 이전 버전에는 LTS가 없습니다).
Mcrypt는 2015년 6월에 Laravel에서 삭제되었습니다.https://github.com/laravel/framework/pull/9041
Ubuntu 14.04에서
sudo apt-get install php5-mcrypt
sudo php5enmod mcrypt
우분투 16.04
sudo apt-get install php-mcrypt
sudo phpenmod mcrypt
우분투 18.04
sudo apt install php7.0-mcrypt
sudo phpenmod mcrypt
또는
sudo apt install php7.2-mcrypt
sudo phpenmod mcrypt
Z Shell 을 사용하고 있는 경우는, 다음의 조작을 클릭합니다.
- 오픈 터미널
- 도도
nano ~/.zshrc
- 붙여넣기;
export PATH=/Applications/MAMP/bin/php/php5.6.10/bin:$PATH
- 절약하다
- 달려.
source ~/.zshrc
- run려 。
which php
- MAMP 5.6.을 얻을 수 있습니다.
5.6.10은 MAMP에서 설정한 PHP 버전입니다.
OSX(brew 포함)
$ brew install mcrypt php70-mcrypt
저는 PHP 7.0.x를 실행하고 있기 때문에 다른 버전을 사용하고 있다면 "php70"을 당신의 버전으로 변경해 주세요.
답변에서 한 바와 같이 as른 、 php 버음음 음음음 음음 。$ php -v
.
sudo php install mcrypt
sudo php5enmod mcrypt
php 버전에 기반한 ubuntu 14.04: 5.6, 7.0, 7.1, 7.2, 7.3
sudo apt-get install php {version}-mcrypt
sudo apt-get install php7.1-mcrypt
sudo phpenmod mcrypt
언급URL : https://stackoverflow.com/questions/16830405/laravel-requires-the-mcrypt-php-extension
'source' 카테고리의 다른 글
사용자 정의 변수를 사용하여 두 번째 데이터베이스에 동적으로 이름을 지정하여 해당 두 번째 데이터베이스와 함께 조인 테이블에 이름을 지정합니다. (0) | 2022.11.24 |
---|---|
JavaScript에서 오브젝트에 구성원을 조건부로 추가하는 방법은 무엇입니까? (0) | 2022.11.24 |
java의 console.log()는 무엇입니까? (0) | 2022.11.24 |
기본 최대 Java 힙사이즈는 어떻게 결정됩니까? (0) | 2022.11.24 |
MySQL/쓰기 파일 오류(Ercode 28) (0) | 2022.11.24 |