Blog

Problemas con la fecha en php

Si os aparece el error «PHP Warning:  date(): It is not safe to rely on the system’s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected ‘Europe/Berlin’ for ‘CEST/2.0/DST’ instead in» que me he encontrado en el php 5.3 se soluciona modificando en el php.ini tenemos que poner nuestra fecha por defecto:


[Date]
; Defines the default timezone used by the date functions
; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone
date.timezone = "Europe/Berlin";

 

Problemas de conexión a los alojamientos con Windows 7 (II)

En otro de nuestros post, David indico como solucionar un pequeño problema de conexión a los alojamientos a través de Windows 7. El problema es que esa solución solo es válida para aquellos sistemas con Windows 7 Professional (ya sea Home Professional o superior) no existiendo en Windows 7 Home o Basic las Directivas de Seguridad Local o al menos directamente ya que Windows, sea la versión que sea, dispone de dichas políticas.

Pero, aun no teniendo la aplicación capaz de inyectar en el registro los valores adecuados, podemos hacerlo directamente nosotros (el cambio comentado por David).

Simplemente, abrimos nuestro viejo amigo regedit.msc y nos movemos a HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Control >Lsa y añadimos el siguiente registro:

Nombre: LmCompatibilityLevel
Tipo: REG_DWORD (32 bits)
Valor: 0x00000002

Reiniciamos el equipo para cargar la nueva versión del registro y funcionando. Damos las gracias a los chicos de sistemas por ayudarnos con la incidencia que nos ha dado esta solución.

Evitar Thumbs.db bajo Windows Vista y Windows 7

Desactivar la creación de los ficheros Thumbs.db bajo Windows Vista o Windows 7 es muy similar a hacerlo bajo Windows XP, salvo que tenemos que mirar en otros sitios.

1. Lo primero es acceder a las directivas del equipo, pulsando el botón de windows y escribiendo «gpedit.msc».
2. Configuración de usuario > Plantillas Administrativas > Componentes de Windows > Explorador de Windows
3. Hacemos doble click en «Desactivar la presentación de miniaturas y mostrar solo iconos en las carpetas de red».
4. Seleccionamos «Habilitar».

De esta forma no se crearan los ficheros Thumbs.db en las unidades de red, que aunque no ocupan mucho, pueden llegar a ser molestos.

El proceso es similar bajo Windows Vista.

Evitar Thumbs.db bajo Windows XP

Al hilo del post anterior, si queremos evitar (bajo Windows XP) que cree el fichero Thumbs.db tendremos que realizar los siguientes pasos:

1. Abrir el explorador de archivos (botón derecho del ratón sobre el botón de inicio y pulsar sobre explorar)
2. En los menus: herramientas > opciones de carpeta
3. Activamos «No alojar en caché las vistas en miniatura».

No .DS_Store en unidades de red bajo OSX

Si desde OSX montais las unidades compartidas de vuestros alojamientos y se os crean los molestos ficheros .DS_Store no tenéis más que abrir un terminal y escribir la siguiente linea:

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

De esta forma modificareis el fichero de configuración del Finder añadiendo esa linea en el XML correspondiente.

Recordad que el .DS_Store es similar al fichero Thumbs.db bajo Windows.

Nuevos themes y plugins

Hoy hemos incorporado un theme nuevo y un plugin nuevo a los alojamientos con WordPress. El theme (que veis en la imagen) aunque esta modificado para ser parte del Instituto CINQUIMA es de libre uso. Se trata de una modificación del theme Yoko traducido al castellano y optimizado.

Respecto al plugin, hemos incorporado el Viper’s Video Quicktags a WordPress para aquellos que quieran incorporar enlaces a videos externos tales como de Youtube, Vimeo, etc.. de forma sencilla.

Este plugin dispone de una configuración dentro del menú Ajustes > Video Quicktags que permite elegir los orígenes y los tamaños de los vídeos a mostrar.

PHP, MySQL y longitud de los password

Warning: mysql_connect() [function.mysql-connect]: Premature end of data (mysqlnd_wireprotocol.c:554) in /XXXXXX on line 12
Warning: mysql_connect() [function.mysql-connect]: OK packet 1 bytes shorter than expected in /XXXXXX on line 12
Warning: mysql_connect() [function.mysql-connect]: mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication. Please use an administration tool to reset your password with the command SET PASSWORD = PASSWORD('your_existing_password'). This will store a new, and more secure, hash value in mysql.user. If this user is used in other scripts executed by PHP 5.2 or earlier you might need to remove the old-passwords flag from your my.cnf file in /XXXXXX on line 12

Para aquellos que tengan instalado PHP 5.3 o superior y se intenten conectar a una base de datos mysql, sea de la forma que sea (PDO, mysql o mysqli) y le aparezca ese curioso mensajito que tenéis arriba sabréis (tras un par de consultas a nuestro viejo amigo google) que mysql desde la 4.1 o superior (como indica el mensaje) ha variado la longitud de las contraseñas de 16 a 41 (el hash).

El problema es que las librerías incluidas en PHP aun siguen erre que erre intentando conectarse a la vieja usanza y os lanzara el error que tenéis arriba (con vuestras lineas de código, claro). Que os quedara ojiplaticos y con cara de tontos.

Tranquilos, existen varias soluciones al respecto. La primera es la que indica, entrar en la base de datos (con un gestor que os de la gana o a pedal) con el usuario que tiene ese problema y colocar esa linea para transformar nuestro password de 16 a 41 «caracteres». Si entráis como root tendréis que seguir estos pasos:

UPDATE mysql.user SET Password = OLD_PASSWORD('password') WHERE Host = 'host' AND User = 'usuario';
FLUSH PRIVILEGES

Recordad que el FLUSH PRIVILEGES es importante porque sino, no vale para nada.

Otra solución, si entráis como root en la base de datos es poner:

SET old_passwords=1

O tocar el my.ini buscar la zona de [MYSQLD] y añadir:

old_passwords=1

O arrancar mysqld con la opción –old-passwords

O, por ultimo, actualizar el driver del php recompilandolo de nuevo. Lo más costoso pero que a la larga os librará de problemas.

Como veis, para un mismo problema hay cientos de soluciones, y cada cual debemos de coger el que más nos guste.

Aun con eso, si queréis más información y charlar un rato os recomendamos ver el foro de mysql y PHP oficial.

Opencms 8 ya está aquí!!

Ya ha llegado el momento de empezar a probar el opencms 8. Por fin tendremos el xsd:choice que tanto se echaba en falta y que nos obligaba a hacer alguna chapucilla.

En http://www.opencms.org os lo podéis descargar.

Trae nuevas cosas como el motor de suscripción, que veremos que tal funciona, el cms:mobile, y una carpeta compartida.

En cuanto lo hayamos metido mano os informaremos de las novedades.