Não é possível carregar a extensão memcache.so

7

Eu construí PHP a partir do código-fonte com o comando configure

'./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' 

Eu instalei a extensão 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

Eu adiciono ao meu /usr/local/lib/php.in

extension=memcache.so

Reiniciei meu apache e executei o php-m, mas o php parece não carrega a extensão do memcache Eu segui esta solução deste site link

Eu adicionei o caminho completo

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

apache reiniciado Mas não carregou a extensão memcache! Eu google ao redor, mas o mesmo problema! Como posso carregar esta extensão _ _ "

    
por billyduc 14.09.2009 / 12:37

7 respostas

1

Primeiramente, execute seu binário php como

php -v

Ele deve reclamar que o seu arquivo php.ini quer carregar módulos que não podem ser carregados ...

Se não reclamar, corra

php --ini

Isto deve dar-lhe a localização do seu php.ini (apenas imponha a sua edição errada: D)

Isso ajudou?

    
por 14.11.2010 / 05:09
1

O problema é ..., neste momento: wget http://pecl.php.net/get/memcache Em vez de tar -zxvf memcache-2.2.5.tgz , você deve fazer tar -zxvf memcache (este é o nome do arquivo do wget).

Depois de extrair o arquivo, você obterá a versão mais recente do memcache, no momento em que fizer isso, recebo a pasta memcache-3.0.8 .

Então, os próximos passos serão:

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

E, finalmente, não se esqueça de adicionar esta linha ao seu arquivo php.ini:

extension = memcache.so

E reinicie o Apache.

    
por 22.02.2017 / 09:47
0

Você tem certeza de que o memcached está instalado no local correto? O que você ganha se você executar: locate memcache.so

O memcached está instalado (o binário)? Requer alguma biblioteca extra (libmemcache)?

    
por 14.09.2009 / 13:04
0

Adicione uma diretiva extension_dir para informar ao PHP onde carregar as extensões e remover o caminho da diretiva extension .

extension = memcache.so
extension_dir = /usr/local/lib/php/extensions/no-debug-non-zts-20060613
    
por 29.09.2009 / 12:10
0

Uma coisa que me ajudou é usar

pecl uninstall memcache
pecl install memcache

Outra coisa (isso se aplica apenas às versões php antigas): link diz:

In order to use these functions you must compile PHP with Memcache support by using the --enable-memcache[=DIR] option. 
    
por 01.04.2010 / 17:47
0

isto é devido ao seu / var / tmp montado com permissão noexec

você pode tentar recompilar o memcache usando o comando fuenfundachtzig após excluir temporariamente o /ml / tmp / var / tmp e criar a nova pasta / var / tmp. (esta configuração pode ser diferente do seu servidor)

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

#pecl install memcache

depois, proteja sua pasta temporária

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

leia mais sobre como proteger o tmp aqui

e como usar o PECL com o tmp montado com noexec

    
por 20.09.2011 / 00:44
0

Se você tiver seu PHP compilado, tente remover extension_dir do seu php.ini .

    
por 10.01.2016 / 15:05

Tags