PHP 7.1搭配Amazon Linux 2时PHP Mcrypt扩展缺失问题求助
在Amazon Linux 2上为PHP 7.1安装mcrypt扩展的步骤
因为PHP 7.1之后mcrypt已被官方弃用,Amazon Linux 2的默认软件源里没有预编译的php-mcrypt包,所以需要通过编译安装的方式解决,以下是适合新手的详细操作步骤:
1. 安装PHP 7.1及编译依赖
先启用Amazon Linux 2的PHP 7.1软件源,并安装必要的编译工具与依赖库:
# 启用PHP 7.1的extras软件源 sudo amazon-linux-extras enable php7.1 # 安装PHP 7.1、开发组件及mcrypt依赖库 sudo yum install -y php php-devel php-pear gcc make libmcrypt-devel
2. 通过PECL安装mcrypt扩展
PECL仓库仍提供适配PHP 7.1的mcrypt版本,执行以下命令安装指定版本(避免版本不兼容):
sudo pecl install mcrypt-1.0.1
安装过程中若提示是否启用mcrypt加密算法,直接按回车选择默认配置即可。
3. 启用mcrypt扩展
PECL安装完成后不会自动配置PHP加载该扩展,需手动添加配置文件:
# 创建mcrypt的PHP配置文件 sudo echo "extension=mcrypt.so" > /etc/php.d/20-mcrypt.ini
4. 重启Web服务使配置生效
根据你使用的Web服务器选择对应命令:
- 若使用Apache:
sudo systemctl restart httpd
- 若使用PHP-FPM(如配合Nginx):
sudo systemctl restart php-fpm
5. 验证安装结果
执行以下命令查看PHP已加载的扩展,若输出mcrypt则说明安装成功:
php -m | grep mcrypt
额外:MySQL 5.7的安装
如果还未部署MySQL 5.7,Amazon Linux 2默认源里有对应包,直接安装即可:
sudo yum install -y mysql-server sudo systemctl start mysqld sudo systemctl enable mysqld
内容的提问来源于stack exchange,提问作者Duke
相关产品推荐
相关产品推荐

