[英]How to install mcrypt on PHP 7.3.3 ubuntu
我试图遵循: PHP警告:PHP启动:无法加载动态库'mcrypt.so'
sudo apt-get -y install gcc make autoconf libc-dev pkg-config
sudo apt-get -y install php7.2-dev
sudo apt-get -y install libmcrypt-dev
sudo pecl install mcrypt-1.0.1
我得到:
pecl/mcrypt requires PHP (version >= 7.2.0, version <= 7.3.0, excluded versions: 7.3.0), installed version is 7.3.3-1+ubuntu14.04.1+deb.sury.org+1
No valid packages found
install failed
我使用需要这个的 prestashop
如果有人使用带 php7.3.10 的 AWS bitnami 安装,以下是具有适当文件路径的布局(下面列出了参考资料)
$ php -version
mcrypt
扩展$ sudo apt-get -y install gcc make autoconf libc-dev pkg-config
$ sudo apt-get -y install libmcrypt-dev
$ sudo pecl install mcrypt-1.0.2
或最新版本: https : //pecl.php.net/package/mcrypt
$ sudo pecl install mcrypt-1.0.1
> libmcrypt prefix? [autodetect] :
mcrypt
-> 检查mcrypt
是否已经在 php.ini 中,也许只需要取消注释$ more /opt/bitnami/php/etc/php.ini | grep mcrypt
;extension=mcrypt.so
extension=mcrypt.so
$ emacs /opt/bitnami/php/etc/php.ini
https://lukasmestan.com/install-mcrypt-extension-in-php7-2/
您必须安装 1.0.2 版。
错误消息清楚地告诉您 1.0.1 仅支持 PHP 7.2,不支持 7.3。
这一切都记录在官方pecl/mcrypt
页面上。
1.0.2 版:
PHP 版本:PHP 7.4.0 或更低版本
PHP 版本:PHP 7.2.0 或更高版本
PEAR 包:PEAR 1.4.0 或更新版本
1.0.1 版:
PHP 版本:PHP 7.3.0 或更低版本
PHP 版本:PHP 7.2.0 或更高版本
PEAR 包:PEAR 1.4.0 或更新版本
使用它,它在 php-7.3 中完美运行:
sudo apt-get -y install gcc make autoconf libc-dev pkg-config
sudo apt-get -y install libmcrypt-dev
sudo pecl install mcrypt-1.0.1
自动检测:按 ENTER
sudo bash -c "echo extension=/usr/lib/php/[folder in your pc]/mcrypt.so > /etc/php/7.3/cli/conf.d/mcrypt.ini"
sudo bash -c "echo extension=/usr/lib/php/[folder in your pc]/mcrypt.so > /etc/php/7.3/apache2/conf.d/mcrypt.ini"
php -i | grep mcrypt
我在 PHP 版本:7.4.3 Ubuntu 版本:20.04.1 LTS 和 nginx 中解决了同样的问题
sudo apt-get install php-pear php7.4-dev
sudo apt-get -y install gcc make autoconf libc-dev pkg-config
sudo apt-get -y install gcc make autoconf libc-dev pkg-config
sudo apt-get -y install libmcrypt-dev
您可以根据 php 版本选择您的 mcrypt 版本阅读
sudo pecl install mcrypt-1.0.4
当您看到提示时
libmcrypt prefix? [autodetect] :
按 [Enter] 自动检测。
输出将是这样的。
Build process completed successfully
Installing '/usr/lib/php/20190902/mcrypt.so'
install ok: channel://pecl.php.net/mcrypt-1.0.4
configuration option "php_ini" is not set to php.ini location
You should add "extension=mcrypt.so" to php.ini
使用pecl成功安装mcrypt后,你应该在php.ini中添加extension=/usr/lib/php/20190902/mcrypt.so扩展名。
我在波纹管文件中添加了 extension=/usr/lib/php/20190902/mcrypt.so
重新启动你的 nginx 因为我正在使用 nginx
systemctl restart nginx
您也可以重新启动 php-fpm
sudo service php7.4-fpm restart
最后如何验证 mycrpt 是否安装(注意关闭终端并再次打开)
php -m | grep mcrypt
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.