php7 instalar extension php mysql pdo phpmyadmin install

php - extension - Instalar el controlador PDO en el servidor MySQL Linux



pdo php extension linux (6)

Me sugirieron, no hace mucho tiempo, cambiar mi código para usar PDO a fin de parametrizar mis consultas y guardar de forma segura HTML en la base de datos.

Bueno, aquí están los principales problemas:

  1. Miré http://php.net/manual/en/ref.pdo-mysql.php , y realmente no entiendo dónde debería poner esa cadena $ ./configure --with-pdo-mysql ...

  2. El sitio que estoy construyendo en realidad solo requiere PDO para una página. Si bien puedo considerar volver a escribirlo, tomará un tiempo y necesito que las páginas se ejecuten pronto, por lo que no puedo desactivar MySQL por completo. Si instalo PDO, ¿aún podré usar los controladores mysql_* ?

El servidor en cuestión ejecuta PHP Version 5.4.6-1ubuntu1 y Apache / 2.2.22 (Ubuntu). También estoy ejecutando una base de datos phpMyAdmin, si es importante.


  1. PDO significa Objeto de Datos PHP.
  2. PDO_MYSQL es el controlador que implementará la interfaz entre el objeto de datos (base de datos) y la entrada del usuario (una capa debajo de la interfaz de usuario llamada "código detrás") que accede a su objeto de datos, la base de datos MySQL.

El propósito de usar esto es implementar una capa adicional de seguridad entre la interfaz de usuario y la base de datos. Al usar esta capa, los datos pueden ser normalizados antes de ser insertados en su estructura de datos. (Las mayúsculas son mayúsculas, no hay espacios iniciales o finales, todas las fechas están formadas correctamente).

Pero hay algunos matices a esto de los que quizás no estés al tanto.

Antes que nada, hasta ahora, probablemente haya escrito todas sus consultas en algo similar a la URL, y pase los parámetros usando la misma URL. Usando el PDO, todo esto se hace bajo el nivel de interfaz de usuario. La interfaz de usuario pasa el balón al PDO que lo lleva hacia abajo y lo planta en la base de datos para un TOUCHDOWN de 7 puntos ... obtiene siete puntos, porque lo consiguió y lo hizo de forma mucho más segura que pasar información a través de la URL .

También puede fortalecer su sitio para la inyección de SQL mediante el uso de una capa de datos. Al usar esta capa intermedia que es el ÚNICO ''jugador'' que habla con la base de datos, estoy seguro de que puede ver cómo esto podría ser mucho más seguro. Interfaz con la capa de datos a la base de datos, capa de datos a la base de datos a la capa de datos a la interfaz.

Y:

Al implementar las mejores prácticas al escribir su código, estará mucho más satisfecho con el resultado.

Fuentes adicionales:

Re: Funciones de MySQL en el url php punto net / manual / en / ref punto pdo-mysql punto php

Re: arquitectura de tres niveles: agregar seguridad a sus aplicaciones https://blog.42.nl/articles/introducing-a-security-layer-in-your-application-architecture/

Re: Diseño orientado a objetos usando UML Si realmente quieres saber más sobre esto, este es el mejor libro del mercado, Grady Booch fue el padre de UML http://dl.acm.org/citation.cfm?id=291167&CFID=241218549&CFTOKEN=82813028

O consulte con bitmonkey. Hay un grupo con el que estoy seguro de que podrías aprender mucho.

>

Si supiéramos realmente qué significa la terminología, no tendremos que aprender nada.

>


¡Básicamente la respuesta de Jani Hartikainen es correcta! Volví a subir su respuesta. Lo que faltaba en mi sistema (basado en Ubuntu 15.04) era habilitar la extensión PDO en mi php.ini

extension=pdo.so extension=pdo_mysql.so

reinicie el servidor web (por ejemplo, con "sudo service apache2 restart") -> cada multa :-)

Para encontrar dónde se encuentra su archivo php.ini activo actual, puede usar phpinfo () u otras sugerencias desde aquí: https://www.ostraining.com/blog/coding/phpini-file/


Al principio instale las piezas PDO necesarias ejecutando el comando sudo apt-get install php*-mysql donde * es un nombre de versión de php como 5.6, 7.0, 7.1, 7.2 Después de la instalación debe mencionar (descomentar si ya está allí) estos dos declaraciones

extension=pdo.so extension=pdo_mysql.so

en su archivo .ini y reinicie su servidor por comando

sudo service apache2 restart


En Ubuntu deberías poder instalar las partes necesarias de PDO desde apt usando sudo apt-get install php5-mysql

No hay ninguna limitación entre usar PDO y mysql_ simultáneamente. Sin embargo, deberá crear dos conexiones a su base de datos, una con mysql_ y otra con PDO.


Esa es una buena pregunta, pero creo que no entiendes lo que lees.

Instalar PDO

El ./config --with-pdo-mysql es algo que tienes que poner solo si compilas tu propio código PHP. Si lo instala con gestores de paquetes, solo tiene que utilizar la línea de comando dada por Jany Hartikainen: sudo apt-get install php5-mysql y también sudo apt-get install pdo-mysql

Compatibilidad con mysql_

Aparte del hecho de que mysql_ está realmente desanimado, ambos son independientes. Si usa PDO, mysql_ no está implicado, y si usa mysql_ PDO no es necesario.

Si apaga PDO sin cambiar ninguna línea en su código, no tendrá ningún problema. Pero desde que comenzó a conectarse y escribir consultas con PDO, debe conservarlo y renunciar a mysql_.

Hace varios años, el equipo de MySQL publicó un script para migrar a MySQLi . No sé si se puede personalizar, pero es oficial.


Si necesita un Contenedor Docker CakePHP con MySQL, ¡he creado una imagen Docker para ese propósito! No hay necesidad de preocuparse por configurarlo. ¡Simplemente funciona!

Así es como lo instalé en una imagen basada en Ubuntu:

https://github.com/marcellodesales/php-apache-mysql-4-cakephp-docker/blob/master/Dockerfile#L8

RUN docker-php-ext-install mysql mysqli pdo pdo_mysql

Crear y ejecutar su aplicación es solo un proceso de 2 pasos (considerando que se encuentra en el directorio actual de la aplicación):

$ docker build -t myCakePhpApp . $ docker run -ti myCakePhpApp