的Graphviz - 暂时影像无法打开

问题描述:

我刚安装了Graphviz的PEAR包在交友和尝试运行下面的脚本: (从http://pear.php.net/manual/en/package.images.image-graphviz.example.php的Graphviz - 暂时影像无法打开

[?php 
require_once '/home/user_directory/php/Image/GraphViz.php'; 

$gv = new Image_GraphViz(); 
$gv->addEdge(array('wake up'  => 'visit bathroom')); 
$gv->addEdge(array('visit bathroom' => 'make coffee')); 
$gv->image(); 
?] 

如果我运行该脚本,我得到了以下错误信息:

Warning: fopen(/tmp/graph_8xynSO.svg) [function.fopen]: 
failed to open stream: No such file or directory in 
/home/user_directory/php/Image/GraphViz.php on line 210 

我检查在/ tmp目录的权限:他们设置为777(虽然我不能看到graph_8xynSO.svg文件在那里)。请问我还有其他地方吗?

感谢,

PHP

它很可能将graphviz的程序是不是你的主机上安装。你有exec()能力还是shell访问?如果是这样,试图通过这样的命令直接调用的graphviz:

echo "digraph G {Hello->World}" | dot -Tpng >hello.png 

PEAR包将不包括graphviz的程序,但只是一个包装它。我不确定cPanel是否首先执行依赖关系检查。如果不是你的盒子,你可能需要让管理员先安装graphviz。

如果无法让graphviz在您的共享主机上工作,您可以调用Web服务来呈现图像。一个例子见http://bloodgate.com/graph-demo