Полная деинсталляция и переустановка PHP на Centos 7 - PullRequest
0 голосов
/ 09 января 2019

Мне нужно было попробовать PHP 5.6 и 5.5 на Centos 7. Итак, я установил их поверх идеальной рабочей установки 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. Я протестировал то, что хотел протестировать, и попытался вернуться обратно, отключив репозитории и удалив все 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

Есть ли какое-нибудь легкое решение этой проблемы или я должен просто заново установить всю машину для разработки.

1 Ответ

0 голосов
/ 09 января 2019

Сначала удалите все, что касается старой версии 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 статус systemctl httpd

Если вы запускаете fpm с NGinX, используйте следующую деинсталляцию (это сохранит настройки только для удаления пакетов / зависимостей)

    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 за варианты удаления)

...