如何在PHP7下安装mcrypt?拉拉威尔需要它


How can I install mcrypt under PHP7? Laravel needs it

由于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上,有了laravel代客,我解决了这个问题:

brew安装php70 mcrypt

即使在php.ini中启用mcrypt,也可能出现此问题。请尝试以下步骤。

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安装

用Ctrl+Alt+T打开终端,并在Ubuntu 16.4 上运行以下PHP7.0命令

sudo apt-get-install mcrypt php7.0-mcryptsudo服务apache2重启

php7有mcrypt,您可以在php.ini中启用它,然后一切都会正常工作。

这样做:

  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(当configure: error: mcrypt.h not found. Please reinstall libmcrypt等错误运行apt-get install libmcrypt-dev时)
  5. ./configure --with-php-config=/php7-path/bin/php-config
  6. (sudo) make && make install.这将在php-7.0.3/ext/mcrypt/modules中安装mcrypt.so
  7. cp到/usr/lib/php/20151012/共享扩展目录是什么
  8. /etc/php/mods-available/中创建一个mcrypt.ini,写入为extension=mcrypt.so
  9. 创建指向此的链接,例如/etc/php/7.0/fpm/conf.d中的sudo ln -s /etc/php/mods-available/mcrypt.ini 20-mcrypt.ini
  10. 创建指向此的链接,例如/etc/php/7.0/cli/conf.d中的sudo ln -s /etc/php/mods-available/mcrypt.ini 20-mcrypt.ini
  11. sudo service nginx restart
  12. sudo service php7.0-fpm restart
  13. 是的

我使用Dotdeb,这是一个额外的存储库,为您的Debian服务器提供最新的各种酷玩具,如Nginx、PHP、MySQL、Redis等。

  1. 更新您的sources.list

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

    wget https://www.dotdeb.org/dotdeb.gpg
    sudo apt-key add dotdeb.gpg
    
  3. 更新apt&建造一些令人惊叹的东西。

    sudo apt-get update
    

PHP7内部包含mcrypt扩展(source-path/ext/mcrypt/)。但这取决于Libmcrypt软件。

步骤1.

从以下位置下载libmcrypt-x.x.tar.gzhttp://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