dic 1 2011

Resuelto: PHP Fatal error: Allowed memory size of X bytes exhausted (tried to allocate X bytes) in …/PEAR/Command/Install.php

Esta mañana deseé instalar un par de paquetes de PECL y PEAR desde los repositorios de PHP (en mi laptop recién instalado con ArchLinux+XFCE), pero vaya sorpresa que me llevé cuando al ejecutar:

sudo pear upgrade

y

sudo pecl upgrade

Y aunque subí el valor de memory_limit a 4092M no tuve suerte, pues siempre obtuve el mismo mensaje.
Después de “googlear” un poco y probar múltiples opciones decidí lanzarme a la aventura y con base de diferentes comentarios de múltiples foros encontré la solución, bastante sencilla, por cierto; actualizando el propio PEAR:

sudo pear upgrade PEAR

Problema resuelto. Espero que no sólo a mí me resuelva el problema sino a muchos de ustedes también.


nov 20 2011

Instalar extensión solr para PHP en ArchLinux/Chakra

Hace algún tiempo trabajando para alguna empresa, necesité instalar la extensión php_solr en mi laptop con Chakra (basado en ArchLinux) y luego de investigar un poco acá está el método que utilicé.

Instalamos los paquetes autoconf y php-pear (si ya están instalados se ignoran)

sudo pacman -S autoconf php-pear

Luego bajamos el archivo de la extensión desde http://pecl.php.net/package/solr y lo descomprimimos:

tar -zxvf solr.1.0.1.tgz

Entramos al directorio y ejecutamos “phpize” en el directorio:

cd solr.1.0.1
phpize

Configuramos el paquete antes de instalarlo:

./configure

Lo instalamos:

make && make install

Activamos la extensión en el archivo php.ini o /etc/php/conf.d/solr.ini

extension=solr.so

Y reiniciamos el servidor (normalmente Apache, en mi caso es nginx).

Espero que haya sido útil.

 

Actualización:

Desde que solr dejó de ser beta, ahora es posible instalar la extensión usando el comando:

sudo pecl install -f solr

nov 17 2011

Cómo corregir direcciones erróneas en válidas

He encontrado un post bastante interesante acerca de la distancia de Levenshtein que aplicado a la programación web, sirve para cuando nos hacen un vínculo a nuestro sitio web y la dirección contiene “typos” o errores de digitación y el servidor reinterpreta y corrige la dirección evitando así un error 404. ¿Interesante verdad?

Wikipedia nos dice lo siguiente:

En Teoría de la información y Ciencias de la Computación se llama Distancia de Levenshtein, distancia de edición, o distancia entre palabras, al número mínimo de operaciones requeridas para transformar una cadena de caracteres en otra. Se entiende por operación, bien una inserción, eliminación o la sustitución de un carácter. Esta distancia recibe ese nombre en honor al científico ruso Vladimir Levenshtein, quien se ocupara de esta distancia en 1965. Es útil en programas que determinan cuán similares son dos cadenas de caracteres, como es el caso de los correctores de ortografía.
Por ejemplo, la distancia de Levenshtein entre “casa” y “calle” es de 3 porque se necesitan al menos tres ediciones elementales para cambiar uno en el otro.
casa → cala (sustitución de ‘s’ por ‘l’)
cala → calla (inserción de ‘l’ entre ‘l’ y ‘a’)
calla → calle (sustitución de ‘a’ por ‘e’)

 

Podríamos decir entonces que si tuviésemos una URL que fuese: http://miservidor.com/mipaigna se podría reescribir a http://miservidor.com/mipagina evitando así el error 404.

He aquí algunos vínculos con el código fuente para WordPress, Drupal y el código genérico.

WordPress Plugin: http://pro.virante.com/404/predictive404.txt
Drupal Module: http://www.socialseo.com/
Generic PHP Code : http://pastebin.com/P35zHGDW

Creo que próximamente estaré desarrollando una extensión para mi framework :)


oct 6 2011

La tecnología está de luto: Steve Jobs ha muerto

Esta mañana el noticiero me ha sorprendido con una noticia bastante triste para el mundo de la tecnología, el gran genio y creativo de la tecnología Steve Jobs había fallecido.
Tengo que reconocer que no soy un gran seguidor de los productos de Apple, nunca he tenido un producto Apple (lo maś cercano fue un iPod comprado por un familiar) y por lo pronto no tengo planes de adquirir ninguno, sin embargo, no puedo dejar de admirar el gran trabajo y la inmensa huella que Steve Jobs (y Apple) ha dejado en el mundo de la tecnología: Todo un hito, podríamos separar el mundo antes y después de él (Igual a Apple).
La pasión que brotaba por su trabajo hacía que Steve fuera un modelo para “Pensar diferente” (Think different en inglés) para todos los nuevos jóvenes empresarios (como yo).
No voy a publicar la historia de él (la pueden encontrar en Wikipedia y en muchos artículos en Internet), pero sí puedo decir algo “hemos perdido a tal vez el más grande genio y creativo de la tecnología en la historia del mundo”.
Los dejo con un comercial bastante reciente del icónico iPhone 4.


sep 29 2011

Libro de cocina de Aplicaciones en Yii Framework lanzado

Quienes me hayan seguido o me conozcan habrán notado mi preferencia hacia Yii como framework de desarrollo, pues bien, un buen colega mío y desarrollador del framework,llamado Alexander Makarov  ha redactado este espectacular libro “Yii 1.1 Application Development Cookbook” o en español (o castellano como más gusten) se llamaría algo como: Libro de Cocina del Desarrollo de Aplicaciones en Yii 1.1.

El libro puede ser adquirido a través del sitio de Packt Publishing desde donde podremos adquirir el libro (con interesantes descuentos sea dicho de paso) que también puede ser adquirido en versión PDF.

Próximamente estaremos haciendo una evaluación del libro, pero para quienes deseen darle un vistazo a uno de los capítulos, acá está el capítulo 8.

Espero sus comentarios del libro y del framework.