php - 在 Centos 7 上完全卸载并重新安装 PHP
问题描述
我需要在 Centos 7 上尝试 PHP 5.6 和 5.5。所以,我将它们安装在 PHP 7.1 的完美工作安装之上。我按照这里的说明进行操作:https: //www.mojowill.com/geek/howto-install-php-5-4-5-5-or-5-6-on-centos-6-and-centos-7/
基本上,我编辑了 remi repo 配置文件以启用 PHP 5.6 和 5.5 并安装了 PHP 5.6。我测试了我想要测试的内容,并尝试通过禁用 repos 并卸载所有 php 然后重新安装来切换回来。现在我有问题。
这是症状和我尝试过的方法。
我收到一条关于 WordPress 安装的消息“ Your PHP installation appears to be missing the MySQL extension which is required by WordPress.
”
# php -v
PHP **7.2.14** (cli) (built: Jan 8 2019 14:05:15) ( NTS )
Copyright (c) 1997-2018 The PHP Group
<? phpinfo() ?> works but says php version **7.1.24**
我试图检查是否仍然安装了 php-mysql:
# yum list installed | grep php
php.x86_64 7.2.14-1.el7.remi @remi-php72
php-cli.x86_64 7.2.14-1.el7.remi @remi-php72
php-common.x86_64 7.2.14-1.el7.remi @remi-php72
php-gd.x86_64 7.2.14-1.el7.remi @remi-php72
php-json.x86_64 7.2.14-1.el7.remi @remi-php72
php-mysqlnd.x86_64 7.2.14-1.el7.remi @remi-php72
php-pdo.x86_64 7.2.14-1.el7.remi @remi-php72
php-pecl-mcrypt.x86_64 1.0.1-6.el7.remi.7.2 @remi-php72
# yum install php-mysql
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirror.layeronline.com
* epel: mirror.uic.edu
* extras: centos.mirror.globo.tech
* nux-dextop: mirror.li.nux.ro
* remi: repo1.ash.innoscale.net
* remi-php72: repo1.ash.innoscale.net
* remi-safe: repo1.ash.innoscale.net
* updates: centos.mirror.ca.planethoster.net
* webtatic: us-east.repo.webtatic.com
Package php-mysql-5.4.45-16.el7.remi.x86_64 is obsoleted by php-mysqlnd-7.2.14-1.el7.remi.x86_64 which is already installed
是否有任何简单的解决方案来解决这个混乱,或者我应该重新安装整个开发机器。
解决方案
首先删除有关旧 php 版本的所有内容(需要一些时间...)
sudo yum remove --setopt=clean_requirements_on_remove=1 php php-pear php-mysql php-cli php-common mod-php
然后,安装较新的版本(将花费更多时间)
sudo yum install mod_php70u php70u-cli php70u-mysqlnd
不要忘记重新启动并检查 sudo apachectl restart systemctl status httpd
如果您正在使用 NGinX 运行 fpm,则使用以下卸载(这将保留配置只是 o 删除包/依赖项)
sudo yum remove --setopt=clean_requirements_on_remove=1 php-fpm php-cli php-common php7-fpm php7-cli php7-common
并安装
sudo yum install php7-fpm-nginx php7-cli php7-mysqlnd
(如果需要,使用 [72] 而不是 [7])
保存、退出和重启
sudo systemctl restart php-fpm
sudo systemctl restart nginx #(or whatever you use)
请考虑降级到 7.1 版本,因为与最新版本相比,连接模块的痛苦可能会少一些,尤其是在总是有问题的 centOS 上
(感谢@fyrye 提供删除选项)
推荐阅读
- c# - C# 在导入数据表时跳过 csv 列
- xamarin.forms - 当模型值改变时更新一个可观察的集合
- python - 计算/可视化 Tensorflow Keras Dense 模型层相对连接权重 wrt 输出类
- linux - 我无法克服的 yaml 烦人问题
- java - JFrame在打开时陷入了一些奇怪的内部死锁
- node.js - bash,nohup sh 文件启动节点并且节点在注销时挂起?
- javascript - 如何通过 textarea 的大小限制 textarea 中的字符?
- scala - 将 Akka Http 服务的一些路径参数更改为查询参数
- spring - 重定向在生产一段时间后停止工作
- javascript - 在另一个对象的构造函数中创建一个新的 ES6 对象失败