tags:

views:

127

answers:

2

Hello,

I have got a warning in image_graphviz, i have viewed a post, who has a similar error. I have installed pear image_graphviz package(Image_GraphViz-1.2.1), I also installed graphviz.msi(Graphviz2.25.msi) in windows(But i don't know if does something with image_graphviz and if it does have some effects when i use image_graphviz).

Do i need to do something else?

Here is my code from pear image_graphviz site.

<?php
require_once 'Image/GraphViz.php';
error_reporting(E_ALL ^ E_NOTICE);  //Added E_NOTICE
$gv = new Image_GraphViz();
$gv->addEdge(array('wake up'        => 'visit bathroom'));
$gv->addEdge(array('visit bathroom' => 'make coffee'));
$gv->image();
?>

This is the warning:

Warning: fopen(C:\WINDOWS\Temp\gra50.tmp.svg) [function.fopen]: failed to open stream: No such file or directory in C:\wamp\bin\php\php5.3.0\PEAR\Image\GraphViz.php on line 210

Notice: Undefined variable: data in C:\wamp\bin\php\php5.3.0\PEAR\Image\GraphViz.php on line 218

Thanks Pekka Gaiser, I used error_reporting(E_ALL ^ E_NOTICE);. I don't know how to change the temp directory, but c:/windows/temp exists in my computer.

I haven't solve the problem. Thanks all for advice.

+1  A: 

[Edited] Are you sure your Graphviz pear package can actually call the binary you installed? Does the package have any settings, maybe (probably) you have to specify the path there?

If the binary is definitely there: Does the c:\windows\temp directory exist? Can you change the temporary directory somewhere in Graphviz? Are you really on Windows? Can you change the location of the temporary setting in php.ini?

To address the notice, try setting error_reporting to

error_reporting(E_ALL ^ E_NOTICE)

Notices about undefined variables give important guidance at development time, but if they occur in a production package the only way to get rid of them is to turn them off.

Pekka
Thanks Pekka Gaiser, i have checked the file Image/Graphviz.php and it doesn't indicate any directory about temp. The c:/windows/temp does exists and i don't know how to change it. I think it's default by windows system, not by graphviz. I don't find the settings in php.ini too. But i use E_NOTICE because of your advice. The Notice line is disappeared. But i still have the warning. Thanks.
garcon1986
Then you need to check whether the Graphviz PEAR package knows about the Graphviz Program you installed. There is most likely a settings file somewhere where you can set the path. However I don't know this for sure as I know neither PEAR nor Graphviz.
Pekka
Thanks i'll try to find where is wrong.
garcon1986
I have solved it. Because the path is not right. Thanks pek.
garcon1986
A: 

Anyone have any ideas?

garcon1986