Tips: Ajustar las horas (PHP, MySQL, Servidor)

time

Este es un punto que la mayoría pasa por alto, en el mejor de los casos se configura la sección de timezones en PHP y ahí termina el asunto.

Para que no existan discrepancias en los registros es necesario sincronizar los tres aspectos,  ya que cada uno maneja su propio registro de tiempo.

  • PHP
  • MySQL
  • El Servidor.

El Servidor

En primer lugar para saber la fecha y la zona horaria en la que se encuentra el servidor ejecutamos lo siguiente en la consola:

date

Dependiendo del SO la manera de cambiar la fecha y zona horaria varia (no mucho) pero una herramienta útil es usar NTP (Network Time Protocol) para definir este aspecto, la mayoría por no decir todos los SO y sus respectivas distribuciones tienen paquetes para su instalación y uso.

PHP

Para ver la fecha actual se maneja la función date, por ejemplo:

<?php
    echo date('D M j G:i:s T Y');
?>

*Pero ojo que la función date devolvería la fecha del cliente y no del servidor.

Para definir la zona horaria se modifica el archivo php.ini en la directriz timezones:

...
date.timezone = America/New_York
...

MySQL

En primer lugar verificar la zona horaria y fecha en la que se encuentra MySQL, mediante una consulta:

SELECT NOW();

Y finalmente definir la fecha:

SET GLOBAL time_zone = America/New_York;

Mas info: MySQL Server Time Zone Support

CherryMusic: music streaming server

cherrymusic_logo

Hace tiempo realice un post sobre streeme, una manera de compartir la colección de música local.

Como cambie de equipo hace un tiempo, y si bien la instalación de streeme no es difícil, pero si un poco larga, busque otra alternativa que sea un poco mas sencilla y rápida de instalar, después de probar algunas aplicaciones similares vi que todas tenían algunos detalles que no eran convincentes.

  • Subsonic, no cargaba el frame izquierdo, donde se encuentra la colección.
  • Ampache, la versión alpha no contenía el reproductor y en la última versión estable la página de instalación se encontraba en blanco.
  • jinzora, alertas por todo lado, imposible de visualizar la aplicación y la colección de música.

A punto de instalar y configurar streeme de nuevo intente con CherryMusic y la verdad es genial, escrito en python, aquí algunas características.

  • Instalación fácil y rápida.
  • Indexa la colección casi de inmediato (50GB en menos de 3 minutos).
  • Configuración sencilla.
  • Interfaz limpia, para nada complicada (creo que usaron twitter bootstrap).
  • Posibilidad de manejar varios «playlists».
  • Multiusuario,

La instalación (mínima):

yaourt -S cherrymusic

Y la configuración:

cherrymusic --setup --port 8080

cherrymusic1

 

cherrymusic2

Más info | CherryMusic (official) y CherryMusic (Arch)

Ruby on Rails: PG::UndefinedTable: ERROR: relation «roles» does not exist

Ruby_on_Rails_logo

Usando Rails 4.1.1, siguiendo los pasos de configuración de rolify, se indica que es necesario ejecutar lo siguiente para generar los roles:

rails g rolify Role User

Todo bien hasta el momento de ejecutar la migración:

rake db:migrate

El mensaje de error es el siguiente:

PG::UndefinedTable: ERROR: relation «roles» does not exist

En mi caso, el generador creó el archivo:

20140520150218_rolify_create_roles

Claramente le faltaba la extensión .rb, agregando la extensión:

20140520150218_rolify_create_roles.rb

Y la migración sin problemas.