apache - instalar - memcached php ubuntu
Apache es "Incapaz de inicializar el módulo" porque el módulo y la API de PHP no coinciden después de cambiar la configuración de PHP (14)
Antes de phpize, asegúrese de actualizar su ruta ($ PS1) para apuntar al nuevo PHP. phpize usa tu entorno, y si todavía tienes vestigios de tu antiguo PHP en tu camino u otras partes del entorno, ¡las cosas se pondrán peludas!
php -v le da esto
PHP Warning: PHP Startup: memcache: Unable to initialize module
Module compiled with module API=20060613
PHP compiled with module API=20090626
These options need to match in Unknown on line 0
PHP Warning: PHP Startup: memcache: Unable to initialize module
Module compiled with module API=20060613
PHP compiled with module API=20090626
These options need to match in Unknown on line 0
bogus test name tests/
PD. me he actualizado de php 5.2 a 5.3. antes de esto, todo funcionó bien.
Cuando actualiza la versión de PHP (especialmente cuando va de la versión XY a la versión XZ) , también debe actualizar las extensiones de PHP .
Esto se debe a que las extensiones de PHP están desarrolladas en C, y están "cerca" de las partes internas de PHP, lo que significa que, si las API de esas partes internas cambian, la extensión debe volverse a compilar para usar las nuevas versiones.
Y, entre PHP 5.2 y PHP 5.3, por lo que recuerdo, ha habido algunas modificaciones en las estructuras internas de datos utilizadas por el motor PHP, lo que significa que las extensiones deben volverse a compilar, para que coincida con esa nueva versión de esas estructuras de datos.
Cómo actualizar sus extensiones PHP dependerá del sistema que esté utilizando.
Si está en Windows, puede encontrar el .dll
para algunas extensiones aquí: http://downloads.php.net/pierre/
Para obtener más información sobre las diferentes versiones, puede echar un vistazo a lo que se dice en la barra lateral izquierda de windows.php.net .
Si está en Linux, debe:
- Compruebe lo que su distribución proporciona
- O use el comando
pecl
para volver a descargar las fuentes de las extensiones en cuestión y vuelva a compilarlas.
En mi caso en php.ini
[CLDbg]
extension=php_cl_dbg_5_3_VC9.dll
clport=6000
Eliminé Codelobster, que es compatible con diferentes versiones de PHP, así que necesito actualizar a:
[CLDbg]
;extension=php_cl_dbg_5_3_VC9.dll
;clport=6000
En mi caso, utilicé lnmp para instalar php con la versión 5.4.45. Pero tal vez porque instalé php5-dev después de lnmp (que supongo que no es necesario si instaló lnmp), mi phpize y php-config apuntan a herramientas de versiones anteriores a php.
Lo resolví cambiando el enlace de /etc/alternatives/phpize
y /etc/alternatives/php-config
a /usr/local/php/bin/phpize
y /usr/local/php/bin/php-config
.
Espera que esto sea útil.
Es posible que los módulos estén instalados, pero su PHP.ini aún apunta a un directorio anterior.
Verifique el contenido de / usr / lib / php / extensions. En el mío, había dos directorios: no-debug-non-zts-20060613 y no-debug-non-zts-20060613. Alrededor de la línea 428 de tu php.ini, cambia:
extension_dir = "/ usr / local / lib / php / extensions / no-debug-non-zts-20060613"
a
extension_dir = "/ usr / local / lib / php / extensions / no-debug-non-zts-20090626"
Luego reinicia Apache. Esto debería resolver el problema.
Este problema me acaba de ocurrir y se resolvió simplemente al aumentar memory_limit de 32 M a 64 M Puede ajustar el valor en el archivo donde php.ini existe
ubique php.ini luego elija el archivo correcto y busque memory_limit y luego de modificarlo debe reiniciar apache /etc/init.d/httpd restart
Todo lo mejor.
Lo que funcionó para mí fue simplemente hacer lo siguiente:
abra el archivo php.ini
En el encabezado DYNAMIC EXTENSIONS, comente la siguiente línea como
;extension=php_java.dll
Reinició Apache y todo estaba bien
Luché con este problema durante mucho tiempo y descubrí que cuando ejecutas configure, solo pásalo por la ruta de acceso a la herramienta php-config
correcta.
En mi caso, fue
./configure --with-php-config=/usr/local/zend/bin/php-config
... Si no está seguro, ejecute locate php-config
en su máquina y encuentre la correcta entre las diferentes versiones instaladas.
Espero que esto ayude a alguien en el futuro.
PD. Mi php-config
defecto se estableció en 20090926, que es PHP 5.3. El que ingresé manualmente como parámetro para ./configure was
para PHP 5.4 (2010 ...)
Su problema está dentro del paquete php5-dev. Supongo que pasó de php5.2 en una versión anterior de Linux a php5.3. Hice lo mismo, y cuando logré instalar php 5.3 hubo un conflicto con php5-dev. Por alguna razón, no se actualiza a la nueva versión. No sé por qué es eso y no me importa, sin embargo, esto hace que su extensión compilada con la versión anterior de la API, mientras que php ofc es con la versión más nueva de la API. Lo que hice para resolver este problema fue:
Eliminé php5-dev con sudo apt-get remove php5-dev
, luego ejecuté sudo apt-get autoremove
para deshacerme de las sobras que me daban problemas, y después de eso acabo de instalar php5-dev nuevamente. sudo apt-get install php5-dev
.
Una vez hecho esto, sudo pecl uninstall memcache
mi memcache con la sudo pecl uninstall memcache
y lo instalé de nuevo sudo pecl install memcache
. Ahora, tanto el módulo como el php tenían la misma versión de la API, así que supe de inmediato que había resuelto el problema :)
Espero eso ayude.
Tenía el mismo error incluso después de recompilar los módulos.
Pero lo resolví, solo tienes que especificar la ruta absoluta de tu phpize.
Tenía esta parte habilitada en mi php.ini
extension=php_memcache.dll
[Memcache]
memcache.allow_failover = 1
memcache.max_failover_attempts=20
memcache.chunk_size =8192
memcache.default_port = 11211
Después de comentar estas líneas el compositor se instaló en mi windows 10
Tuve un problema similar después de actualizar de PHP 5.5 a PHP 5.6. Las phpize
y php-config
que se utilizan para compilar la extensión phalcon siguen siendo las de PHP 5.5. Tenía que ejecutar el siguiente comando:
sudo apt-get install php5.6-dev
Habrá una larga stacktrace, la información clave que vi fue esta:
update-alternatives: using /usr/bin/php-config5.6 to provide /usr/bin/php-config (php-config) in auto mode
update-alternatives: using /usr/bin/phpize5.6 to provide /usr/bin/phpize (phpize) in auto mode
Espero que esto ayude a alguien.
sólo
pecl uninstall module_name
entonces
pecl install module_name