Поскольку Laravel4 требует расширения mcrypt , и у PHP7, похоже, нет расширения mcrypt , есть ли способ обхода этого для работы?
Имел ту же проблему – PHP7 отсутствовал mcrypt.
Это сработало для меня. Когда его спросят, сохраните локальные файлы конфигурации PHP.
sudo apt-get update sudo apt-get install mcrypt php7.0-mcrypt sudo apt-get upgrade
Перезагрузите FPM (или Apache или NGINX и т. Д.) После установки.
Я нахожусь на Mac и с лараветом-камердинером, я решил с этим:
brew install 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-mcrypt.
sudo apt-get install php7.0-mcrypt для установки
php7 имеет mcrypt, вы можете включить его в php.ini, и тогда все будет работать нормально.
Откройте терминал с помощью Ctrl + Alt + T и запустите следующие команды для PHP7.0 на Ubuntu 16.4
sudo apt-get install mcrypt php7.0-mcrypt sudo service apache2 restart
сделайте вот так:
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 /usr/lib/php/20151012/ что такое общие расширения dir /etc/php/mods-available/ write как 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 PHP7 содержит внутреннее расширение mcrypt ( source-path/ext/mcrypt/ ). Но это зависит от программного обеспечения Libmcrypt.
Шаг 1.
Загрузите libmcrypt-xxtar.gz из http://mcrypt.sourceforge.net/ и создайте его.
cd libmcrypt-xx ./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
Я использую 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 & build что-то потрясающее.
sudo apt-get update