Graphviz - 临时图像无法打开

时间:2009-10-19 23:24:02

标签: graphviz

我刚刚在Cpanel中安装了Graphviz PEAR包并尝试运行以下脚本: (来自http://pear.php.net/manual/en/package.images.image-graphviz.example.php

[?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

1 个答案:

答案 0 :(得分:1)

很可能你的主机上没有安装graphviz程序。你有exec()功能,或shell访问?如果是这样,请尝试通过以下命令直接调用graphviz:

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

Pear包不包含graphviz程序,但它只是它的包装器。我不确定cPanel是否先进行依赖性检查。如果它不是您的盒子,您可能必须先让管理员安装graphviz。

如果无法让graphviz在共享主机上运行,​​您可以调用Web服务来呈现图像。有关示例,请参阅http://bloodgate.com/graph-demo