Pecl php: instalar la extensión en Memcached es prácticamente indispensable, si quieres que se cachee tu php. En anteriores articulos ya hablamos de como instalar memcached, pero no tratamos el tema de instalar la extensión en memcached.
Vamos a ello.
Pecl php: instalar la extensión en Memcached
1 | yum install php-pear |
1 | yum install php-pecl-memcache |
Ejemplo de salida:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 | pecl install memcache downloading memcache-2.2.7.tgz ... Starting to download memcache-2.2.7.tgz (36,459 bytes) ..........done: 36,459 bytes 11 source files, building running: phpize Configuring for: PHP Api Version: 20090626 Zend Module Api No: 20090626 Zend Extension Api No: 220090626 Enable memcache session handler support? [yes] : building in /root/tmp/pear/pear-build-rootkFeKkf/memcache-2.2.7 running: /root/tmp/pear/memcache/configure --enable-memcache-session=yes checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for a sed that does not truncate output... /bin/sed checking for cc... cc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... 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... x86_64-unknown-linux-gnu checking host system type... x86_64-unknown-linux-gnu checking target system type... x86_64-unknown-linux-gnu checking for PHP prefix... /usr/local checking for PHP includes... -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib checking for PHP extension directory... /usr/local/lib/php/extensions/no-debug-non-zts-20090626 checking for PHP installed headers prefix... /usr/local/include/php checking if debug is enabled... no checking if zts is enabled... no checking for re2c... re2c checking for re2c version... 0.13.5 (ok) checking for gawk... gawk checking whether to enable memcache support... yes, shared checking whether to enable memcache session handler support... yes checking for the location of ZLIB... no checking for the location of zlib... /usr checking for session includes... /usr/local/include/php checking for memcache session support... enabled checking for ld used by cc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for /usr/bin/ld option to reload object files... -r checking for BSD-compatible nm... /usr/bin/nm -B checking whether ln -s works... yes checking how to recognize dependent libraries... pass_all checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking dlfcn.h usability... yes checking dlfcn.h presence... yes checking for dlfcn.h... yes checking the maximum length of command line arguments... 1572864 checking command to parse /usr/bin/nm -B output from cc object... ok checking for objdir... .libs checking for ar... ar checking for ranlib... ranlib checking for strip... strip checking if cc supports -fno-rtti -fno-exceptions... no checking for cc option to produce PIC... -fPIC checking if cc PIC flag -fPIC works... yes checking if cc static flag -static works... yes checking if cc supports -c -o file.o... yes checking whether the cc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... no ............................................... ............................................... |
Reinicias apache
1 | /etc/init.d/httpd restart |
Comprueba que todo funciona correctamente.
1 | php -i | grep memcach |
Ejemplo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | memcache memcache support => enabled memcache.allow_failover => 1 => 1 memcache.chunk_size => 32768 => 32768 memcache.compress_threshold => 20000 => 20000 memcache.default_port => 11211 => 11211 memcache.hash_function => crc32 => crc32 memcache.hash_strategy => consistent => consistent memcache.lock_timeout => 15 => 15 memcache.max_failover_attempts => 20 => 20 memcache.protocol => ascii => ascii memcache.redundancy => 1 => 1 memcache.session_redundancy => 2 => 2 Registered save handlers => files user memcache |
Como ves ya lo tenemos perfectamente instalado. Pecl php.
hola me sale lo siguiente:
y con el otro comando tambien no me deja continar
Algunos paneles de control, como Cpanel o PLesk manejan de forma propietaria las extensiones de php. En tu caso debes seguir los pasos que te indico:
Paso 1: Inicia sesión en WHM y desde easyapache habilitas Memcache.
Paso 2: Ahora desde la terminal ejecuta… yum install memcached.x86_64 php-pecl-memcache.x86_64
Paso 3: En WHM de nuevo, en Software -> Module Installers -> PHP Pecl, Busca memcache e instala los dos: memcache y memcached.
Paso 4: Reinicia Apache: service httpd restart
Paso 5: Inicia y configura memcache con el comando (512 es la memoria que quieres asignar): memcached -d -m 512 -l 127.0.0.1 -p 11211 -u nobody
Paso 6: Por ultimo te recomiendo reiniciar el servidor.
Espero que te sirva de ayuda. Un saludo.