Instalar PHP desde fuentes en GNU/Linux habilitando PDO para conexión a base de datos

En mi otro blog había hecho el post:

Instalar PHP desde fuentes en GNU/Linux

Este post no difiere mucho del que hice en el otro blog, sólo que se muestra como compilar PHP para poder usar las funciones de conexión y manejo de base de datos de la extensión PDO, la cual es la que ya a partir de hace algunos años, es la manera en que se debe conectar y manera la base de datos.

Antes que nada deberemos tener instalado ya Apache, aquí dejo este artículo actualizado para su instalación.

También deberemos descargar PHP.

php-7.2.1.tar.bz2

Ya instalado el servidor web y descargado los fuentes de PHP, vamos a realizar los siguientes pasos:

Para este post, tomaré de ejemplo MySQL

Para comenzar nos convertiremos en usuario root.

javoaxian@vboxlinuxmintjx $ sudo su -

Siguiente:

root@vboxlinuxmintjx $ cp /ruta/donde se descargo/php-7.2.1.tar.bz2 /usr/local/src/
root@vboxlinuxmintjx $ cd /usr/local/src/
root@vboxlinuxmintjx $ tar -jxvf php-7.2.1.tar.bz2
root@vboxlinuxmintjx $ cd php-7.2.1/
root@vboxlinuxmintjx $ ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-pdo-mysql

Si nos manda el siguiente error:

checking whether to enable LIBXML support... yes
checking libxml2 install dir... no
checking for xml2-config path...
configure: error: xml2-config not found. Please check your libxml2 installation.

Instalamos el siguiente paquete pare resolver el error:

root@vboxlinuxmintjx $ apt-get install libxml2-dev

Instalado el paquete anterior, continuamos con la instalación.

root@vboxlinuxmintjx $ make
root@vboxlinuxmintjx $ make install

Una vez terminada la compilación e instalación, deberemos copiar el archivo php.ini al directorio de instalación. Se nos proporcionan 2 archivo el php.ini-development y php.ini-production, yo utilizaré el primero para este ejemplo ya que lo utilizo más para desarrollo y prefiero su configuración para este fin.

root@vboxlinuxmintjx $ cp php.ini-development /usr/local/php/lib/php.ini

Ahora deberemos editar el archivo httpd.conf de apache, el cual en este ejemplo se encuentra en el directorio /usr/local/apache/conf/. En dicho archivo deberemos buscar las siguientes líneas:

 #
# AddType allows you to add to or override the MIME configuration
# file specified in TypesConfig for specific file types.
#
#AddType application/x-gzip .tgz

Y arriba de éstas agregaremos las líneas respectivas de PHP para que nos quede esa sección de esta forma:

 #PHP
AddType application/x-httpd-php .php .html .phtml .php3 .php4 .php5. .php7 .htm
AddType application/x-httpd-php-source .phps
#
# AddType allows you to add to or override the MIME configuration
# file specified in TypesConfig for specific file types.
#
#AddType application/x-gzip .tgz

Aquí le estamos indicando a Apache que los archivos con extensiones .php .html .phtml .php3 .php4 .php5 .php7 .htm pueden interpretar el código de PHP.

También buscaremos las siguientes líneas:

<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>

Y agregaremos el archivo index.php para que sea interpretado como archivo principal.

<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>

Si tienen el proceso de apache funcionando, deberán darlo de baja:

root@vboxlinuxmintjx $ /usr/local/apache/bin/apachectl stop

Y ahora deberán levantarlo:

root@vboxlinuxmintjx $ /usr/local/apache/bin/apachectl start

Ahora apache ya puede interpretar nuestras páginas con código de PHP.

Si queremos probar que esté funcionando Apache con PHP, podemos poner un archivo llamado phpinfo.php dentro del directorio /usr/local/apache/htdocs/ (solo el usuario root puede escribir en este directorio para fines de este ejemplo) y agregarle la siguiente línea:

<?php phpinfo(); ?>

Ahora en nuestra navegador ingresamos a la siguiente dirección: http://localhost/phpinfo.php

Recuerda que si tu Apache está corriendo en otro puerto, como por ejemplo el 8080, deberás ingresar de la siguiente manera desde el navegador: http://localhost:8080/phpinfo.php

Donde nos aparecerá algo como ésto:

jx_post_1044_01

Dentro de esa misma pantalla, podemos buscar que ya está habilitado PDO para MySQL.

jx_post_1044_02

En mi caso me gusta agregar la ruta de las herramientas en el PATH de todos los usuarios, para ello hay que editar el archivo como usuario root:

/etc/profile

y agregamos las siguientes líneas:

export PHP=/usr/local/php
export PATH=$PATH:$PHP/bin

Con esto concluimos la configuración.

SQLite Manger: Herramienta gráfica para administrar bases de datos SQLite

SQLite Manager es un Addon de Firefox que permite administrar gráficamente bases de datos SQLite.

Con esta herramienta, podemos crear bases de datos, crear tablas, insertar, actualizar y eliminar datos, importar información de archivos, entre otras muchas cosas más.

La verdad es que ya llevo tiempo usando esta herramienta y me ha sido muy práctica para las bases de datos que he usado en el desarrollo algunas apps.

Para instalarlo, deberemos ingresar con Firefox en la siguiente dirección:

https://addons.mozilla.org/es/firefox/addon/sqlite-manager/

Presionar sobre el botón Add to Firefox o Descargar ahora, dependiendo el idioma con que tengan configurado el idioma de su equipo.

 

jx_post_668_01

 

Se deberá seguir los pasos que se van indicando y una vez que quede instalado podrán acceder a este complemento de Firefox, abriendo el propio Firefox e ir a las opciones de su menú:

Herramientas -> SQLite Manager

o

Tools -> SQLite Manager

 

jx_post_668_02

 

Aquí dejo unas capturas de pantalla de la propia página del complemento SQLite Manager.

 

 

 

 

 

Cargar o importar datos de una tabla en sqlite desde un archivo de texto

Así como en otros manejadores de base de datos, en SQLite a veces nos resulta indispensable importar datos de un archivo de texto (como por ejemplo archivos “.csv”) en los cuales se contiene datos para cargar a una tabla.

Un ejemplo muy común es que tengamos un catálogo de países el cuál podríamos cargar de la siguiente manera.

Supongamos que tenemos un archivo llamados paises.csv el cual cuenta con dos campos, un identificador del país y el nombre del país separados por un “|”:

1|México

2|España

3|Alemania

Lo que haremos será abrir conectarnos al archivo de base de datos:

$ sqlite3 base.sqlite

Ahora dentro de la base indicaremos cuál es el separador de campo:

sqlite> .separator ‘|’

y ahora cargaremos el archivo con los países (Este ejemplo supone que el archivo de la base de datos y el que tiene el catálogo de países se encuentran en el mismo directorio, además que se cuenta con una tabla pais con un campo id y otro campo nombre de tipos integer y varchar respectivamente):

sqlite> .import ‘separador’ archivo.csv (o cualquier extensión) tabla

sqlite> .import ‘|’ pais.csv pais

Si no manda ningún mensaje, quiere decir que se cargo la tabla.