your the missing extension appears php mysql linux wordpress pdo

your php installation appears to be missing the mysql extension which is required by wordpress php 7



Compilación de PHP 7 que falta en la extensión mysql en WordPress (6)

He construido PHP 7 con una configuración que funcionó para una versión anterior de PHP. Ahora mis sitios web de WordPress reciben el mensaje:

Parece que a su instalación de PHP le falta la extensión de MySQL, que es requerida por WordPress.

Otros sitios web que usan mysqli funcionan. ¿Qué me estoy perdiendo?

También he incluido todos los archivos .so con mysql en el nombre:

extension=dba.so extension=mysql.so extension=mysqli.so extension=mysqlnd_mysql.so extension=mysqlnd_mysqli.so extension=mysqlnd.so extension=pdo.so extension=pdo_mysql.so extension=pdo_odbc.so extension=odbc.so


Como se ha mencionado en otra parte, las funciones ext/mysql se han eliminado. Hemos estado hablando de esto por algún tiempo .

ext / mysql fue construido para MySQL 3.23 y solo tuvo muy pocas adiciones desde entonces, aunque mantiene la compatibilidad con esta versión anterior, lo que hace que el código sea un poco más difícil de mantener.

Si está empeñado en volver a ponerlos, puede volver a agregarlos a PHP 7 utilizando la biblioteca PECL de ext / mysql.

Es importante tener en cuenta que Wordpress 3.9 o posterior es compatible con mysqli.

En WordPress 3.9, agregamos una capa adicional a WPDB, haciendo que cambie a usar la biblioteca mysqli PHP, cuando se usa PHP 5.5 o superior.



En Ubuntu, arreglé este error ejecutando

sudo apt-get install php-mysql

Y luego reinicie mi servidor (caddy, pero podría estar usando apache o nginx).

source


Este problema es causado por PHP 7.1.0-dev.

Construí otra con la misma versión de configuración 7.0.0 y el problema se resolvió.

Esto no tiene nada que ver con WordPress, ya que intentará usar MySQLi automáticamente cuando no se encuentre MySQL. Al menos en WP 4.4.


PHP 7 ha eliminado mysql_ * completamente.

Necesitas usar DOP o mysqli. Wordpress parece no apoyar esto.


mysql_* funciones mysql_* se eliminaron en PHP 7.0 actualizan su código a mysqli o PDO

También mire las declaraciones preparadas si está manejando las opiniones de los usuarios. Para reducir la posibilidad de inyecciones SQL

Un ejemplo de cadena de conexión mysqli:

<?php $mysqli = new mysqli("localhost", "user", "password", "database"); if ($mysqli->connect_errno) { echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error; } ?>

Un ejemplo de cadena de conexión pdo:

<?php $dbh = new PDO(''mysql:host=localhost;dbname=test'', $user, $pass); ?>

Nota:

Ese ejemplo mysqli maneja un error de conexión