"Si tú no trabajas por tus sueños, alguien te contratará para que trabajes por los suyos”

Steve Jobs

Afiliado
Dominios3Euros

Php

  • Cambiar de version de php en apache local

    Cambiar la versión de PHP en Apache (mod_php y PHP-FPM)

    Dependiendo de la versión de Debian y de PHP instalada, Apache puede usar PHP de dos formas:

    • mod_php: PHP integrado directamente en Apache (clásico).
    • PHP-FPM: PHP como servicio independiente, comunicado por FastCGI (recomendado).

    Algunas versiones modernas de PHP (como PHP 8.3 desde repositorios externos o experimentales) no incluyen mod_php, por lo que es obligatorio usar PHP-FPM. Sin embargo, versiones como PHP 7.x, 8.0, 8.1 o 8.2 sí pueden tener mod_php si el paquete existe en el repositorio.


    Método 1: Cambiar la versión de PHP usando mod_php (cuando existe)

    Este es el método tradicional y funciona sólo si tienes instalados paquetes como:

    libapache2-mod-php7.4
    libapache2-mod-php8.1
    libapache2-mod-php8.2
    

    Si quieres instalar varios modulo de php, puede hacerlo por ejemplo:

    apt install php8.4-{intl,mysql,xml,zip,mbstring,curl,mcrypt}

    Estos son los modulos que necesito en nuestro proyecto TPVFOX

    Para cambiar la versión:

    1. Desactivar la versión antigua

    sudo a2dismod php7.4
    

    2. Activar la versión nueva

    sudo a2enmod php8.1
    

    3. Reiniciar Apache

    sudo systemctl restart apache2
    

    Con esto Apache pasa a usar la nueva versión de PHP vía mod_php.

    Nota importante: mod_php no existe para algunas versiones modernas como PHP 8.3 (según repositorio utilizado). Si no existe la carpeta /etc/php/8.3/apache2/, es que NO tienes mod_php y debes usar PHP-FPM.

    Método 2: Cambiar la versión de PHP usando PHP-FPM (válido para todas las versiones)

    PHP-FPM es el sistema recomendado y funciona con cualquier versión de PHP, incluso cuando no existe mod_php.

    1. Instalar la versión deseada de PHP-FPM

    sudo apt install php8.3 php8.3-fpm
    

    2. Activar en Apache los módulos necesarios

    sudo a2enmod proxy_fcgi setenvif
    

    3. Asignar la versión de PHP-FPM al VirtualHost

    En tu archivo del sitio web (por ejemplo /etc/apache2/sites-available/misitio.conf), añade:

    <FilesMatch "\.php$">
        SetHandler "proxy:unix:/run/php/php8.3-fpm.sock|fcgi://localhost/"
    </FilesMatch>
    

    Cambia php8.3-fpm.sock por la versión que quieras usar (php7.4-fpm.sock, php8.1-fpm.sock, etc.).

    4. Reiniciar servicios

    sudo systemctl restart php8.3-fpm
    sudo systemctl restart apache2
    

    Cómo comprobar la versión de PHP en Apache

    Si usas mod_php

    ls /etc/apache2/mods-enabled/php*
    

    Si usas PHP-FPM

    systemctl status php8.3-fpm
    

    O bien crea un phpinfo().


    Ventaja: Puedes tener varias versiones a la vez

    Con PHP-FPM puedes instalar varias versiones (7.4, 8.1, 8.2, 8.3…) y asignar cada una a un VirtualHost distinto simplemente cambiando el socket:

    /run/php/php7.4-fpm.sock
    /run/php/php8.1-fpm.sock
    /run/php/php8.3-fpm.sock
    

    Este método es ideal para servidores con múltiples proyectos.

  • Enviar correo de PHP con la librería PHPMailer

    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
  • Herramientas para : Copias, migraciones, diferencias estructuras, llenar ...

    Herramienta para trabajar con Bases de datos (MySQL o MariaDB)

    Alguna de la siguiente herramientas que utilizamos cuando trabajamos con bases de datos de mysql o MariaDB.

    Herramientas con las 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)