Задать вопрос
virus_forever
@virus_forever

Как установить memcached на PHP 7.3 (rh-php73) на Centos 7?

Добрый день!

Имею домашний сервер, с виртуалкой с Linux Centos 7.

Там уже есть ряд проектов с php 7.1. В основном nginx + php-fpm.

Нужно.
Под специфический проект установить 7.3, и ряд модулей, например memcached.

Я погуглил. Установил репозиторий centos-sclo-rh, и оттуда:
Установленные пакеты
rh-php73.x86_64     
rh-php73-build.x86_64
rh-php73-php.x86_64   
rh-php73-php-cli.x86_64     
rh-php73-php-common.x86_64
rh-php73-php-devel.x86_64
rh-php73-php-fpm.x86_64
rh-php73-php-gd.x86_64
rh-php73-php-gmp.x86_64
rh-php73-php-json.x86_64
rh-php73-php-mbstring.x86_64
rh-php73-php-mysqlnd.x86_64
rh-php73-php-opcache.x86_64
rh-php73-php-pdo.x86_64
rh-php73-php-pear.noarch
rh-php73-php-pecl-apcu.x86_64
rh-php73-php-process.x86_64
rh-php73-php-soap.x86_64
rh-php73-php-xml.x86_64
rh-php73-php-zip.x86_64
rh-php73-runtime.x86_64
rh-php73-scldevel.x86_64
Доступные пакеты
rh-php73-php-bcmath.x86_64
rh-php73-php-dba.x86_64
rh-php73-php-dbg.x86_64
rh-php73-php-embedded.x86_64
rh-php73-php-enchant.x86_64
rh-php73-php-intl.x86_64
rh-php73-php-ldap.x86_64
rh-php73-php-odbc.x86_64
rh-php73-php-pecl-apcu-devel.x86_64
rh-php73-php-pecl-xdebug.x86_64
rh-php73-php-pgsql.x86_64
rh-php73-php-pspell.x86_64
rh-php73-php-recode.x86_64
rh-php73-php-snmp.x86_64
rh-php73-php-xmlrpc.x86_64


В целом работает. Однако, ни в какую не получается установить memcached.

От 7.1 не работает.

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/memcache.so' (tried: /usr/lib64/php/modules/memcache.so (/usr/lib64/php/modules/memcache.so: undefined symbol: _zval_ptr_dtor), /opt/rh/rh-php73/root/usr/lib64/php/modules//usr/lib64/php/modules/memcache.so.so (/opt/rh/rh-php73/root/usr/lib64/php/modules//usr/lib64/php/modules/memcache.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP 7.3.11 (cli) (built: Dec 10 2019 16:14:50) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.11, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.3.11, Copyright (c) 1999-2018, by Zend Technologies


Из исходников тоже не хочет - на configure валится.

configure: WARNING: you should use --build, --host, --target
configure: WARNING: invalid host type: /opt/rh/rh-php73/root/usr/bin/php-config
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for a sed that does not truncate output... /usr/bin/sed
checking for /opt/rh/rh-php73/root/usr/bin/php-config-cc... no
checking for /opt/rh/rh-php73/root/usr/bin/php-config-gcc... no
checking for cc... cc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking for cc option to accept ISO C89... none needed
checking how to run the C preprocessor... cc -E
checking for icc... no
checking for suncc... no
checking whether cc understands -c and -o together... yes
checking for system library directory... lib
checking if compiler supports -R... no
checking if compiler supports -Wl,-rpath,... yes
checking build system type... Invalid configuration `/opt/rh/rh-php73/root/usr/bin/php-config': machine `/opt/rh/rh-php73/root/usr/bin/php' not recognized
configure: error: /bin/sh ./config.sub /opt/rh/rh-php73/root/usr/bin/php-config failed


Опыта в этом деле - мало, для этой задачи - не хватает точно. Что делать?

Может быть я "засрал" виртуалку, установив php не из того репозитория? Есть еще remi какой то?
  • Вопрос задан
  • 700 просмотров
Подписаться 1 Средний 10 комментариев
Пригласить эксперта
Ответы на вопрос 1
SignFinder
@SignFinder
Wintel\Unix Engineer\DevOps
Да вам нужен именно Remi - https://rpms.remirepo.net/
У него есть возможность как обновлять системный php на новые версии, так и ставить второй php параллельно системному.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы