今日搭建lnmp的时候装php-fpm出现一个问题搞了一个多小时终于把问题解决了,做下记录方便各位网友查阅虽然很小儿科。。

环境:redhat 7.2版本 yum源也是7.2的iso
[root@proxy lnmp_soft]# yum -y install php-fpm-5.4.16-42.el7.x86_64.rpm
已加载插件:langpacks, product-id, search-disabled-repos, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
正在检查 php-fpm-5.4.16-42.el7.x86_64.rpm: php-fpm-5.4.16-42.el7.x86_64
php-fpm-5.4.16-42.el7.x86_64.rpm 将被安装
正在解决依赖关系
--> 正在检查事务
---> 软件包 php-fpm.x86_64.0.5.4.16-42.el7 将被 安装
--> 正在处理依赖关系 php-common(x86-64) = 5.4.16-42.el7,它被软件包 php-fpm-5.4.16-42.el7.x86_64 需要
--> 解决依赖关系完成
错误:软件包:php-fpm-5.4.16-42.el7.x86_64 (/php-fpm-5.4.16-42.el7.x86_64)
需要:php-common(x86-64) = 5.4.16-42.el7
已安装: php-common-5.4.16-36.el7_1.x86_64 (@development)
php-common(x86-64) = 5.4.16-36.el7_1
您可以尝试添加 --skip-broken 选项来解决该问题
您可以尝试执行:rpm -Va --nofiles --nodigest

装包的时候提示以上报错 php-common的版本不对!需要php-common(x86-64) = 5.4.16-42.el7但是yum里只有 php-common-5.4.16-36.el7_1.x86_64的包。

rpm -q php
php-5.4.16-36.el7_1.x86_64
发现php的版本也是这个,本想在网上找php-common(x86-64) = 5.4.16-42.el7
无奈找了很久没有找到对应版本,本着高版本兼容低版本原则找了个php-common-5.4.16-45.el7.x86_64.rpm ye也不能升级。。。
php的依赖包太多 不能单独升级php-common。。。心累。。。

也chans尝试过执行尝试执行:rpm -Va --nofiles --nodigest 再进行安装 依然提示以上报错。

断定是php版本和php-fpm版本不兼容问题

解决方法:
1、我在7.2的系统上挂载了7.4的镜像作为yum源 再yum -y install php-fpm-5.4.16-42.el7.x86_64.rpm 发现所有php相关的依赖都升级成了对应版本。。。
rpm -q php
php-5.4.16-42.el7.x86_64
所有吧php-fpm装上了。。。
2、其实不用这么复杂。。所以保持原版本不动,直接找到php版本对应的php-fpm就好了。。。
所有在网上下了个php-fpm-5.4.16-36.el7_1.x86_64.rpm
一下就能装成功了。。php对应所有版本都为5.4.16-36。。没有测试过还不知道哪个版本的性能更好,估计是高版本吧,反正这个包是装上了。 Mark一下。。。