[CGI] Basic newbie error or server configuration error?

Discussion in 'Python' started by Gilles, Aug 20, 2012.

  1. Gilles

    Gilles Guest

    Hello

    Apache fails running this basic CGI script that I found on the Net:

    www.acme.com/cgi-bin/test.py?name=myname
    ===========
    #!/usr/bin/env python

    # Import modules for CGI handling
    import cgi, cgitb

    cgitb.enable()

    # Create instance of FieldStorage
    form = cgi.FieldStorage()

    # Get data from field 'name'
    #name = form['name'].value
    name = form.getvalue('name')
    ===========

    This is what I get:
    ===========
    "Internal Server Error

    The server encountered an internal error or misconfiguration and was
    unable to complete your request.

    Additionally, a 404 Not Found error was encountered while trying to
    use an ErrorDocument to handle the request."
    ===========

    FWIW, the script lives in www/cgi-bin/ where it should, was chmoded to
    755, and I put the following .htaccess file:
    ===========
    Options +ExecCGI
    AddHandler cgi-script .py
    ===========

    I'm not sure where to look for an error. Could it be some non-printed,
    bad characters that prevent Python from compiling the source code?

    Thanks for any help.
     
    Gilles, Aug 20, 2012
    #1
    1. Advertising

  2. Gilles

    Gilles Guest

    Found it: The script MUST return something to the browser. I was
    missing this:

    ========
    print "Content-Type: text/html;charset=utf-8"
    print

    # print a document
    print "Name is %s" % ( cgi.escape(name), )
    ========

    Sorry about that.
     
    Gilles, Aug 20, 2012
    #2
    1. Advertising

  3. Gilles

    Rod Person Guest

    On Mon, 20 Aug 2012 13:41:20 +0200
    Gilles <> wrote:

    > Hello
    >
    > Apache fails running this basic CGI script that I found on the Net:
    >
    > www.acme.com/cgi-bin/test.py?name=myname
    > ===========
    > #!/usr/bin/env python
    >
    > # Import modules for CGI handling
    > import cgi, cgitb
    >
    > cgitb.enable()
    >
    > # Create instance of FieldStorage
    > form = cgi.FieldStorage()
    >
    > # Get data from field 'name'
    > #name = form['name'].value
    > name = form.getvalue('name')
    > ===========
    >
    > This is what I get:
    > ===========
    > "Internal Server Error
    >
    > The server encountered an internal error or misconfiguration and was
    > unable to complete your request.
    >
    > Additionally, a 404 Not Found error was encountered while trying to
    > use an ErrorDocument to handle the request."
    > ===========
    >
    > FWIW, the script lives in www/cgi-bin/ where it should, was chmoded to
    > 755, and I put the following .htaccess file:
    > ===========
    > Options +ExecCGI
    > AddHandler cgi-script .py
    > ===========
    >
    > I'm not sure where to look for an error. Could it be some non-printed,
    > bad characters that prevent Python from compiling the source code?
    >
    > Thanks for any help.



    Check the Apache error log, there should be more information there.

    --

    Rod Person http://www.rodperson.com


    Sent From Claws Mail 3.8.0cvs30 Win7 x86 GTK+ 2.16.6/GLib 2.24.0
     
    Rod Person, Aug 20, 2012
    #3
  4. Gilles

    Gilles Guest

    On Mon, 20 Aug 2012 07:59:39 -0400, Rod Person
    <> wrote:
    >Check the Apache error log, there should be more information there.


    It's a shared account, so I only have access to what's in cPanel,
    which didn't display anything. Problem solved.

    Thank you.
     
    Gilles, Aug 20, 2012
    #4
  5. Gilles

    Hans Mulder Guest

    On 20/08/12 15:50:43, Gilles wrote:
    > On Mon, 20 Aug 2012 07:59:39 -0400, Rod Person
    > <> wrote:
    >> Check the Apache error log, there should be more information there.

    >
    > It's a shared account, so I only have access to what's in cPanel,
    > which didn't display anything.


    Most such panels have a button to show the error log for your own site.

    If you can't find it, ask the help desk of the web hosting company.

    If there really is no way for you to see the error log, ask the help
    desk to mail you the error message.

    -- HansM
     
    Hans Mulder, Aug 20, 2012
    #5
  6. Gilles

    Gilles Guest

    On Mon, 20 Aug 2012 16:56:14 +0200, Hans Mulder <>
    wrote:
    >Most such panels have a button to show the error log for your own site.
    >
    >If you can't find it, ask the help desk of the web hosting company.
    >
    >If there really is no way for you to see the error log, ask the help
    >desk to mail you the error message.


    Thanks. the cPanel at my provider only has a Logs > Error Log icon,
    but the error I was having didn't result in anything in the log file.

    I'll set up a Linux host at home and test Python scripts before
    uploading them to my ISP.

    Thank you.
     
    Gilles, Aug 20, 2012
    #6
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Mark
    Replies:
    0
    Views:
    844
  2. Ali
    Replies:
    8
    Views:
    863
    Peter Hansen
    Dec 20, 2004
  3. Ken Fine

    basic DNS configuration question

    Ken Fine, Feb 12, 2004, in forum: ASP General
    Replies:
    2
    Views:
    195
    Ryan N.
    Feb 12, 2004
  4. Stefan Fischer
    Replies:
    2
    Views:
    312
    Stefan Fischer
    Feb 23, 2010
  5. kath
    Replies:
    4
    Views:
    700
    J. Gleixner
    Apr 9, 2007
Loading...

Share This Page