sman has asked for the wisdom of the Perl Monks concerning the following question:

Hello everyone,

After installing GD::SecurityImage, I tried to run its test program. But some error happened like the following:
$ perl eg/demo.pl Content-Type: text/html; charset=ISO-8859-1 <h1 style="color:red;font-weight:bold" >FATAL ERROR</h1> DBI connect('gdsi','root',...) failed: Access denied for user + 'root'@'localhost' (using password: NO) at eg/demo.pl line 124
I noticed the changes of version 1.70 says that :
=> Added a demo program to "eg/demo.pl". It needs DBI, DBD::mysql (and a MySQL server), Apache::Session, + String::Random and some CORE modules to run.
It seems I miss some mysql stuff in order to run this demo script. Any idea?

Thanks for the help in advance.

Replies are listed 'Best First'.
Re: Qestion about GD::SecurityImage
by derby (Abbot) on Jan 29, 2010 at 15:16 UTC

    Well ... instead of rolling your own captcha, I would recommend using reCAPTCHA.

    -derby
      Thanks for your advice. I tried reCAPTCHA and it's working now.
Re: Qestion about GD::SecurityImage
by Anonymous Monk on Jan 29, 2010 at 06:14 UTC
      Thanks for your reply. I follow the instruction and run the demo.pl as a CGI program successfully except the image does not show up (only see its alt string). Then I try this GD test code :
      use GD; # create a new image $im = new GD::Image( 100, 100 ); # allocate some colors $white = $im->colorAllocate( 255, 255, 255 ); $black = $im->colorAllocate( 0, 0, 0 ); $red = $im->colorAllocate( 255, 0, 0 ); $blue = $im->colorAllocate( 0, 0, 255 ); # make the background transparent and interlaced $im->transparent($white); $im->interlaced('true'); # Put a black frame around the picture $im->rectangle( 0, 0, 99, 99, $black ); # Draw a blue oval $im->arc( 50, 50, 95, 75, 0, 360, $blue ); # And fill it with red $im->fill( 50, 50, $red ); # make sure we are writing to a binary stream binmode STDOUT; # Convert the image to PNG and print it on standard output print $im->jpeg;
      And then I got a error message like this:
      [cmo@fedora ~]$ perl gdtest.pl > test.jpeg Can't locate object method "jpeg" via package "GD::Image" at gdtest.pl + line 29.
      line 29 is "print $im->jpeg;". GD::Image is installed successfully but Why this error happen?

      Thanks again.

        Did you install the JPEG library prior to installing as described in the README?

        Also check the version of GD, only newer versions support jpeg.