28 de agosto de 2014

Borrar archivos temporales, documentos, imagenes y lo que sea de forma recursiva por consola

El Problema

Esta entrada es más un acceso directo que un tema informativo de gran detalle. Resulta que me ha pasado que necesito borrar archivos de forma recursiva, es decir, todos de un solo golpe; En este sentido les comento que los archivos suelen seguir un patrón, es decir, "Todos los php temporales", "Todos los .bak de mi directorio", "Todas las fotos", "Fotos que terminen con...", "Documentos que inicien con...", en fin. A través de la consola podemos hacerlo de la siguiente manera:

find . -name ".svn" -exec rm -rf {} \;
Éste comando borra todo los archivos ocultos .svn

find . -name "*.php~" -exec rm -rf {} \;
Ésta borra todos los archivos PHP temporales

find . -name "*.bak" -exec rm -rf {} \;
Borrando todo los .bak

find . -name "*old*" -exec rm -rf {} \;
Borra todo lo que en su nombre tenga la palabra "old" ej: archivo_old.php

Como comento al principio, solo es un acceso directo a mucha información que hay en internet, solo quiero tenerlo a mano y que sea útil para quién lo necesite.

Gracias por leerme y encantado estaría de leer sus comentarios. Igualmente les invito a suscribirse a los feeds del sitio con su lector favorito o suscribirse a través de correo electrónico, esperaré leer sus comentarios.

26 de agosto de 2014

Cakephp error de php_mbstring.dll al ejecutar la consola en Windows

Como desarrollador web utilizo Cakephp como framework de desarrollo web, hasta hace unos días no habia tenído la necesidad de instalar el framework bajo Windows, y tuve un pequeño problema cuya solución quiero compartir por lo peculiar de la misma.

El Problema


Cakephp tiene un Shell, es decir, un aplicativo que puede ser ejecutado desde las consolas de Windows y GNU/Linux para hacer uso de funcionalidades del framework como construir Modelos, Vistas y Controladores de forma automática y dinámicamente. Es aquí donde se me presentó el problema con windows. Resulta que existe una extensión de PHP llamada php_mbstring.dll que es requerida para el procesamiento de texto del CakePHP Shell pero falla al tratar de usarla, alertas indican que no se consigue la librería a pesar de estar correctamente instalada y ubicada en los directorios respectivos.

Solución


Aqui la solución, resulta que hay librerias que se deben cargar primero que otras, y cuando php_mbstring se inicia, lo hace despues de php_exif por lo tanto, la linea donde esta declarada la inclusión de php_mbstring debe ser colocada antes de php_exif y con ello solucinar el problema. Sencillo, a continuación la explicación de manera mas gráfica:

Normalmente el php.ini tiene el orden de inclusión así:
...
extension=php_exif.dll
...
extension=php_mbstring.dll
...

Lo debemos invertir asi:
...
extension=php_mbstring.dll
...
extension=php_exif.dll
...


Fuente: http://www.php.net/manual/en/install.windows.manual.php#97500


Gracias por leerme y encantado estaría de leer sus comentarios. Igualmente les invito a suscribirse a los feeds del sitio con su lector favorito o suscribirse a través de correo electrónico, esperaré leer sus comentarios.