今日搭建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一下。。。