我刚刚在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
发布于 2009-10-19 16:28:32
很可能您的主机上没有安装graphviz程序。您是否具有exec()功能或shell访问权限?如果是这样,请尝试通过如下命令直接调用graphviz:
echo "digraph G {Hello->World}" | dot -Tpng >hello.png
Pear包不会包含graphviz程序,但它只是一个包装器。我不确定是不是cPanel先做了依赖检查。如果不是你的机器,你可能需要让管理员先安装graphviz。
如果你不能让graphviz在你的共享主机上工作,你可以调用一个web服务来渲染图像。有关示例,请参阅http://bloodgate.com/graph-demo。
https://stackoverflow.com/questions/1591693
复制相似问题