perl-modperl mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "cfaust-dougot" <cfa...@doyougot.com>
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 CGI.pm completely, is there no way to get them to
work together??
 
Thanks
-Chris

________________________________

From: Fred Moyer [mailto:fred@redhotpenguin.com]
Sent: Thu 12/7/2006 2:33 AM
To: cfaust-dougot
Cc: modperl@perl.apache.org
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.
> 
> http://208.3.90.212/test.pm.txt
> 
> 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 [mailto:cfaust@doyougot.com]
> Sent: Tue 12/5/2006 1:28 PM
> To: modperl@perl.apache.org
> 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
libapreq2.0.7.1.
> 
> 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
configured
> 
> TIA
>




Mime
View raw message