Php

  • La intención de este post es anotar como cambiamos de versión en nuestros servidores locales.

    Nuestro técnico de sistema nos preparo el servidor local para poder utilizar cualquiera de estas versiones php:

    • php 5.6
    • php 7.0
    • php 7.1
    • php 7.2

    Esto es util cuando tienes varios servidores y no son iguales las versiones php que utilizan.

    Lo primero saber que version tiene ahora activa, una forma es viendo phpinfo().

    Para activar una version, lo hacemos con:

    a2enmod php5.6

    Lógicamente , tenemos que desactivar las anterior, si por ejemplo antes teniamos php7.0 y activamos php5.6 al listar los modulos apache activos vemos:

    ▶ ls /etc/apache2/mods-enabled/php*
    /etc/apache2/mods-enabled/php5.6.conf /etc/apache2/mods-enabled/php7.0.conf
    /etc/apache2/mods-enabled/php5.6.load /etc/apache2/mods-enabled/php7.0.load

    Aunque restauremos el apache  con

    systemctl restart apache2

    No funcionará el php, por eso debemos desactivar uno de los php...

    a2dismod php7.0

    Ahora si restauramos debería estar funcionando el php5.6

     

  • PHPMailer es una biblioteca de php para enviar correos electrónicos de forma segura y fácil a través de un código PHP desde un servidor web..

    Estas son algunas de las funciones que trae son:

    • Envíos a varios remitentes, con CC, CCO, etc.
    • Soporta 8bits, base64 y binarios
    • Autenticación por SMTP en puertos 25 sin encriptar, 587 TLS, 465 SSL
    • Envíos con HTML
    • Envíos de emails con adjuntos
    • Inclusión de imágenes en el correo, etc
  • Herramienta para trabajar con Bases de datos (MySQL o MariaDB)

    Alguna de la siguiente herramientas os pueden hacer falta si trabajas con bases de datos.

    Herramientas que podrás copiar, hacer migraciones de versiones, ver diferencias estructuras y incluso llenar con script automatizados.

    Mysql - Recuperar respaldos de base de datos de mysql o maria-db

    El programa que utiliza para hacer copias de seguridad es mysqldump es un programa que forma parte de los "MySQL Client Programs" de MySQL, que puede ser utilizado para generar respaldos de bases de datos y ser usados o incluso para ser transferidos a otro servidor de base datos SQL .

    Para poder importar la base datos comprimida (xz) lo hacemos desde terminal con la siguiente instrucción.

    mysql -u usuario -p base_datos < <(xz -cd < copia_de_base_datos_comprimida.dump.xz)

     

    Fuente: LinuxTotalLinuxTotal

    Mysqldump : Copia de seguridad.

    Nuestro responsable de sistema utilizar script que por cada base datos crea un archivo de backup utilizando mysqldump y luego lo comprime con xz.,

    Para hacer una copia de seguridad de solo la estructura según en este link , utiliza la misma herramienta de pero de la siguiente forma:

    $ mysqldump -uUsuario -p -h servidorMySQL --databases basea1 -d > basea1.sql
    $ mysqldump -uUsuario -p -h servidorMySQL --databases basea2 -d > basea2.sql

    Realizará una copia de estructura de la base datos.

    Si los nombres de la bases de datos son distintas, y las  va comparar, es recomendable que comentes el create y use ya produce un error en esas lineas. Como dice la fuente no entiendo muy bien porque.

    sqlt-diff: Diferencias estructura

    Si queremos obtener las diferencias que hay entre las estructuras de dos bases de datos, podemos hacerlo asi.

    $sqlt-diff basea1.sql=MySQL basea2.sql=MySQL > diff.sql

    Obtenemos un sql para poner la estructura de la primera base de datos igual de la segunda.

    Suele dar problemas los comentarios, me imagino que hay forma de ignorarlos en las opciones de "sqlt".

    Otro problema que me encontre son los autoincrement que seguramente no queramos ponerlos igual, asi que tenerlo en cuenta.

    Phinx : Migraciones y seed

    Este no es un programa, necesita una instalacion un poco mas compleja, ya requiere de composer, en fin, en su web puedes ver como instalarlo y mucha documentacion.

    Nosotros la utilizamos como librería mas para nuestros proyectos en php, según su web es la forma mas nativa de php de hacer migraciones de una base de datos.

    La cuestion es que puedes hacer cambios en la base de datos de una forma ordenada y controlada, como si fuera un controlador de versiones de la base de datos. Lo que hizo que empezarámos a utilizarlo es el metodo down, con el que podemos estado de la estructura de datos en versiones anteriores.

    La instalación  de  Phinx

    Como ya dije , necesitas tener composer en el servidor  o equipo local donde tenga SQL . La instalación de composer ya explicaré como, ya que ahora no lo recuerdo.. :-) lo unico que recuerdo es que requirió tener instalado php 7.2

    Para instalar phix:

    #composer require robmorgan/phinx
    php composer.phar require robmorgan phinx
    

    En el siguiente link podrás ver información muy buena y en español para comprenderlo y utilizarlo.

    Nosotros de momento solo voy explicar como aplicamos la migraciones.

    php vendor/bin/phinx migrate -e development

    Nosotros en la configuracion utilizamos nombres de los distinto proyectos o ramas, en vez development, esto se puede cambiar en el fichero phinx.yml.