2019-08-09

Primer y ultimo dia del mes en curso con PHP o MySQL

Ejemplo simple de como calcular le primer y ultimo dia del mes con PHP o MySQL

PHP:
$f_date = 'Y-m-d';
$my_date = new DateTime();
$my_date->modify('first day of '.date('F Y'));
echo $my_date->format($f_date);
echo "<br>";
$my_date->modify('last day of '.date('F Y'));
echo $my_date->format($f_date);

MySQL:
select 
DATE_FORMAT(now(),'%Y-%m-01') AS 'primer_dia_del_mes',
LAST_DAY(DATE_FORMAT(now(),'%Y-%m-01')) AS 'ultimo_dia_del_mes'

2019-08-07

Problema después de hacer un APT UPDATE con la extension MSSQL 17 y PHP 7 en linux debian 9

Hola gente después de hacer un mantenimiento en mi server me encontré con un problema después de hacer APT Update.

En la lista de actualizaciones, tenia que actualizaba la versión de mi extensiones PHP para MSSQL de la msodbcsql17:amd64 (17.3.1.1-1, 17.4.1.1-1) y mssql-tools:amd64 (17.3.0.1-1, 17.4.1.1-1)

Pero como esto me trajo problema de conexión entre PHP y MSSQL dejo la solución para volver atrás esos cambio y que funcione de nuevo eso.

  1. Mira en ./../apt/history.log y recuperar las versión (vieja y nueva) en mi caso msodbcsql17:amd64 (17.3.1.1-1, 17.4.1.1-1) y mssql-tools:amd64 (17.3.0.1-1, 17.4.1.1-1)  
  2. apt install msodbcsql17=17.3.1.1-1 
  3. apt install mssql-tools=17.3.0.1-1
    Listo eso es todo para volver a una versión puntual con APT-GET

    Esto también es valido para volver atrás cualquier actualizacion por APT-GET a una versión puntal; el lugar útil para encontrar los datos correcto de los cambios lo podes ver en 

    /var/log/apt/history.log y /var/log/apt/term.log

    2019-05-27

    Redireccionar con IPTABLE puerto 80 a 8080 si el servicio web no corre como ROOT por la limitación de los puerto menores a 1024



    1. Primero como ROOT a nuestro Debian
    2. ip address (Miramos cual es la interfaz de red que escucha las llamadas con el exterior en mi caso es la enp0s3)
    3. iptables -A INPUT -i enp0s3 -p tcp --dport 80 -j ACCEPT
    4. iptables -A INPUT -i enp0s3 -p tcp --dport 8080 -j ACCEPT
    5. iptables -A PREROUTING -t nat -i enp0s3 -p tcp --dport 80 -j REDIRECT --to-port 8080

    Listo miramos que desde otra maquina funciones bien la nueva regla.
    El paso a seguir es que IPTABLES guarde los cambios de manera permanente en el sistema y sean cargados siempre que inicia el sistema por medio de un demonio en el arranque.

    1. Como ROOT en Debian
    2. apt install iptables-persistent (Para facilitar las cosas vamos a instalar iptables-persistent cuando pregunta si quiere que guarde las reglas actuales, indiquen que <SI> y listo)
    3. nano /etc/iptables/rules.v4 (Para ver que las reglas están guardadas)
    4. reboot (Para ver si esta todo ok y recuperar las reglas al iniciar el sistema solo)

    Eliminar UFW y limpiar todas las reglas viejas creadas por UFW dentro del IPTABLETS


    1. Primero entramos como ROOT
    2. service ufw stop
    3. update-rc.d -f ufw disable
    4. apt remove ufw
    5. service --status-all (si esta ufw en la lista corremos el siguiente comando PUNTO 4).
    6. rm /etc/init.d/ufw
    Listo con esto eliminamos UFW del sistema por completo.

    Los siguientes pasos son para limpiar IPTABLES por completo y no dejar ninguna regla o archivo vinculado a UFW

    1. Entro como ROOT
    2. iptables -t nat -F
    3. iptables -t mangle -F
    4. iptables -F
    5. iptables -X
    Listo quedo limpio IPTABLETS, para ver que no hay reglas solo ponemos

    1. Como ROOT
    2. iptables -L