Ponieważ Laravel4 wymaga rozszerzenia mcrypt
, a PHP7 nie ma rozszerzenia mcrypt
, czy istnieje jakieś obejście tego problemu?PHP7 Laravel Mcrypt wydanie
Odpowiedz
php7 ma mcrypt, możesz go włączyć w php.ini, a wtedy wszystko będzie działać poprawnie.
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
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
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
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.).
musiałem zrobić to pierwsze 'sudo add-apt-repository ppa: ondrej/php' – user985366
@ 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 –
@Ryderpro Czy potrzebujemy zainstalować 'mcrypt', gdy już otrzymujemy' php7.0-mcrypt'? Czy są one w sumie 2 różnicami? – enchance
zrobić tak:
wget http://jp2.php.net/distributions/php-7.0.3.tar.gz
tar zxf php-7.0.3.tar.gz
cd php-7.0.3/ext/mcrypt
/php7-path/bin/phpize
(gdy błąd taki jakconfigure: error: mcrypt.h not found. Please reinstall libmcrypt
biegapt-get install libmcrypt-dev
)./configure --with-php-config=/php7-path/bin/php-config
(sudo) make && make install
.To będzie zainstalować mcrypt.so wphp-7.0.3/ext/mcrypt/modules
- cp do
/usr/lib/php/20151012/
co jest wspólne rozszerzenia reż - stworzyć mcrypt.ini w
/etc/php/mods-available/
napisać jakextension=mcrypt.so
- 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
- 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
sudo service nginx restart
sudo service php7.0-fpm restart
- tak jest.
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. –
Jestem na Mac i laravel kamerdynera I został rozwiązany z tym:
napar zainstalować php70-mcrypt
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
używam, Dotdeb, dodatkowe repozytorium zapewnia up-to-date wszystkie rodzaje fajnych zabawek dla serwerów Debiana jak Nginx, PHP, MySQL, Redis itp
Aktualizacja
sources.list
deb http://packages.dotdeb.org {distribution} all deb-src http://packages.dotdeb.org {distribution} all
GnuPG klawiszy
wget https://www.dotdeb.org/dotdeb.gpg sudo apt-key add dotdeb.gpg
Zaktualizuj apt & zbuduj coś niesamowitego.
sudo apt-get update
na Ubuntu: Według launchpad.net Pakiet dla mcrypt nazywa php7.0-mcrypt.
sudo apt-get install php7.0-mcrypt
zainstalować
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
Oczywiście najlepiej nie używać mcrypt. – zaph
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. –
Można go zainstalować? Zwykle jest to obejście problemu, gdy brakuje biblioteki –
@JoelHinz Zmieniłem ją na Laravel 4. – RY35