Начал изучение пайтона и дошел до создания веб страниц. Есть пайтоновский скрипт, запускающий веб-сервер, хтмл страница, передающая переменную на другой пайтоновский скрипт “привет %username%”
Скрипты были написаны на виндовой машине с использование нп++ и пайтона 3.4.1 и на ней отработали без проблем.
Перенес скрипты на сервер с центос 6.5 (пайтон по-умолчанию 2.6.6) - там этот скрипт работать отказался (в пайтон 3 немного изменены модули http.server)
Поставил через сырцы пайтон 3, но нарываюсь на вот такую ошибку:
192.168.1.19 - - [10/Jul/2014 19:15:58] "GET /cgi-bin/cgi101.py HTTP/1.1" 200 - Traceback (most recent call last): File "/usr/local/lib/python3.4/http/server.py", line 1143, in run_cgi os.execve(scriptfile, args, env) OSError: [Errno 8] Exec format error: '/home/snake/python_scripts/web2/cgi-bin/cgi101.py' 192.168.1.19 - - [10/Jul/2014 19:15:58] CGI script exit status 0x7f00
Скрипт веб сервера:
import os, sys from http.server import HTTPServer, CGIHTTPRequestHandler webdir = '.' port = 8080 os.chdir(webdir) srvaddr = ("", port) srvrobj = HTTPServer(srvaddr, CGIHTTPRequestHandler) srvrobj.serve_forever()
хтмл
<html> <title> Interactive Page </title> <body> <form method=POST action="cgi-bin/cgi101.py"> <P><B>Enter your name:</B> <P><input type=text name=user> <P><input type=submit> </form> </body></html>
скрипт “привет”
import cgi form = cgi.FieldStorage() print('Content-type: text/html\n') print('<title>Reply Page</title>') if not 'user' in form: print('<h1>Who are you?</h1>') else: print('<h1>Hello <i>%s</i>!</h1>' % cgi.escape(form['user'].value))
права на последний скрипт стоят 777, на вебсервер и хтмл права на чтение (всем всем)
Что делать, как быть и куда копать?