2015-12-04 13 views
34

Ponieważ Laravel4 wymaga rozszerzenia mcrypt, a PHP7 nie ma rozszerzenia mcrypt, czy istnieje jakieś obejście tego problemu?PHP7 Laravel Mcrypt wydanie

+2

otagowaniu ten laravel 5.1, która jest najnowsza wersja Laravel. Nie wymaga działania mcrypt. Zobacz http://laravel.com/docs/5.1/installation, aby uzyskać informacje o tym, czego potrzebujesz. –

+2

Można go zainstalować? Zwykle jest to obejście problemu, gdy brakuje biblioteki –

+0

@JoelHinz Zmieniłem ją na Laravel 4. – RY35

Odpowiedz

3

php7 ma mcrypt, możesz go włączyć w php.ini, a wtedy wszystko będzie działać poprawnie.

+4

Czy możesz wyjaśnić, jak zainstalować 'PHP7 Mcrypt'? Próbowałem znaleźć, czy 'PHP7' ma jakieś rozszerzenie' Mcrypt', ale bezskutecznie. 'PHP5' miał' Mcrypt' jako 'php5-mcrypt', który można łatwo włączyć i wyłączyć za pomocą' php5enmod' i 'php5dismod'. – RY35

+1

W /etc/php/7.0/cli/conf.d/20-mcrypt.ini musisz sprawdzić, czy rozszerzenie jest włączone: rozszerzenie = mcrypt.so i nie; rozszerzenie = mcrypt.so – user3707264

1

PHP7 zawiera wewnętrznie rozszerzenie mcrypt (source-path/ext/mcrypt/). Ale to zależy od softsmisji Libmcrypt.

Krok 1.

Pobierz libmcrypt-x.x.tar.gz z http://mcrypt.sourceforge.net/ i zbudować.

cd libmcrypt-x.x 
./configure 
make 
make install 

Krok 2.

Rebuild PHP7 od źródła i dodać --with-mcrypt opcję.

./configure ... --with-mcrypt 

inny sposób bez odbudowy PHP7

cd php7-source-path/ext/mcrypt/ 
/php7-path/bin/phpize 
./configure --with-php-config=/php7-path/bin/php-config 
make && make install 
echo "extension=mcrypt.so" >> /php7-path/ext/php.ini 

Restart php

75

miał ten sam problem - PHP7 brakujący mcrypt.

To zadziałało dla mnie. Na pytanie, zachowaj lokalne pliki konfiguracyjne PHP.

sudo apt-get update 
sudo apt-get install mcrypt php7.0-mcrypt 
sudo apt-get upgrade 

Po instalacji ponownie uruchom FPM (lub Apache lub NGINX itp.).

+3

musiałem zrobić to pierwsze 'sudo add-apt-repository ppa: ondrej/php' – user985366

+2

@ user985366 thanks ...tak, musimy to zrobić 'sudo add-apt-repository ppa: ondrej/php', a następnie' sudo apt-get update sudo apt-get install mcrypt php7.0-mcrypt sudo apt-get upgrade' a następnie zadziałało dla mnie –

+0

@Ryderpro Czy potrzebujemy zainstalować 'mcrypt', gdy już otrzymujemy' php7.0-mcrypt'? Czy są one w sumie 2 różnicami? – enchance

2

zrobić tak:

  1. wget http://jp2.php.net/distributions/php-7.0.3.tar.gz
  2. tar zxf php-7.0.3.tar.gz
  3. cd php-7.0.3/ext/mcrypt
  4. /php7-path/bin/phpize (gdy błąd taki jak configure: error: mcrypt.h not found. Please reinstall libmcrypt bieg apt-get install libmcrypt-dev)
  5. ./configure --with-php-config=/php7-path/bin/php-config
  6. (sudo) make && make install .To będzie zainstalować mcrypt.so w php-7.0.3/ext/mcrypt/modules
  7. cp do /usr/lib/php/20151012/ co jest wspólne rozszerzenia reż
  8. stworzyć mcrypt.ini w /etc/php/mods-available/ napisać jak extension=mcrypt.so
  9. Utwórz link do tego takie jak sudo ln -s /etc/php/mods-available/mcrypt.ini 20-mcrypt.ini w /etc/php/7.0/fpm/conf.d
  10. utworzyć odnośnik z tym, takie jak sudo ln -s /etc/php/mods-available/mcrypt.ini 20-mcrypt.ini w /etc/php/7.0/cli/conf.d
  11. sudo service nginx restart
  12. sudo service php7.0-fpm restart
  13. tak jest.
+0

To działało dla mnie, gdy ppa do instalacji przez apt-get zawodziło, więc dziękuję! Byłoby wspaniale, gdybyś mógł poprawić formatowanie w swojej odpowiedzi, ponieważ jest to trudne do naśladowania. –

28

Jestem na Mac i laravel kamerdynera I został rozwiązany z tym:

napar zainstalować php70-mcrypt

12

Nawet jeśli włączysz mcrypt w php.ini, to może wystąpić problem. Wykonaj następujące kroki.

sudo apt-get update 
sudo apt-get install mcrypt php7.0-mcrypt 

Pracuję w ubuntu 16.04 i pomogły mi również poniższe polecenia.

whereis php -shows the files with this name 
php -v -shows the php version 
which php -shows current php version that is running on the server 
1

używam, Dotdeb, dodatkowe repozytorium zapewnia up-to-date wszystkie rodzaje fajnych zabawek dla serwerów Debiana jak Nginx, PHP, MySQL, Redis itp

  1. Aktualizacja sources.list

    deb http://packages.dotdeb.org {distribution} all 
    deb-src http://packages.dotdeb.org {distribution} all 
    
  2. GnuPG klawiszy

    wget https://www.dotdeb.org/dotdeb.gpg 
    sudo apt-key add dotdeb.gpg 
    
  3. Zaktualizuj apt & zbuduj coś niesamowitego.

    sudo apt-get update 
    
8

na Ubuntu: Według launchpad.net Pakiet dla mcrypt nazywa php7.0-mcrypt.

sudo apt-get install php7.0-mcrypt zainstalować

3

Otwórz terminal z Ctrl + Alt + T i uruchomić następujące polecenia dla PHP7.0 na Ubuntu 16,4

 
sudo apt-get install mcrypt php7.0-mcrypt 
sudo service apache2 restart 
+1

Oczywiście najlepiej nie używać mcrypt. – zaph