Archivos mensuales: febrero 2009

Tarjeta referencia Php y Mod rewrite

Algo bastante útil es una tarjeta de referencia, por ejemplo, programando es común encontrarse funciones no conocidas, sobre todo si eres bastante novato, cada función tiene un descripción muy corta, pero muy útil.

Tal como pidió su creador, no linkear la descarga sino directamente a su página.
Php
Mod rewrite

Por el momento, las descargas son gratuitas. Pero pide una donación.

Anuncios

Php list Problemas varios

Phplist es un programa gratuito para hacer mailing. Muy usado y bastante completo.

La mayoría de la configuración de este programa se hace a través de un archivo config.php que se encuentra dentro de la carpeta config del programa.

Para configurarlo se puede seguir este enlace en español.

También hay un foro en español.

Problemas comunes:

Cuando se intenta iniciar por primer vez, se obtiene un error de “Internal server error”.
Solución:

En el archivo /lists/.htaccess, busque php_flag magic_quotes_gpc on y elimine o commente (con un #) esta línea.

No llega html:  En el menú de la derecha del programa, está la opción gestionar usuarios, y dentro la opción Conciliar usuarios, En la lista de opciones que muestra, se puede elegir para que todos los usuarios reciban html, de esta manera, Hotmail si recibe el html.

No llegan las imágenes: Acá la causa pueden ser varias cosas, en primer lugar, siempre hay que poner la ruta real de la imagen, osea, www.dominio.com/imagen.jpg . Para que la imagen llegue, se tiene que estar enviando el correo como html. Finalmente otro problema común es que si la imagen se subió al servidor, el servidor esté bloqueando la imagen para que no pueda ser linkeada desde otro sitio, en ese caso, hay que probar modificar o borrar los .htaccess del servidor. Un síntoma de que está pasando esto, es que en Firefox si se ven las imágenes, mientras que en Internet Explorer, solo queda el cuadradito de que la imagen no se pudo cargar.

Proceso de cola de mensajes: Un gran problema cuando el php del servidor es cgi. Si se configura para que mande por lotes (los servidores bloquean después de determinada cantidad de mails) al volver a empezar el siguiente lote nunca empieza. Si la ventana está abierta, con actualizar alcanza.

Una manera de configurarlo es, deshabilitar el proceso por lotes, y configurar que los mails se envíen con determinada cantidad de tiempo de por medio, por lo que el tiempo de espera es menor, y se corren menos riesgos que se corte. Usar un Cron Job puede ser la solución.

# Defina el número de e-mails que desea enviar por periodo. Si es 0, el proceso por lotes
# se deshabilita y los mensajes son enviados tan rápido como sea posible.
define(“MAILQUEUE_BATCH_SIZE”,0);

# Defina la duración de un periodo de proceso por lotes, en segundos (3600 una hora)
define(“MAILQUEUE_BATCH_PERIOD”,3600);

Si está deshabilitado, la duración del periodo no tiene tanto sentido

# Para evitar la sobrecarga del servidor que envía los mensajes, puede agregar un pequeño retraso
# entre cada envío, para aligerar la carga de envío.
# Deberá encontrar un buen valor para su propio servidor.
# El valor es en segundos (o puede probar con autothrottle debajo)
define(‘MAILQUEUE_THROTTLE’,24);

Si por ejemplo el limite de mails es de 150 por hora, se puede configurar para que sea un mail cada 24 segundos.

Planificación del Cron:

La planificación del cron se divide en 6 campos en el siguiente orden:

1- Minutos
2- Horas
3- Días (Del 1 al 30/31)
4- Mes (Del 1 al 12)
5- Día de semana (1 = lunes)
6- Comando

Un * Significa que se ejecute siempre, dependiendo del campo, en el campo minutos, sería a cada minuto, en el campo mes sería cada mes.

Ejemplo:
Ejecutar un comando todos los días a las 5, todos los meses,  de lunes a viernes.

0 5 * * 1-5 comando
– Minutos = 0, si se pone un * se ejecuta a cada minuto.
– Horas = 5.
– Días = Todos.
– Meses = Todos.
– Día de la semana: Del 1 al 5.

Estos datos son la forma de configurar la planificación,  la forma de trabajo puede variar, por ejemplo, las alternativas que me presenta mi hosting son:

Cron1

o

Cron2

Sabiendo como configurar la planificación, solo falta saber el comando.

El comando también puede variar:

/ruta/completa/del /script/to/index.php?page=processqueue&login=tuusuario&password=tupassword

o

/ruta/completa/del /script/to/?page=processqueue&login=tuusuario&password=tupassword

Eso es todo