Entradas

Mostrando entradas de diciembre, 2009

Rotar Logs de Apache 2 en Windows

Imagen
Este post es una modificación de este post donde se muestra un archivo bat para rotar los logs de apache. Es más o menos la misma utilidad que existe en linux o unix conocida como logsrotate. En este se han agregado las siguientes cuestiones:compatibilidad con apache 2envío de un email al finalizar el procesodisponible para todos los archivos logs de apache no solo access.log y error.log Primero antes de ejecutar el bat es necesario descargar el programa 7-zip desde aquí, instalarlo y copiar el archivo 7z.exe del directorio donde lo has instalado al directorio system32 de Windows con el nombre 7za.exe.Luego de este paso creamos el archivo svrlogmng.bat con el contenido del script y creamos la tarea diaria para ejecutarlo con Scheduled Tasks de Windows.El código quedaría de la siguiente forma:@echo off & setlocal
:: Name - svrlogmng.bat
:: Description - Server Log File Manager
::
:: History
:: Date         Author             Change
:: 22-May-2005  AGButler         …

Nuevo diseño Script Inside

Imagen
Hola a todos gracias a Blogger Templates he cambiado el diseño del blog, me he creado una cuenta en twiter y he cambiado los feeds rss a feedburner. En mi página principal de cartelera y estrenos de cine también he empezado a crear feeds, por ahora solo está disponible el de películas onlines, pero pronto y con el nuevo diseño que también viene en camino gracias a pinKode vendrán los nuevos feeds de trailers y estrenos semanales y por países.El avance del diseño de ecine os lo dejo aquí con el nuevo logo. Espero que os guste.

Bases de datos grandes en 1and1

Imagen
Para trabajar con bases de datos grandes (de más de 100 MB) en 1and1 no te queda otra opción que obtener un plan de alojamiento que sean los servidores virtuales o los dedicados, pero en los planes normales (inicial, confort, business o business plus) es imposible aumentar el tamaño de estas bases de datos, lo que aumenta es el número de estas pero no el tamaño individual de cada una.En los planes inicial, confort y business al no tener acceso ssh no aconsejo migrar las bases de datos ya creadas y que superen los 20 MB porque tendrían que fraccionar los archivos porque la única forma de importar los datos al nuevo alojamiento es a través de phpMyAdmin y este no soporta subir archivos grandes porque es através de interfaz web, así como la creación de backups al migrar la base de datos MySQL con phpMyAdmin es engorroso para bases de datos grandes (menores de 100 MB). El el plan business plus si tenemos acceso shell y podemos importar y exportar los datos de nuestra base de datos utiliz…

Obtener contenido http en 1and1

Imagen
Para los planes de alojamiento de 1and1 (no servidores virtuales ni dedicados) la directiva allow_url_fopen está deshabilitada, según su propia ayuda puedes hacer un php.ini y habilitarla pero realmente no he sido capaz de hacerlo porque no me lo ha detectado, tampoco se puede hacer dínámicamente con ini_set porque en 1and1 no esta configurado php como modulo de apache.Si la directiva allow_url_fopen no está habilitada al utilizar la función file_get_contents para obtener el contenido de una página web daría los siguientes erróres:PHP Warning: fopen(http://www.example.com): failed to open stream: HTTP request failed!
fsockopen(): unable to connect to
file_get_contents(): failed to open stream: HTTP request failed!
PHP Warning: main(): Failed opening ‘http://www.example.com/index.html’ for inclusion …
PHP Warning: include(/usr/local/index.php): failed to open stream: No such file or directory in … Para solucionar esto me he creado una función utilizando las funciones de …

Trucos para alojamientos 1and1 (htaccess)

Imagen
Esto es un breve manual para trabajar con 1and1 y no morir en el intento. He pasado por casi todos sus servicios de hospedaje hasta que finalmente lo que tengo es un servidor virtual, en todos he estado muy a gusto pero siempre hay sus pegas y que no encuentras muy fácilmente en su ayuda o soporte técnico.Archivo htaccess para redirecciones de url amigables Una de las comeduras de cabeza que me dio este alojamiento fue que al trasladar mi plan desde otro operador fueron las redirecciones url pues mi archivo htaccess funcionaba perfectamente pero en el hosting de 1and1 no redirigía, la solución agregar la línea RewriteBase de la siguiente forma al comienzo del archivo .htaccessOptions +FollowSymLinks
RewriteEngine on
RewriteBase /De esta forma ya redirige correctamente todas las url, es muy muy importante esta tercera línea para cualquiera de sus planes.

Comparar cadenas con cero en PHP

Imagen
Hoy me ha ocurrido una cosa muy curiosa y a mi entender es un bug de PHP, la explicación no la sé pero tendrá algo que ver con la forma de interpretar PHP las cadenas. Pongamos un ejemplo:$cadena = “1234”;
$numero = 0;
echo ($cadena == $numero)?”Son iguales”:”Son distintos”;El resultado sería son distintos porque php interpreta a $cadena como un número y por supuesto este numero es distinto de cero. Sin embargo si:$cadena = “hola”; El resultado que debería ser el mismo que en la opción anterior porque videntemente son distintos es son iguales. Asombrosamente php interpreta esta cadena como falso y por tanto falso == falso es verdadero.La solución es no utilizar el operador == si se puede dar este caso sino el operador === que si funciona porque es estrictamente igual.

MS-Excel Stream Handler’s Bugs

Imagen
Otra de las herramientas para crear excel he escuchado (pongo esto porque nunca he podido generar un excel válido con ella) es la clase MS-Excel Stream Handler, pero a aparte de que cuando la logras hacer funcionar no genera un excel válido o por lo menos que lo pueda interpretar el Office 2007 o 2010 contiene algunos bugs que le impiden su funcionamiento.El primer bugs es producto de que es una clase pensada para Linux y al introducir cualquier ruta de archivo le pone delante el caracter “/” como si fuera el directorio root. Esto hay que eliminarlo de la función stream_open en la línea:$this->xlsfilename = '/' . $url['host'] . $url['path'];Esta debería quedar de la siguiente forma para evitar errores del tipo Failed to open stream: "xlsStream::stream_open" cuando ponemos una ruta en windows del tipo absoluta (C:\Documents and Settings\-\My) o relativa:$this->xlsfilename = $url['host'] . $url['path'];El otro bugs no es un error …

General Excel Real con PHP

Imagen
Existen varias herramientas para generar Excel desde PHP que van desde un simple HTML en forma de tabla hasta la complejidad de crear un stream que exporte estos resultados a una especie de Excel utilizando la documentación del propio Microsoft.



Entre estas herramientas me he encontrado con la librería de clases PHPExcel, excelente para la gestión de Excels pues permite leer desde CSV, HTML, Excel5 y Excel 2007 además de crear archivos en todos estos formatos más PDF.
Es una librería muy completa y solo requiere tener habilitadas las librerías de php_zip y php_xsl, además de una versión de PHP superior o igual a la 5.2.
Hay multitud de ejemplos y documentación en la página oficial pero aquí os dejo un script para generar un Excel a partir de un array asociativo que podemos sacar perfectamente de una base de datos (solo es válido para datos que no excedan las 25 columnas):
function GeneraExcelFromDB($data,$url){ $objPHPExcel = new PHPExcel(); $letra_inicial_ascii = 65; // corresponde…

Manifiesto “En defensa de los derechos fundamentales en Internet”

Ante la inclusión en el Anteproyecto de Ley de Economía sostenible de modificaciones legislativas que afectan al libre ejercicio de las libertades de expresión, información y el derecho de acceso a la cultura a través de Internet, los periodistas, bloggers, usuarios, profesionales y creadores de internet manifestamos nuestra firme oposición al proyecto, y declaramos que…1.- Los derechos de autor no pueden situarse por encima de los derechos fundamentales de los ciudadanos, como el derecho a la privacidad, a la seguridad, a la presunción de inocencia, a la tutela judicial efectiva y a la libertad de expresión.2.- La suspensión de derechos fundamentales es y debe seguir siendo competencia exclusiva del poder judicial. Ni un cierre sin sentencia. Este anteproyecto, en contra de lo establecido en el artículo 20.5 de la Constitución, pone en manos de un órgano no judicial -un organismo dependiente del ministerio de Cultura-, la potestad de impedir a los ciudadanos españoles el acceso a cua…