A Django site.
Junio 15, 2010
» Instalando APC PHP Cache en Debian / Lenny para Drupal

Hace poco me estuve peleando con la lentitud de drupal 5 al que no le podía activar la cache que viene con el core. Entonces empecé a investigar la posibilidad para mejorar la performance del lado del servidor. Una de las cosas que miré y me ayudó fue el APC PHP Cache Accelerator

Este módulo de PHP hace un caché del código y reduce increíblemente la carga del sitio web. Sobre todo si tienen un drupal con muchos módulos!

Para instalar el php-apc en debian lenny como usuario root ejecutar:

aptitude install php-apc

También le configuré algunos parámetros del apc ya que los que vienen por defecto a mi no me servían:

Abrimos el php.ini:

sudo vim /etc/php5/apache2/php.ini

Y pasteamos las siguientes lineas al final de todo:

#APC 3.0.16 tuning below

extension="apc.so"
apc.enabled=1
apc.shm_segments=1
apc.shm_size=128
apc.num_files_hint=2048
apc.user_entries_hint=4096
apc.gc_ttl=3600
apc.cache_by_default=1
apc.mmap_file_mask=/dev/zero
apc.slam_defense=0
apc.file_update_protection=2
apc.enable_cli=0
apc.max_file_size=1M
apc.stat=0
apc.write_lock=0
apc.report_autofilter=0
apc.include_once_override=1
apc.localcache=0

Luego de restartear nuestro servidor web (apache2 en nuestro caso) comienza a correr el APC.

sudo /etc/init.d/apache2 restart

De esta forma activamos el APC PHP para todos los virtualhost de nuestro apache2.

Si por alguna razón quisieramos deshabilitar el APC para alguno de los virtualhost que tenemos en el servidor, debemos agregar la siguiente linea en el .htaccess o la configuración del sitio web correspondiente.

php_flag apc.cache_by_default Off

Si queremos habilitar el APC únicamente para algunos sitios debemos agregar la linea

php_flag apc.cache_by_default On

Si queremos visualizar el uso del cache por el APC ejecutamos lo siguiente:

gunzip /usr/share/doc/php-apc/apc.php.gz
ln -s /usr/share/doc/php-apc/apc.php /var/www/apc.php

Deberiamos de ver unos gráficos como estos

APC INFO_1

APC INFO_2

Enero 17, 2009
» Spam via PHP - Mejoras a mail() en 5.3.0

Como ya todos los que tienen un sitio, o trabajan en una empresa de webhosting, saben, si no se implementa bien, el uso de la funcion mail() puede ser abusada por atacantes para enviar spam y otras porquerias.

Desde PHP 5.3.0 estan disponibles dos opciones de configuracion (via php.ini, ini_set() o via apache php_value) piolas. Una, mail.add_x_header, agrega una cabecera X-PHP-Originating-Script a cada mail saliente, indicando UID y path al script que generó dicho mail.

La otra, mail.log, hace que php grabe, justamente, un registro del uso de la funcion mail.

Piola, no? Así que esten atentos a la salida de 5.3.0 (o mejor, 5.3.x, jej).

Octubre 26, 2008

Boris Quiroz
cereal_bars
wreeeeoooowww trata sobre »
» Xen needs your help!!

Xen, el más prestigioso desarrollo de virtualización desarrollado por los geeks de la Universidad de Cambridge necesita tu ayuda. Sí, a ti!

La idea es “reclutar” gente con expericiencia en Php para trabajar en la implementación de la  nueva herramienta de búsqueda de Xen.org que estará basada en phpMyDirectory. Se trabajará en el look & feel de la herramienta para que se adapte al look & feel actual de Xen.org. Esperamos que este desarrollo no tome más de 2 a 10 horas en total. Los que tengan el tiempo y los conocimientos pueden contactar por mail a Stephen Spector (english only) o a mi (spanish :P)

Marzo 25, 2008
» Zend framework

Uno mas !!! y no jodemos mas!… :)

Siguiendo con las últimas tendencias de la moda, les presento just another MVC framework para PHP5, la promesa?.. la misma que los demas: flexibilidad, agilidad y bla bla bla, pero lo cierto es que son todos iguales. (lo cual puede ser una ventaja al momento de cambiar de uno a otro). Hay quienes lo posicionan junto a Symfony allá arriba en las primeras posiciones de la tabla.

Como no podía ser de otra manera lo pegué una probadita, y la verdad es que le faltan algunas cosas para estar al nivel de SF, pero creo que esta bueno porque es menos “aparatoso” para usar y menos estructurado tambien, es mas una abultada biblioteca de funciones que otra cosa. No tiene un script face tuti como sf, asi que hay que escribir all the fuck*ng code from scratch. Lo copado es que no tenes que instalarlo en el sistema via Pear ni nada de eso, simplemente lo copias en el directorio de tu proyecto y listo.

Luego de ver tanta cosa dando vuelta, creo que la tendencia es clara: hay que usar algún framework y no reinventar la rueda en cada proyecto. Aunque sea tu propio framework, pero para que hacerte uno, si hay tantos y tan copados dando vueltas alli afuera no?.. :)

Febrero 17, 2008
» Ya tengo novia nueva: Symfony

Que bueno que está!… es como Rails pero para PHP5. Realmente este framework me reavivó las ganas de volver al desarrollo freelance. Uno de los problemas que provocó mi alejamiento hace un par de años fue tener que comenzar desde 0 cada proyecto o en el mejor de los casos copiar y pegar “tons of code” y luego tener que ponerme a toquetear monótonamente hasta dejar las cosas andando, lo que terminaba llevandome muchisimo mas tiempo del estimado y por supuesto ganar menos guita!!.

Todo lo que una aplicación web promedio debe tener, symfony lo hace por vos. Desde operaciones CRUD(Create Read Update Delete) totalmente automaticas y customizables hasta el backend de admin completito, pasando por la definición de la db hasta el esquema de seguridad con permisos y credenciales. Obviamente incorpora un esquema de templates y por supuesto, podes usar Ajax de manera painless :)

Si algún día retomamos las charlas de autocapacitación en el LugMen, me gustaría poder mostrarles este framework, realmente vale la pena echarle una mirada.