I've tried to do this several times over the years but only now i managed to understand the inner works of the Graphiz libraries good enough to wrap things up into a PHP extension (i blame part of this on different Graphviz libraries defining multiple versions of the same function name ...).
We've had PHP Graphviz support in PEAR for quite a while but only by passing graph description files to graphviz binaries running in seperate processes and by collection their output files later.
Now it is possible to create graphs by adding nodes, edges and node and edge attributes to a graph within PHP itself. Different layout algorithms may be applied to a graph resource and the same graph can be rendered to several output formats. For example it is now possible to generate a PNG graph image and a HTML image map for the generated PNG image from the same graph resources by applying the gvc_render_file() function to the graph twice.
I've set up a Trac project site and provided a first 0.1.1 release in its Download section and on the php-baustelle channel server. Minimal documentation is available in the sites Manual section.
good related article
Tracked: Sep 29, 03:47