Найти - Пользователи
Полная версия: Проблема с запуском скрипта на centos 6.5
Начало » Python для новичков » Проблема с запуском скрипта на centos 6.5
1
thomas
Всем привет!

Начал изучение пайтона и дошел до создания веб страниц. Есть пайтоновский скрипт, запускающий веб-сервер, хтмл страница, передающая переменную на другой пайтоновский скрипт “привет %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, на вебсервер и хтмл права на чтение (всем всем)

Что делать, как быть и куда копать?
py.user.next
thomas
Перенес скрипты на сервер с центос 6.5
Убедись, что концы строк там не \r\n, а просто \n.
thomas
2py.user.next

Убедился, просто \n . Где еще копать?
py.user.next
Попробуй этот набор.
thomas
2py.user.net

спасибо, идеально работает!
Осталось только понять, что у него в начинке
py.user.next
Добавил форму и страницу.


tags: cgi
anlima
Странно, это пример из книги Лутза не работает и у меня
 127.0.0.1 - - [13/Aug/2015 12:29:30] "POST /cgi-bin/cgi101.py HTTP/1.1" 200 -
Traceback (most recent call last):
  File "/usr/lib/python3.4/http/server.py", line 1143, in run_cgi
    os.execve(scriptfile, args, env)
PermissionError: [Errno 13] Permission denied: '/home/den/PP4E/Preview/cgi-bin/cgi101.py'
127.0.0.1 - - [13/Aug/2015 12:29:30] CGI script exit status 0x7f00
 
В чем же тогда проблема?
Chocobo
anlima, прав к файлу cgi101.py не хватает, chmod в помощь

anlima
Chocobo
anlima, прав к файлу cgi101.py не хватает, chmod в помощь

 den@anlima:~/PP4E/Preview/cgi-bin$ ls -l
итого 8
-rwxrwxrwx 1 den den  359 Авг 13 02:41 cgi101.py
-rw-rw-rw- 1 den den 3015 Янв 30  2010 peoplecgi.py
 

Какие еще нужны права?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB