.cgi problem with web server

后端 未结 4 1552
粉色の甜心
粉色の甜心 2021-01-27 03:07

The code

#!/usr/bin/env python

import MySQLdb

print \"Content-Type: text/html\"
print 
print \"Books         


        
4条回答
  •  执念已碎
    2021-01-27 03:37

    Any number of issues can cause the error you are seeing:

    1. Is test.cgi executable (chmod 755) on the server?
    2. Is the directory in which you placed test.cgi designated as a ScriptAlias location or have the ExecCGI option enabled (or equivalent if you're not using Apache)?
    3. Is python in the system PATH or in the PATH in the Web server's startup environment?
    4. Is the MySQLdb Python library installed?
    5. Are the connect() parameters correct? Is MySQL running on localhost at the default port?
    6. Is the SELECT statement correct?

    If you're sure that python is found (test using the simplest possible script or by logging into the Web server if you can and typing which python) then you can get much better debug output by adding the following to the top of your script just below the shebang:

    import cgitb
    cgitb.enable()
    

    More details: http://docs.python.org/library/cgitb.html

    Additionally, if you have shell access to the Web server, try running python and just typing:

    >>> import MySQLdb
    

    If the command returns with no error, you have your answer for #4 above. If an error is printed, you will need to get MySQLdb installed into the Web server's Python installation.

    EDIT: Looking more closely at the top of your question, I see that the code was scraped from an illustrative example at the very beginning of the Django Book. As such, I might expand #5 above to include the caveat that, of course, the requisite database, tables, user, and permissions need to be set up on the MySQL installation available to the Web server.

提交回复
热议问题