我刚刚在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
答案 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。