perl-modperl mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "cfaust-dougot" <>
Subject RE: Apache2::Upload and End of file found error Part 2
Date Thu, 07 Dec 2006 09:30:09 GMT
Thanks for the tips Fred, but I don't understand what you mean about the CGI object being shared
between requests - that CGI object wasn't global or anything, its created and used within
that sub and that's it??
I don't know if I can remove the use of completely, is there no way to get them to
work together??


From: Fred Moyer []
Sent: Thu 12/7/2006 2:33 AM
To: cfaust-dougot
Subject: Re: Apache2::Upload and End of file found error Part 2

cfaust-dougot wrote:
> Folks,
> I'm still trying to figure out what to do about this upload problem.. I've figured out
that somehow creating a new CGI object is causing the problem but I have no idea how or what
to do.
> Below is a bare bone test upload script, if you comment out the "my $CGI = new CGI();"
in the sub "init_global_vals" then the update works fine, if its uncommented then the server
error of "End of file found" happens.
> I have no idea how one relates to the other, any ideas?

I'm not sure why you would want a CGI object shared between requests but
my guess is that it's doing something strange as a result and I can't
see any advantage to that approach.  If you don't have that $CGI object
around and it works fine that might be telling you that it's causing
trouble and not helping.

A few other comments that might keep you from running into other problems:

1) 'perldoc vars' - use 'our' in favor of 'use vars'

2) don't use global variables unless you really need them and they serve
a useful purpose ($template_header and $template_footer globals are ok
since they are stateless, $CGI objects are not)

3) try the latest version of libapreq, 2.08.  I don't think it will fix
your existing problem (which the $CGI seems to be the root of), but
there have been a number of bug fixes since the release you're using.

4) Take a look at Apache::DBI instead of keeping $db in a global -
$db = ISMH::ConnectDBUser->connect_to_db();

HTH  - I think the simple issue to fix your problem is don't use a
global $CGI object FWIW

> Thanks
> -Chris
> ________________________________
> From: cfaust-dougot []
> Sent: Tue 12/5/2006 1:28 PM
> To:
> Subject: Apache2::Upload and End of file found error
> Hi,
> I'm trying to use Apache2::Upload as shown in the examples and the only thing I get is
"End of file found" in the error log.
> I've found quite a few messages on the subject, but I'm not using Mason and I'm using
> I've tried the fh and slurp methods and both are the same.
> Code I've been playing with
>  my $req = Apache2::Request->new($r);
>  my $upload = $req->upload('new_image');
>  my $size = $upload->size;
>  my $uploaded_file = $upload->fh;
>  #$upload->slurp($uploaded_file);
>  #$upload->link($uploaded_photo_name) or
>     #  die sprintf "link from '%s' failed: $!", $upload->tempname;
> Server Info
> Apache/2.0.55 (Ubuntu) PHP/5.1.6 mod_apreq2-20051231/2.5.7 mod_perl/2.0.2 Perl/v5.8.8

View raw message