LinuxParty
Receta rápida para visualizar un grafo de dependencias en PHP, como el que acompaña a este post (pincha sobre la imagen para hacer zoom sobre ella). Se trata del grafo de dependencias PHP de la aplicación Babelium Project, pero piensa que el objetivo es aprender a generar un grafo como éste de cualquier aplicación que te interese.
En concreto, queremos ver gráficamente qué ficheros incluyen a qué otros (con include, require o require_once). Para ello, haremos uso de la extensión “inclued” (sí, al parecer es un juego con las letras de include).
$ sudo pear install inclued-beta
Configuramos a continuación el fichero php.ini para activar la extensión, añadiendo esta línea
extension=inclued.so
y en la parte inferior del mismo fichero, una variable de configuración:
[inclued] inclued.enabled = On
Ahora reiniciamos Apache para que coja los cambios:
$ sudo /etc/init.d/apache2 restart
Editamos la página inicial (index.php o similar) de la aplicación de la queremos obtener el grafo, y añadimos al final lo siguiente:
// File to store the inclued information $fp = fopen('/tmp/wp.ser', 'w'); if ($fp) { $clue = inclued_get_data(); if ($clue) { fwrite($fp, serialize($clue)); } fclose($fp); }
Esto generará un fichero /tmp/wp.ser con información serializada de los includes y requires que carga index.php y sus ficheros dependientes (es decir, el análisis se hace de forma recursiva)
Sólo falta un paso: usar graphviz para generar un fichero .dot que luego podremos convertir a .png con la utilidad dot.
# creamos el dot $ php graphviz.php -i /tmp/wp.ser -o wp.dot # lo convertimos a png $ dot -Tpng -o inclued.png wp.dot

-
Debian
- Equivalencias entre DEB y RPM, y también APT y YUM para Linux
- FreeXP la alternativa moderna a Windows 11 de la mano de Linux
- Se lanzó Debian 12.7 “Bookworm” con 55 actualizaciones de seguridad y 51 correcciones de errores
- Debian 12 'Bookworm' es lanzado oficialmente, ofreciendo mayor estabilidad y numerosas actualizaciones de software
- Instalación de memcached Y el módulo PHP5 Memcache sobre Debian Etch (Apache2)
- Ejecutar Feng Office en Nginx (LEMP) en Debian Squeeze/Ubuntu 11.10
- MX Linux: la mejor distro Linux para nuevos usuarios, basada en Debian para principiantes de Linux
- Montar directorios remotos con SSHFS en Linux
- UEFI Secure Boot será eliminado a partir de Debian 9 'Stretch'
- Debian elimina el soporte para procesadores Pentium de la arquitectura i386
- Fundador de Debian, Ian Murdock fallece a los 42 años.
- Debian 7.0 Wheezy publicado
- Servidor Web, correo electrónico, cluster de base de datos MySQL (espejo)
- Instalando OpenLDAP con soporte SSL en debian
- Cómo tener varias versiones de PHP (PHP-FPM y FastCGI) Con ISPConfig 3 en Ubuntu / Debian Linux (4 de 4)