miércoles, 27 de mayo de 2009

Fatal error: Class 'HttpRequest' not found in /var/www/index.php on line 2

he installation guideline is very insufficient. I've installed for Debian lenny/sid with the following step;

apt-get install php5-dev (to enable pecl command)
apt-get install libcurl3 (to get curl support)
apt-get install libmagic

and

pecl install pecl_http

pecl will download and compile but before that just follow the prompt. If the respective development library is not available in your system, the compilation will abort.

You should add "extension=http.so" to php.ini

viernes, 22 de mayo de 2009

Argument list too long

No es la primera vez que me encuentro con este error y por eso he decidido indagar un poco porqué sucede este error cuando hacemos operaciones (mv, rm...) con muchos ficheros.

La primera cosa que he encontrado que me parece coherente es que el problema no es del comando rm o de mv, sinó que es una limitación interna del kernel.

En la función execve() del kernel, que funciona igual que las funciones exec() (execl, execlp, execle, etc.) crean un buffer de 128K en memoria copiando la línia de comandos y el entorno para el nuevo proceso en ese espacio. La "lista de argumentos demasiado larga" es mensaje de error Kernel E2BIG. Hecho que execve () no es capaz de ajustar la lista de argumentos ofrecidos en el buffer de 128K.

Solución: El comando find
Para mover:
find $DIR1 -type f -name '*' -exec mv {} $DIR2/. \;

Para cambio de permisos
find $DIR -name "*" -print0 | xargs -0 chmod 750

viernes, 15 de mayo de 2009

VMWARE ESX: ALERT: LVM: 4476: v20:1.... may be snapshot: disabling access. See resignaturing section

En casos como la perdida de un datastore de un RAID tenemos la opción de poder recuperearlo des del VIC. El error es algo parecido a:

ALERT: LVM: 4476: vml.020003000060a980004335434b464a4b77554e59744c554e202020:1 may be snapshot: disabling access. See resignaturing section
  • - Ir a la pestaña de configuración del host ESX y seleccionar "Advanced settings"
  • - Dentro de LVM cambiar EnableResignature 0 (off) a 1 (on)
  • - Reescanear los discos
Ahora tendría que aparecer los datastores que habian en el disco con un nombre aleatorio. Solo hay que volver a poner las MV de nuevo y listos.