2011-11-22 31 views
6

Instalé todo por separado (Apache, PHP, MySQL y phpMyAdmin) y no uso una compilación, todo funciona bien hasta ahora excepto phpMyAdmin.phpMyAdmin - La extensión de MySQL falta

El problema que estoy experimentando es, que el mensaje de error indica que la "extensión de MySQL no se encuentra", tan pronto como trato de llamar a:

localhost/phpmyadmin/index.php

Y cuando llamo a

localhost/phpmyadmin/configuración/index.php

tengo dos mensajes en los que no sé si se supone que ser así:

La compresión y descompresión Bzip2 requiere funciones (bzopen, bzcompress) que no están disponibles en este sistema.

y:

Zip descompresión requiere funciones (zip_open) que no están disponibles en este sistema.

¿Alguna sugerencia?

+0

si hace un archivo php con en él, ¿está cargada la extensión mysql allí? Si no, debes activarlo en tu php.ini –

Respuesta

8

Al principio asegúrese de tener mysql instalado correctamente. Puede asegurarlo simplemente comprobando si puede acceder a mysql usando la instrucción del comando mysql. Entonces, si mysql está funcionando, probablemente no se esté cargando. Para ello, siga los pasos que figuran a continuación

En primer lugar, debe encontrar su php.ini. Podría estar en cualquier lugar, pero si crea un pequeño archivo php con el script

<?php phpinfo(); ?> 

, le dirá dónde está. Solo mira la ruta del archivo de configuración cargado. Los lugares comunes incluyen/etc/apache /, /etc/php4/apache2/php.ini, /etc/php5/apache2/php.ini o incluso /usr/local/lib/php.ini para Windows, puede ser C: \ Users \ username \ PHP \ php.ini

Edite el php.ini de su servidor y busque la siguiente línea. Retire el ';' desde el inicio de la línea y reinicie Apache. ¡Las cosas deberían funcionar bien ahora!

;extension=mysql.so 

debe convertirse en

extension=mysql.so 

Para las ventanas será

;extension=mysql.dll 

debe convertirse en

extension=mysql.dll 
1

En su instalación faltan algunos módulos php, debe haber una lista de módulos requeridos en el archivo phpmyadmin. Si habilitó recientemente los módulos, intente reiniciar el servicio/daemon apache.

Editar: Como parece, no hay un solo "habilitar estos módulos" en los documentos, así que habilite mysql o mysqli en su php.ini (puede que tenga que instalarlo primero).

Los dos mensajes no son importantes si no tiene la intención de cargar o descargar un archivo comprimido dentro de phpMyAdmin. Si lo hace, habilite los módulos zlib y/o bz2.

3

Algunas distribuciones de Linux tienen un php_mysql y php_mysqli paquete para instalar.

0

Sólo compruebe el archivo php.ini, En este archivo de punto y coma (;) utilizado para el comentario si lo ve, luego elimine el punto y coma;.

;extension=mysql.dll 

Ahora su extensión es permitir, pero es necesario reiniciar appache

extension=mysql.dll 
+1

Muchas gracias a todos, pero tuve que hacer una cosa más y mover el libmysql.dll a la carpeta Windows System32 como se describe en el manual de PHP: agregarlo a Windows PATH también debería funcionar, pero ese no funciona para mí en general. – Carpet

3

Es necesario poner la ruta completa en el ini php al cargar el archivo DLL MySQL, es decir: -

extension = c: /php54/ext/php_mbstring.dll
extension = c: /php54/ext/php_mysql.dll

Entonces no necesita moverlos a la carpeta de Windows.

+0

Solo tiene que agregar la ruta para cada extensión si no ha configurado "extension_dir". Es mucho más fácil configurar "extensión_dir" que agregar la ruta a cada extensión. Ej: extension_dir = "c:/php/ext" – ironarm

1

En mi caso he tenido que instalar la extensión:

yum install php php-mysql httpd 

y luego reiniciar Apache:

service httpd restart 

que solucionó el problema.

2

Al igual que otros declararon que necesita para eliminar el ';' a partir de:
;extension=php_mysql.dll y
;extension=php_mysqli.dll

en su php.ini para permitir mysql y mysqli extensiones. Pero LO MÁS IMPORTANTE de todos, debe configurar el extension_dir en su php.ini para que apunte al directorio de extensiones. El valor predeterminado la mayoría de las veces es "ext". Debe cambiarlo a la ruta absoluta a la carpeta de extensiones. es decir, si tiene su xampp instalado en la unidad C, entonces C:/xampp/php/ext es la ruta absoluta a la carpeta ext, ¡y debería funcionar como un amuleto!

3

Acabo de añadir

apt-get install php5-mysqlnd 

Esto le preguntará si desea sobrescribir mysql.so de "php5-mysql".

Esto funciona para mí.

0

Instalación bzip2 y zip extensiones PHP resuelven mi problema en Ubuntu:

sudo apt-get install php7.0-bz2 
sudo apt-get install php7.0-zip 

Uso php(you version)-(extension) Para instalar y activar los módulos que faltan que se requiere en el readme phpmyadmin.

0

Tuve un problema similar, pero no ayudó agregar extension = mysql.so en mi php.ini. Resultó que el archivo mysql.so no estaba en mi carpeta de extensión ni en ningún otro lado en mi máquina. Resolvió esto descargando la fuente de php y construyendo la extensión manualmente y luego copiándola en la carpeta de extensión.

Cuestiones relacionadas