CentOS PHP 7.4 Ошибка обновления пакетов pecl / pear - PullRequest
0 голосов
/ 07 января 2020

CentOS 7.6

Я выполнил этот же процесс на версиях 5.x и 7.2 без проблем, но некоторые шаги груши / pecl терпят неудачу в 7.4, поскольку я пытаюсь миграция обновления с 7.2 прямо сейчас.

В процессе инициализации я запускаю обновление timezonedb из pecl и выдаю ошибку:

[root@d9471f6a1ab2 /]# pear upgrade -c pecl.php.net timezonedb
downloading timezonedb-2019.3.tgz ...
Starting to download timezonedb-2019.3.tgz (413,166 bytes)
....................................................................................done: 413,166 bytes
5 source files, building
running: phpize
Can't find PHP headers in /usr/include/php
The php-devel package is required for use of this command.
ERROR: `phpize' failed

Поэтому, естественно, я пытаюсь установить запрашиваемый пакет php-devel, однако пытается понизить некоторые из моих существующих пакетов до php5 .4!

yum install php-devel 
...
Error: php73-cli conflicts with php-cli-5.4.16-46.1.el7_7.x86_64
Error: php73-common conflicts with php-common-5.4.16-46.1.el7_7.x86_64

Моя обычная процедура создания php среды выполнения включает в себя установку timezonedb пакета pecl и его обновление в процессе подготовки. Этот процесс не сильно изменился во всех предыдущих PHP обновлениях, но у меня возникли некоторые проблемы с php7 .4

Полный список приведен ниже , но самое главное, у меня установлено следующее:

php74-php-pear

php74-php-devel

Вот вывод yum list installed php*

[root@d9471f6a1ab2 /]# yum list installed php*
Loaded plugins: fastestmirror, ovl
Loading mirror speeds from cached hostfile
 * base: mirror.fileplanet.com
 * epel: mirror.prgmr.com
 * extras: mirror.hostduplex.com
 * remi-safe: mirrors.mediatemple.net
 * updates: repos.lax.quadranet.com
Installed Packages
php-cli.x86_64                                                                                                                                                                   5.4.16-46.1.el7_7                                                                                                                                                        @updates  
php-common.x86_64                                                                                                                                                                5.4.16-46.1.el7_7                                                                                                                                                        @updates  
php-devel.x86_64                                                                                                                                                                 5.4.16-46.1.el7_7                                                                                                                                                        @updates  
php74-php-bcmath.x86_64                                                                                                                                                          7.4.1-1.el7.remi                                                                                                                                                         @remi-safe
php74-php-cli.x86_64                                                                                                                                                             7.4.1-1.el7.remi                                                                                                                                                         @remi-safe
php74-php-common.x86_64                                                                                                                                                          7.4.1-1.el7.remi                                                                                                                                                         @remi-safe
php74-php-devel.x86_64                                                                                                                                                           7.4.1-1.el7.remi                                                                                                                                                         @remi-safe
php74-php-fpm.x86_64                                                                                                                                                             7.4.1-1.el7.remi                                                                                                                                                         @remi-safe
php74-php-gd.x86_64                                                                                                                                                              7.4.1-1.el7.remi                                                                                                                                                         @remi-safe
php74-php-intl.x86_64                                                                                                                                                            7.4.1-1.el7.remi                                                                                                                                                         @remi-safe
php74-php-json.x86_64                                                                                                                                                            7.4.1-1.el7.remi                                                                                                                                                         @remi-safe
php74-php-mbstring.x86_64                                                                                                                                                        7.4.1-1.el7.remi                                                                                                                                                         @remi-safe
php74-php-opcache.x86_64                                                                                                                                                         7.4.1-1.el7.remi                                                                                                                                                         @remi-safe
php74-php-pdo.x86_64                                                                                                                                                             7.4.1-1.el7.remi                                                                                                                                                         @remi-safe
php74-php-pear.noarch                                                                                                                                                            1:1.10.10-4.el7.remi                                                                                                                                                     @remi-safe
php74-php-pecl-geoip.x86_64                                                                                                                                                      1.1.1-11.el7.remi                                                                                                                                                        @remi-safe
php74-php-pecl-igbinary.x86_64                                                                                                                                                   3.1.0-1.el7.remi                                                                                                                                                         @remi-safe
php74-php-pecl-imagick.x86_64                                                                                                                                                    3.4.4-6.el7.remi                                                                                                                                                         @remi-safe
php74-php-pecl-msgpack.x86_64                                                                                                                                                    2.1.0~beta1-1.el7.remi                                                                                                                                                   @remi-safe
php74-php-pecl-redis5.x86_64                                                                                                                                                     5.1.1-1.el7.remi                                                                                                                                                         @remi-safe
php74-php-pecl-xdebug.x86_64                                                                                                                                                     2.9.0-1.el7.remi                                                                                                                                                         @remi-safe
php74-php-pecl-zip.x86_64                                                                                                                                                        1.15.5-1.el7.remi                                                                                                                                                        @remi-safe
php74-php-pgsql.x86_64                                                                                                                                                           7.4.1-1.el7.remi                                                                                                                                                         @remi-safe
php74-php-process.x86_64                                                                                                                                                         7.4.1-1.el7.remi                                                                                                                                                         @remi-safe
php74-php-soap.x86_64                                                                                                                                                            7.4.1-1.el7.remi                                                                                                                                                         @remi-safe
php74-php-xml.x86_64                                                                                                                                                             7.4.1-1.el7.remi                                                                                                                                                         @remi-safe
php74-runtime.x86_64                                                                                                                                                             1.0-1.el7.remi                                                                                                                                                           @remi-safe

Вот мои репозитории:

 * base: mirror.fileplanet.com
 * epel: mirror.prgmr.com
 * extras: mirror.hostduplex.com
 * remi-safe: mirrors.mediatemple.net
 * updates: repos.lax.quadranet.com

Ответы [ 2 ]

0 голосов
/ 07 января 2020

1 / timezonedb расширение НЕ используется.

RPM-пакеты используют систему tzdata, которая обновляется отдельно.

2 / Вы путаетесь с именами пакетов

  • php74-php-* - это коллекции программ, разработанные для параллельной установки нескольких пакетов:
  • php-* пакеты проще использовать как одиночные / по умолчанию версия

Как объяснено в FAQ , и если вы следуете инструкциям wizard .

3 / не необходимо собрать из исходников

наиболее полезные расширения доступны в виде двоичных пакетов, см. полный список

4 / символические ссылки и окружение

Если вы действительно предпочитаете пакеты SCL (php74- php - *), вы можете просто установить среду, используя команду

module load php74

Поскольку SCL предназначены для нескольких версий, это разрешить переключение с одной версии на другую

А если вы хотите сделать коллекцию по умолчанию Вы можете установить php74-syspaths пакеты

Но, опять же, проще использовать php-* пакеты

0 голосов
/ 07 января 2020

РЕДАКТИРОВАТЬ: Обновленное решение

Ниже мое оригинальное решение. Однако проблема root в том, что установка remi по какой-то причине ничего не добавляет к $ PATH, когда yum используется для установки пакетов.

Он устанавливает вещи в /opt/remi/php74/, а затем вы можете обновить переменные окружения.

Существует исходный файл среды в виде подсказка о том, что делать:

bash-4.2$ cat /opt/remi/php74/enable 
export PATH=/opt/remi/php74/root/usr/bin:/opt/remi/php74/root/usr/sbin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/opt/remi/php74/root/usr/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export MANPATH=/opt/remi/php74/root/usr/share/man:${MANPATH}

В моем случае я использовал docker, поэтому я добавил на мой Dockerfile:

ENV PATH="/opt/remi/php74/root/usr/bin:/opt/remi/php74/root/usr/sbin${PATH:+:${PATH}}"
ENV LD_LIBRARY_PATH="/opt/remi/php74/root/usr/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}"
ENV MANPATH="/opt/remi/php74/root/usr/share/man:${MANPATH}"

После этого все работает! Таким образом, переменные среды - это все, что было нужно. Вы можете использовать r c .local, / etc / environment, et c для обновления вашей среды с ними.

------

ОРИГИНАЛЬНОЕ РЕШЕНИЕ:

Закончилось разрешением со следующим:

Убедитесь, что у нас больше последние репо:

yum -y install \
    https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm \
    https://repo.ius.io/ius-release-el7.rpm \
    https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm \
    http://mirrors.mediatemple.net/remi/enterprise/remi-release-7.rpm

Затем, как минимум, установите php74-php-pear и php74-php-devel (мне нужно было установить WAY MORE libs, но я считаю, что это все, что требуется)

Ссылка груша, которую реми установили. Не уверен, почему это не произошло в первую очередь:

ln -sf /opt/remi/php74/root/usr/bin/pear /usr/bin/pear

Тогда я смог сделать то, что мне нужно было сделать:

pear channel-update pecl.php.net 
pear upgrade -c pecl.php.net timezonedb

Работал успешно.

  • Я думаю, проблема заключалась в том, что я использовал неправильную версию Pear, а недавно установленная версия не была добавлена ​​в путь. Создание ссылки на путь dir решило проблему.
  • Вы также можете редактировать $ PATH, но для моего сценария это работало лучше.
...