2009-10-19 48 views
0

我剛安裝了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

回答

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