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 serviciophp7-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í.