由于Laravel4需要mcrypt
扩展程序,而PHP7似乎没有mcrypt
扩展程序,这种情况是否有解决方法?
由于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等)。
sudo add-apt-repository ppa:ondrej/php
。该命令用于添加一个名为ondrej/php
的软件源。 - user985366sudo add-apt-repository ppa:ondrej/php
然后 sudo apt-get update sudo apt-get install mcrypt php7.0-mcrypt sudo apt-get upgrade
然后它就可以正常工作了。 - Osama Al-Bannamcrypt
,当我们已经获取了 php7.0-mcrypt
?或者它们完全是两个不同的东西? - enchance我使用 Mac 电脑,并且使用 Laravel Valet,我用下面的方式解决了这个问题:
brew install php70-mcrypt
即使在php.ini中启用了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
使用Ctrl + Alt + T打开终端,运行以下命令安装PHP7.0在Ubuntu 16.4上的mcrypt:
sudo apt-get install mcrypt php7.0-mcrypt sudo service apache2 restart
PHP7有mcrypt扩展,可以在php.ini中启用它,然后一切就能正常工作了。
按照以下步骤操作:
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
。这将在 php-7.0.3/ext/mcrypt/modules
中安装 mcrypt.so 库/usr/lib/php/20151012/
/etc/php/mods-available/
中创建一个名为mcrypt.ini的文件,写入 extension=mcrypt.so
/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 ln -s /etc/php/mods-available/mcrypt.ini 20-mcrypt.ini
sudo service nginx restart
sudo service php7.0-fpm restart
Update your sources.list
deb http://packages.dotdeb.org {distribution} all
deb-src http://packages.dotdeb.org {distribution} all
GnuPG keys
wget https://www.dotdeb.org/dotdeb.gpg
sudo apt-key add dotdeb.gpg
Update apt & build something amazing.
sudo apt-get update
PHP7内部包含mcrypt扩展名(source-path/ext/mcrypt/
)。
但它依赖于Libmcrypt软件。
步骤1。
从http://mcrypt.sourceforge.net/下载libmcrypt-x.x.tar.gz并构建它。
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