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:[EMAIL PROTECTED]
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:[EMAIL PROTECTED]
> 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
>



Reply via email to