"Randy Kobes" <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]
> On Fri, 5 Dec 2003, SRef wrote:
>
> > Env: Perl5.8 Apache2.0 mod_perl2.0(1.99xx?) PS: I did try
> > to find the solution through mod_perl and apache
> > documents, but in vain. Please help me, thanks.
> >
> > For example, I have a script file named "index.cgi" for my
> > website entrance, and there are some template files in the
> > same directory with it. index.cgi used to run correctly
> > under "use warnings(FATAL => 'all'); use strict....."
> >
> > when I try using mod_perl, problems occur:
> > 1. when access my site http://localhost, it shows error"cann't open
> > http://localhost";; I can only use http://localhost/index.cgi, how to
sovle
> > this?
>
> This seems like a problem with your Apache configuration -
> see the docs at http://httpd.apache.org/ for details.

In my httpd.conf, there is this:

###################################################
LoadModule perl_module modules/mod_perl.so
PerlRequire "D:/Program Files/Apache Group/Apache2/conf/start_up.pl"
PerlSwitches -wT

<Directory "D:/website">

    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all

</Directory>

<Directory "D:/website/my_mod_perl_path">
 SetHandler perl-script
    PerlResponseHandler ModPerl::Registry
 Options +ExecCGI
 PerlOptions +ParseHeaders
</Directory>

DirectoryIndex index.cgi index.html

AddHandler cgi-script .cgi .pl
#others remains the default
.......
#==========================


###content of  start_up.pl
  use Apache2 ();
  use ModPerl::Util ();
  use Apache::RequestRec ();
  use Apache::RequestIO ();
  use Apache::RequestUtil ();
  use Apache::Server ();
  use Apache::ServerUtil ();
  use Apache::Connection ();
  use Apache::Log ();
  use Apache::Const -compile => ':common';
  use APR::Const -compile => ':common';
  use APR::Table ();
  use Apache::compat ();
  use ModPerl::Registry ();
  use CGI ();
  1;
#===========================



>
> > 2. it shows many error"sub1 redefined.....sub2 redefined...."when the
second
> > time or more to access the index.cgi.
>
> This might be using modules or subroutines whose names
> coincide - it's hard to know without seeing a simple
> example of your script.

I don't think that's the case. Since if I change the subname, eg,
sub main() , changed to main1()
Then the errorlog will say "main1() redefined....." instead of "main()
redefined....".

my script example like this:
#===========================
use strict;
use warnings(FATAL => 'all');
use HTML::Template;
use CGI qw(:all);
use CGI::Carp qw(fatalsToBrowser);
use DBI qw();
....
use lib './';
require 'env.pl';
#env.pl is under same path with index.cgi

# Global variables
definition======================================================
my $q = new CGI;
.....#some globals here

main();

sub main(){
sub1();
sub2();
......
}


sub sub1{
    .....
}

sub sub2{
    .....
}

.....

#end

>
> > 3. I use relative path in index.cgi, but it seems all goes mad when
> > mod_perl::register reports" can't find file1.tmpl...cann't find
file2.tmpl"
> >     I think when mod_perl::register works the current working directory
is
> > somewhere else than where index.cgi is.
> >     then i use chdir to change the working directory to where index.cgi
is,
> > I just want to know is there any better way to achieve this since we
nearly
> > always want the current path to be where your script is, rather than
> > mod_perl::register . I also wonder if chdir will cause any problem with
> > mod_perl::register .
>
> There's been discussion of this in the past - search the
> archives of the mod_perl mailing list (links are available
> from http://perl.apache.org/) for a discussion.
>

Thanks. I will try.

> > 4. Another error, mod_perl::register:  Unrecognized character \x11 at
> > mark.gif. Anything wrong with the gif?
>
> Does the gif display OK when loaded in a browser? Again,
> a simple example illustrating the problem would help.
>

it's ok when loaded alone in a browser. And actually it's all ok before I
use mod_perl.
Does mod_perl register parse gif files or do any special thing to them?

> > 5. all globle var in index.cgi used to be "my", but it
> > says requires explicity package name? I change it to
> > "local", same proble occurs. When it be"our", no such
> > error any more? I know difference among them in Perl. But
> > can anyone explain them to me for mod_perl? Also, why
> > mod_perl2.0 documents has no info about this? At least, I
> > didn't find.
>
> Try searching at http://perl.apache.org/ for, for example,
> "scoped variable" - this might lead you to what you're
> looking for.

ok, I will try it.

>
> > 6. use lib './' doesn't work when second(maybe third?) time invoke
> > index.cgi.
> >     I don't want to put the lib file in perl/lib, nor put the line" use
lib
> > './' " in "start_up.pl". So is there any way to solve this?
>
> As with most of the previous questions, it would help quite
> a bit to see a short snippet of code illustrating the
> problem, what the error logs say, if anything, and the
> relevant part of your httpd.conf.
>

So, I have pasted them above. Hope they will be helpful.
Thanks.

> -- 
> best regards,
> randy kobes
>
> -- 
> Reporting bugs: http://perl.apache.org/bugs/
> Mail list info: http://perl.apache.org/maillist/modperl.html
>
>




-- 
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html

Reply via email to