[mapserver-users] Couldn't run perl mapscript under Apache

krung krung at cad.go.th
Mon Nov 18 01:25:42 EST 2002


Puneet,

Sorry, It's my mistake. I mistyped from 'use CGI qw/:standard/;' to 'use DBI qw/:standard/;' in mail message but not in my real script. I tried as you suggested me. The same situation took place as before. But for now, when I ran the script at command line. Some warnings appeared below:

[Sun Nov 17 07:46:39 2002] testmap.pl (in cleanup) Not a HASH reference at /usr/lib/perl5/site_perl/5.6.1/i386-linux-thread-multi/mapscript.pm line 1144.
[Sun Nov 17 07:46:39 2002] testmap.pl (in cleanup) Not a HASH reference at /usr/lib/perl5/site_perl/5.6.1/i386-linux-thread-multi/mapscript.pm line 2415

I checked for these lines of warning. It's sub DESTROY of image object and map object respectively. How do I have to do next? And another question, why a few days ago these warning messages didn't show (also with switch -w) though I didn't change anything with my system.

Thanks.
Krung.

---------- Original Message ----------------------------------
From: Puneet Kishor <pkishor at geoanalytics.com>
Date:  Fri, 15 Nov 2002 09:14:46 -0600

>
>On Thursday, November 14, 2002, at 11:24  PM, krung wrote:
>
>> Lowell.
>>
>> My script is very simple below;
>>
>> #!/usr/bin/perl -w
>> use mapscript;
>> use DBI qw/:standard/;
>>
>> print header();
>> $map = new mapObj("test.map") or die "couldn't open map file\n";
>> $img = $map->draw();
>> $img->saveImage("images/test.png", $mapscript::MS_PNG,1,1,0);
>> print "<IMG SRC=\"images/test.png\">";
>>
>>
>
>try this...
>=====================
>#!/usr/bin/perl -w
>
># 1. import the modules
>use CGI::Pretty qw(:standard);
>use CGI::Carp qw(fatalsToBrowser);
>use mapscript;
>use DBI qw(:standard);
>
># 2. set dir and url paths
>my $apppath = "/absolute/path/to/your/tmp/dir";
>my $appurl = "/url/to/your/tmp/dir";
>
># set your mapfile
>my $mapfile = "/absolute/path/to/your/mapfile";
>
># create a new map object
>my $map = new mapObj("$mapfile") or die $mapscript::ms_error->{message};
>
># set a tmp map image name
>my $imgname = $map->{name} . time() . ".png";
>
># create the map
>my $img = $map->draw() or die('Unable to draw map');
>
># save the map
>$img->saveImage($apppath . $imgname, $map->{imagetype}, 
>$map->{interlace}, $map->{transparent}, $map->{imagequality});
>
># 3. output
>print header, start_html;
>print "<img src=$appurl/$imgname>";
>print end_html;
>=====================





More information about the mapserver-users mailing list