Поскольку Laravel4 требует расширения mcrypt
, а PHP7, похоже, не имеет расширения mcrypt
, есть ли обходной путь для этого?
Как я могу установить mcrypt под PHP7? Ларавелю это нужно
Ответы (9)
Была такая же проблема - в PHP7 отсутствовал mcrypt.
Это сработало для меня. При появлении запроса сохраните локальные файлы конфигурации PHP.
sudo apt-get update
sudo apt-get install mcrypt php7.0-mcrypt
sudo apt-get upgrade
Перезапустите FPM (или Apache, NGINX и т. д.) после установки.
sudo add-apt-repository ppa:ondrej/php
- person user985366; 01.06.2016
sudo add-apt-repository ppa:ondrej/php
, а затем sudo apt-get update sudo apt-get install mcrypt php7.0-mcrypt sudo apt-get upgrade
, и тогда у меня это сработало
- person Osama Al-Banna; 20.08.2016
mcrypt
, когда мы уже получаем php7.0-mcrypt
? Или это две совершенно разные вещи?
- person enchance; 15.12.2016
Я на Mac и с камердинером laravel я решил это:
варить установить php70-mcrypt
Эта проблема может возникнуть, даже если вы включите mcrypt в php.ini. Попробуйте выполнить следующие действия.
sudo apt-get update
sudo apt-get install mcrypt php7.0-mcrypt
Я работаю в Ubuntu 16.04, и мне также помогли следующие команды.
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
В Ubuntu: Согласно launchpad.net, пакет для mcrypt называется php7.0- мкрипт.
sudo apt-get install php7.0-mcrypt
установить
Откройте терминал с помощью Ctrl + Alt + T и выполните следующие команды для PHP7.0 в Ubuntu 16.4.
sudo apt-get install mcrypt php7.0-mcrypt sudo service apache2 restart
В php7 есть mcrypt, его можно включить в php.ini и тогда все будет нормально работать.
PHP7 Mcrypt
? Я пытался найти, есть ли у PHP7
расширение Mcrypt
, но безрезультатно. PHP5
имел Mcrypt
как php5-mcrypt
, который можно легко включить и отключить с помощью php5enmod
и php5dismod
соответственно.
- person Bishal Paudel; 04.12.2015
сделать так:
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
(при ошибке, такой какconfigure: error: mcrypt.h not found. Please reinstall libmcrypt
запуститьapt-get install libmcrypt-dev
)./configure --with-php-config=/php7-path/bin/php-config
(sudo) make && make install
.это установит mcrypt.so вphp-7.0.3/ext/mcrypt/modules
- cp в
/usr/lib/php/20151012/
что такое общий каталог расширений - создайте mcrypt.ini в
/etc/php/mods-available/
напишите какextension=mcrypt.so
- создайте ссылку на это, например,
sudo ln -s /etc/php/mods-available/mcrypt.ini 20-mcrypt.ini
в/etc/php/7.0/fpm/conf.d
- создайте ссылку на это, например,
sudo ln -s /etc/php/mods-available/mcrypt.ini 20-mcrypt.ini
в/etc/php/7.0/cli/conf.d
sudo service nginx restart
sudo service php7.0-fpm restart
- Да, это так.
Я использую Dotdeb, дополнительный репозиторий, предоставляющий новейшие всевозможные классные игрушки для ваших серверов Debian, таких как Nginx, PHP, MySQL, Redis и т. д.
Обновите
sources.list
deb http://packages.dotdeb.org {distribution} all deb-src http://packages.dotdeb.org {distribution} all
Ключи GnuPG
wget https://www.dotdeb.org/dotdeb.gpg sudo apt-key add dotdeb.gpg
Обновите apt и создайте что-то потрясающее.
sudo apt-get update
PHP7 содержит внутреннее расширение mcrypt (source-path/ext/mcrypt/
). Но это зависит от софта Libmcrypt.
Шаг 1.
Загрузите libmcrypt-x.x.tar.gz с http://mcrypt.sourceforge.net/ и соберите его.
cd libmcrypt-x.x
./configure
make
make install
Шаг 2.
Пересоберите PHP7 из исходников и добавьте опцию --with-mcrypt
.
./configure ... --with-mcrypt
Другой способ без пересборки 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
Перезапустите php