2009-10-19 8 views
0

Je viens d'installer le paquet Graphviz PEAR dans cPanel et essayé d'exécuter le script suivant: (de http://pear.php.net/manual/en/package.images.image-graphviz.example.php)Graphviz - image temporaire ne parvient pas à ouvrir

[?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(); 
?] 

Si je lance ce script, je reçois le message d'erreur suivant:

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 

J'ai vérifié les autorisations sur le répertoire/tmp: ils sont mis à 777 (bien que je ne peux pas voir le fichier graph_8xynSO.svg là-bas). Y a-t-il d'autres endroits où je devrais regarder s'il te plaît?

Merci,

PHP

Répondre

1

Il est tout à fait possible, le programme graphviz n'est pas installé sur votre hôte. Avez-vous la capacité exec() ou l'accès shell? Si oui, essayez d'appeler graphviz directement via une commande comme:

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

Le paquet poire ne comprend pas le programme graphviz, mais il est juste un wrapper pour elle. Je ne suis pas sûr que cPanel effectue d'abord la vérification des dépendances. Si ce n'est pas votre boîte, vous devrez peut-être obtenir l'administrateur pour installer graphviz en premier.

Si vous ne parvenez pas à faire fonctionner graphviz sur votre hôte partagé, vous pourrez peut-être appeler un service Web pour afficher l'image. Voir http://bloodgate.com/graph-demo pour un exemple.