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 >