Estoy haciendo un tutorial y recibo este error:
Error fatal: no se encuentra la clase 'MySQLi' (URL LARGA) en la línea 8
El código de la línea 8 es:
$mysqli = new MySQLi($db_server, $db_user, $db_pass, $db_name);
Vi en línea que alguien dijo para ver si estaba activado en mi phpinfo (), pero no había nada en la lista para "mysqli".
Además, estoy ejecutando PHP versión 5.2.5
Respuestas:
Parece que solo necesitas instalar MySQLi .
Si cree que ha hecho eso y aún tiene un problema, publique su sistema operativo y cualquier otra cosa que pueda ayudar a diagnosticarlo más.
fuente
sudo yum install php-mysqli
sudo yum install php56-mysqlnd.x86_64
(elija la que coincida con la versión de php que ha instalado)Puede verificar si las bibliotecas mysqli están presentes ejecutando este código:
fuente
Si está en Ubuntu , ejecute:
fuente
sudo
apt-get -y install php5-mysql php5-mysqlnd
para obtener ambos. ¿Es lo que te estabas perdiendo, @Hermann Ingjaldsson?Si está llamando a "new mysqli (..)" desde dentro de una clase con espacio de nombres, es posible que vea un error similar
Fatal error: Class 'foo\bar\mysqli' not found in
. La forma de solucionar esto es establecerlo explícitamente en el espacio de nombres raíz con una barra invertida anterior como esta:fuente
Además de descomentar la extensión php_mysqli.dll en php.ini , también descomente la directiva extension_dir en php.ini y especifique su ubicación:
Esto hizo que funcionara para mí.
fuente
./ext
cuál es el camino relativo. Y tuve que cambiar el nombrephp.ini-development
dephp.ini
y elimine el comentario en ese archivoextension=php_mysqli.dll
. Oh chico, no te extrañé PHP.Mi sistema operativo es Ubuntu . Resolví este problema usando:
fuente
Cómo habilitar mysqli en php.ini
Cómo cargar el archivo php.ini
fuente
Si está en Docker ...
Dentro de php-container RUN:
fuente
Parece un problema con su instalación.
http://www.php.net/manual/en/mysqli.installation.php
fuente
Pensé que podría ayudar a cualquiera con el mismo problema usando servidores de Namesco. He estado tratando de solucionar este problema después de mover una base de datos de mi servidor local en mi computadora personal a namesco. No ayudaron, dijeron que era un problema de codificación.
Desafortunadamente, sus artículos de apoyo fueron una pérdida de tiempo. Después de leer esto, fui a la interfaz de administración con una nueva determinación.
fuente
Algunas distribuciones (como Gentoo ) admiten múltiples instalaciones de PHP, y debes asegurarte de que estás usando una con mysqli instalado y habilitado.
En Gentoo, había instalado un nuevo PHP (con el indicador USE de mysqli habilitado), pero necesitaba activar la nueva versión de PHP (ya que a la antigua le faltaba mysqli):
fuente
Revisé todo lo anterior y no funcionó para mí,
Hay algunos pasos que encontré.
Solía Versión PHP 5.5.9-1ubuntu4.17 en Ubuntu 14.04
Primero revisa la carpeta
Si no contenía mysqli.ini , lea otra respuesta para instalarlo,
Abrir
php.ini
buscar extension_dirEn mi caso, debo establecer
extension_dir = /usr/lib/php5/20121212
Y reinicie apache2:
/ect/init.d/apache2 restart
fuente
El zip de PHP incluye la mayoría de las extensiones de uso común (* .dll en Windows como php_mysqli.dll) en el directorio \ ext, sin embargo, no están habilitadas de forma predeterminada. Es posible que reciba este error fatal al intentar usar MySQLi:
Para habilitar las extensiones, abra php.ini (es posible que primero deba copiar php.ini-development como php.ini) y anule los comentarios (o agregue) estas dos líneas:
Y cualquier extensión en particular para la que reciba errores fatales, es decir, para mysqli:
fuente
en ubuntu:
fuente
En una nueva instalación de PHP, elimine
;
antesextension_dir
en php.ini.fuente
en Debian 10
fuente
Para cualquiera que use Docker, encontré este problema y lo resolví usando mi propio Dockerfile en lugar de la imagen php: fpm:
fuente
Encontré una solución para este problema después de un largo procedimiento de análisis. Después de probar correctamente mi instalación de php con las características de la línea de comandos, descubrí que php funciona bien y podría funcionar con la base de datos mysql. Por cierto. puede ejecutar archivos de código con código php con el comando php -f filename.php
Entonces me di cuenta de que algo debe estar mal con Apache.
Hice un archivo con solo la función phpinfo () dentro.
Aquí vi que en la línea
Archivo de
configuración cargado, mi archivo de configuración no se cargó, sino que se mencionó (ninguno).
Finalmente encontré dentro de la configuración de Apache la entrada
Pero instalé PHP 7 y Apache no pudo cargar el archivo php.ini porque no había una entrada para eso. yo añadí
y después de reiniciar Apache, todo funciona bien.
Estos bloques de código anteriores los encontré en mi archivo httpd-xampp.conf. Puede que esté en otro lugar de su configuración.
En el mismo archivo había cambiado antes la configuración de php 7 como reemplazo de la versión de php 5.
Como puede ver, tengo el paquete xampp instalado, pero este problema estaba en el lado de Apache.
fuente
instale la extensión phpXX por PHP. En el caso de mi FreeBSD:
fuente
Estoy usando xampp y mi problema se solucionó una vez que cambie el nombre:
a
PD: ¡No olvide reiniciar Apache después de realizar este cambio!
fuente
fuente