You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP 7.0.16安装Mcrypt扩展失败求助(AWS EC2环境)

解决AWS EC2上PHP 7.0.16 Mcrypt扩展加载失败与包冲突问题

你遇到的问题核心是PHP包源冲突——系统里同时混装了Amazon官方源的php70-*包和Webtatic源的php70w-*包,导致mcrypt扩展要么加载失败,要么安装时触发冲突。下面是分步解决的方案:

第一步:确认包源冲突情况

先执行这条命令,查看已安装的PHP相关包,确认是否存在跨源混装:

rpm -qa | grep php

如果输出里同时出现php70-common(Amazon官方源)和php70w-common(Webtatic源),那就是冲突的直接原因。


解决方案一:统一使用Webtatic源的Mcrypt扩展(推荐,保留现有php70w环境)

  1. 先卸载之前安装的Amazon源mcrypt包:
sudo yum remove php70-mcrypt -y
  1. 安装Webtatic源对应的mcrypt扩展:
sudo yum install php70w-mcrypt -y
  1. 重启Apache服务让配置生效:
sudo service httpd restart
  1. 验证扩展是否成功加载:
php -m | grep mcrypt

如果输出mcrypt,说明扩展已正常加载;也可以创建一个phpinfo.php文件,访问后查看页面中是否有mcrypt模块的信息。


解决方案二:切换到Amazon官方源的PHP环境(移除Webtatic源包)

如果你不需要Webtatic源的PHP包,可以彻底切换到Amazon官方源:

  1. 卸载所有Webtatic源的PHP包:
sudo yum remove php70w-* -y
  1. 重新安装Amazon官方源的PHP和mcrypt扩展:
sudo yum install php70 php70-mcrypt -y
  1. 重启Apache服务:
sudo service httpd restart
  1. 同样用php -m | grep mcrypt验证扩展是否加载成功。

额外排查步骤(若以上方案仍不生效)

  1. 检查mcrypt扩展的配置文件:
    查看/etc/php.d/目录下是否有mcrypt.ini文件,内容应包含:
extension=mcrypt.so

如果没有,可以手动创建这个文件并添加上述内容,然后重启Apache。
2. 检查扩展文件的权限:
执行命令确认mcrypt.so的权限是否正确:

ls -l /usr/lib64/php/modules/mcrypt.so

确保文件权限为rwxr-xr-x(yum安装通常会自动设置正确权限),如果权限异常,可执行chmod 755 /usr/lib64/php/modules/mcrypt.so修正。

内容的提问来源于stack exchange,提问作者Daniel Euchar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 12:17:26