in reply to Re: Re: Re: 500 Internal Server Error - Using ActiveState perl
in thread 500 Internal Server Error - Using ActiveState perl

Okay thank you,

Would installing this solve the 500 problem you think? What if I'm not running apache?

Thanks,
Anthony
  • Comment on Re: Re: Re: Re: 500 Internal Server Error - Using ActiveState perl

Replies are listed 'Best First'.
Re: Re: Re: Re: Re: 500 Internal Server Error - Using ActiveState perl
by Anonymous Monk on Jan 07, 2004 at 07:28 UTC
    Would installing this solve the 500 problem you think?
    Would drinking some water solve it? You need to read the documentation for whatever webserver you're running, and you need to read your webservers error logs. Only you can help yourself.
Re: Re: Re: Re: Re: 500 Internal Server Error - Using ActiveState perl
by Roger (Parson) on Jan 07, 2004 at 04:48 UTC
    Don't tell me you are running IIS? ;-)

Re: Re: Re: Re: Re: 500 Internal Server Error - Using ActiveState perl
by barbie (Deacon) on Jan 07, 2004 at 14:27 UTC
    Have a look at PerlIS (more commonly known as 'Perl for ISAPI', which comes as part of the default install with ActivePerl) from ActiveState. If you're using IIS then change the shebang line to:
    #!/usr/bin/perlis.dll
    If you then need to switch to Apache, without changing the shebang line, find the following line in the httpd.conf and ensure it's uncommented:
    ScriptInterpreterSource registry
    This will ensure you run the script against the Perl binary referenced in the registry and will ignore the shebang line. I use this to switch between IIS and Apache all the time.

    --
    Barbie | Birmingham Perl Mongers | http://birmingham.pm.org/

      Why do you use perlis.dll in the shebang line? The standard /usr/bin/perl makes much more sense. Wth "ScriptInterpreterSource registry", the shebang line isn't used. If you have perlis.dll for .cgi in the registry, then perlis.dll might work under Apache but there is no benefit over perl.exe. On Unix, perlis.dll doesn't exist unless you make a symlink. Using /usr/bin/perl means you CGI script can run under Apache Win32, Apache Cygwin, Apache Windows, IIS CGI, and IIS ISAPI without changes.
        IIS uses the shebang line, and thus uses PerlIS. Apache reads the httpd.conf and thus uses the registry entry and ignores the shebang line. PerlIS runs ALOT faster with IIS. If you care to follow the link I posted, you'll understand why this is. PerlIS was written by ActiveState to better integrate Perl with IIS.

        Please note the OP mention they were using Windows NOT Unix. What I suggested was applicable to their situation.

        --
        Barbie | Birmingham Perl Mongers | http://birmingham.pm.org/