Instalar Memcached en Centos7, RedHat7 y derivados con php7

Actualizado el sábado, 25 marzo, 2017

Habiendo tratado en un articulo anterior como compatibilizar memcached con php7 en debian y sus derivados, trataremos de compatibilizar y convertir el repo a centos7.

Sigue los pasos… muy similares a lo que hicimos en debian, pero te aseguro que funciona.

 

Comenzamos:

De todos es conocido que Memcached no trabaja correctamente con php7. Explicaremos el proceso para que sea cien por cien compatible.

Trataremos unos scripts bash con los cuales crearemos y ejecutaremos PHP 7 (CLI y FPM) en distribuciones Linux basadas en Debian:

  • build.sh: Instalara las dependencias necesarias y la última versión en desarrollo de PHP con CLI y API de servidor FPM (SAPI) y la ultima versión PHP 7 https://github.com/php/php-src.
  • install.sh: Instalara PHP-FPM moviendo los archivos de configuración a sus lugares correctos, que seran /usr/local/php7 y permitirá la ejecución al servicio php7-fpm y lo añadirá a la secuencia de arranque.

Estos scripts son muy simples y no implantan la comprobación de errores y la validación de procesos.

 

Instalación:

$ git clone https://github.com/ChiVincent/php-7-centos.git
$ cd php-7-centos
$ ./build.sh
$ ./install.sh

 

PHP-FPM lo controlaremos con php7-fpm desde:

sudo systemctl {start|stop|status|restart} php7-fpm

 

El conector FPM, lo encontraremos en:

127.0.0.1:9007

 

El PHP CLI:

$ /usr/local/php7/bin/php -v
PHP 7.0.4 (cli) (built: Mar  5 2016 14:52:07) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies

 

Archivos de configuración:

Los archivos de configuración los encontraremos en:

/usr/local/php7

Y serán:
/usr/local/php7/lib/php.ini
/usr/local/php7/etc/php-fpm.conf
/usr/local/php7/etc/php-fpm.d/www.conf
/usr/local/php7/etc/conf.d/modules.ini

 

El script de inicio lo localizamos en:

/etc/init.d/php7-fpm

 

Extensiones:

Ten en cuenta que muchas de las extensiones de terceros aun no son compatibles con php7, te pongo el listado de las oficiales.

$ /usr/local/php7/bin/php -m
[PHP Modules]
bcmath
bz2
calendar
Core
ctype
curl
date
dba
dom
exif
fileinfo
filter
ftp
gd
gettext
hash
iconv
intl
json
libxml
mbstring
mcrypt
mhash
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
pspell
readline
Reflection
session
shmop
SimpleXML
soap
sockets
SPL
sqlite3
standard
sysvmsg
sysvsem
sysvshm
tokenizer
wddx
xml
xmlreader
xmlwriter
Zend OPcache
zip
zlib

[Zend Modules]
Zend OPcache

 

Instalar Memcached:

Instalamos dependencias.

sudo yum install -y libmemcached-devel

Instalamos la extensión.
$ git clone https://github.com/php-memcached-dev/php-memcached
$ cd php-memcached
$ git checkout -b php7 origin/php7

$ /usr/local/php7/bin/phpize
$ ./configure --with-php-config=/usr/local/php7/bin/php-config
$ make
$ sudo make install

Agregamos la extensión:
extension=memcached.so

en/a (to)

/usr/local/php7/etc/conf.d/modules.ini:

Editar modules.ini.
nano /usr/local/php7/etc/conf.d/modules.ini

Agregamos:
# Zend OPcache
zend_extension=opcache.so

# Memcached
extension=memcached.so

Y reiniciamos el servidor.

Y con todo esto ya tenemos instalado nuestro Memcached en debian, ubuntu y sus derivados.  Puedes ver como configurarlo AQUI. Si quieres ver el articulo donde ejecutamos el proceso de instalación sobre debian, ubuntu y derivados, aquí.

 

Agregar comentario