的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。