Pregunta No se puede cargar la extensión memcache.so


Construí PHP desde la fuente con el comando de configuración

'./configure' '--prefix=/usr/local/php-5.2.8' '--with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d' '--with-apxs2=/usr/local/httpd/bin/apxs' '--with-mysql=/usr/local/mysql/' '--with-zlib' 

Instalé la extensión php memcache:

wget http://pecl.php.net/get/memcache
tar -zxvf memcache-2.2.5.tgz
cd memcache-2.2.5
phpize
./configure --enable-memcache
make
make install

Agrego a mi /usr/local/lib/php.in

extension=memcache.so

Reinicié mi apache y ejecuté php-m pero parece que php no carga la extensión de memcache Seguí esta solución desde este sitio. http://www.howtoforge.com/forums/showthread.php?t=26554 

Agregué el camino completo

extension=/usr/local/lib/php/extensions/no-debug-non-zts-20060613/memcache.so 

reiniciado apache Pero no se cargó la extensión de memcache! Busco en google pero el mismo problema! ¿Cómo puedo cargar esta extensión _ _ "


7
2017-09-14 10:37


origen




Respuestas:


En primer lugar ejecuta tu php binario como

php -v

Debería quejarse de que su php.ini quiera cargar módulos que no se pueden cargar ...

Si no se queja, corre

php --ini

Esto debería darte la ubicación de tu php.ini (solo en caso de que edites la incorrecta: D)

¿Ayudó esto?


1
2017-11-14 04:09





El problema es ..., en este punto: wget http://pecl.php.net/get/memcache En lugar de tar -zxvf memcache-2.2.5.tgz, deberías hacer tar -zxvf memcache (Este es el nombre de archivo de wget).

Después de extraer el archivo, obtendrás la última versión de memcache, en el momento en que hago esto, obtengo la carpeta memcache-3.0.8.

Así, los próximos pasos serán:

cd memcache-3.0.8 
phpize 
./configure --enable-memcache 
make
make install

Y, finalmente, no olvide agregar esta línea a su php.ini:

extension = memcache.so

Y reinicie Apache.


1
2018-02-22 08:47





¿Estás seguro de que memcached está instalado en la ubicación correcta? ¿Qué obtienes si corres? locate memcache.so

¿Está instalado memcached (el binario)? ¿Requiere alguna libreria extra (libmemcache)?


0
2017-09-14 11:04



Debe usar buscar, no localizar, ya que puede que todavía no esté en la base de datos de localización. - Cian
El demonio de memcached se instala correctamente! y cuando localizo la extensión de memcache, ubico memcache.so /usr/local/lib/php/extensions/no-debug-non-zts-20060613/memcache.so /usr/local/src/memcache-2.2.5/.libs /memcache.so /usr/local/src/memcache-2.2.5/modules/memcache.so ¡Creo que el problema es que PHP no cargó la extensión! - billyduc


Añadir un extension_dir directiva para indicar a PHP dónde cargar las extensiones y eliminar la ruta de la extension directiva.

extension = memcache.so
extension_dir = /usr/local/lib/php/extensions/no-debug-non-zts-20060613

0
2017-09-29 10:10



pobre de mí ! ¡No funciona! - billyduc


Una cosa que me ayudó es usar

pecl uninstall memcache
pecl install memcache

Otra cosa (esto se aplica solo a versiones bastante antiguas de php): http://www.hollub.at/phpmanual/ref.memcache.html dice:

In order to use these functions you must compile PHP with Memcache support by using the --enable-memcache[=DIR] option. 

0
2018-04-01 15:47





esto se debe a su / var / tmp montado con permiso noexec

puede intentar recompilar memcache usando el comando fuenfundachtzig luego de eliminar temporalmente el enlace simbólico / var / tmp y crear una nueva carpeta / var / tmp. (Esta configuración puede diferir de su servidor)

#rm /var/tmp
#mkdir /var/tmp

#pecl install memcache

luego asegure su carpeta temporal

#rm -rf /var/tmp
#ln -s /tmp /var/tmp

Lea más acerca de asegurar tmp aquí

y Cómo usar PECL con tmp montado con noexec


0
2017-09-19 22:44





Si tienes tu PHP compilado, intenta eliminar extension_dir de tu php.ini.


0
2018-01-10 14:05