ФорумСообщество/dev/null → Не работают cgi скрипты python.

Не работают cgi скрипты python.

  • Ivan.

    Сообщения: 495 Репутация: N Группа: Адекваты

    Spritz 25 марта 2016 г. 9:09, спустя 50 минут 32 секунды

    @Ivan., я подумал нахуя тебе такие вопросы.

    так нахуя?)

    @phpdude, это шутка была, про php, я просто шутить не умею.

  • vanesuper

    Сообщения: 12 Репутация: N Группа: Кто попало

    Spritz 25 марта 2016 г. 9:12, спустя 3 минуты 8 секунд

    @adw0rd, не помогает

    Exception ignored in: <module 'threading' from '/usr/lib/python3.4/threading.py'>
    [Thu Mar 24 10:00:39.611191 2016] [:error] [pid 23466:tid 140658396813184] Traceback (most recent call last):
    [Thu Mar 24 10:00:39.611207 2016] [:error] [pid 23466:tid 140658396813184]   File "/usr/lib/python3.4/threading.py", line 1288, in _shutdown
    [Thu Mar 24 10:00:39.611954 2016] [:error] [pid 23467:tid 140658396813184] Exception ignored in: <module 'threading' from '/usr/lib/python3.4/threading.py'>
    [Thu Mar 24 10:00:39.611977 2016] [:error] [pid 23467:tid 140658396813184] Traceback (most recent call last):
    [Thu Mar 24 10:00:39.611994 2016] [:error] [pid 23467:tid 140658396813184]   File "/usr/lib/python3.4/threading.py", line 1288, in _shutdown
    [Thu Mar 24 10:00:39.612800 2016] [:error] [pid 23466:tid 140658396813184]     assert tlock is not None
    [Thu Mar 24 10:00:39.612820 2016] [:error] [pid 23466:tid 140658396813184] AssertionError: 
    [Thu Mar 24 10:00:39.613543 2016] [:error] [pid 23467:tid 140658396813184]     assert tlock is not None
    [Thu Mar 24 10:00:39.613563 2016] [:error] [pid 23467:tid 140658396813184] AssertionError: 
    [Thu Mar 24 10:00:39.668984 2016] [mpm_event:notice] [pid 23462:tid 140658396813184] AH00491: caught SIGTERM, shutting down
    [Thu Mar 24 10:00:40.713010 2016] [:warn] [pid 27017:tid 140430679345024] mod_wsgi: Compiled for Python/3.4.0.
    [Thu Mar 24 10:00:40.713102 2016] [:warn] [pid 27017:tid 140430679345024] mod_wsgi: Runtime using Python/3.4.3.
    [Thu Mar 24 10:00:40.713764 2016] [mpm_event:notice] [pid 27017:tid 140430679345024] AH00489: Apache/2.4.7 (Ubuntu) mod_wsgi/3.4 Python/3.4.3 configured -- resuming normal operations
    [Thu Mar 24 10:00:40.713797 2016] [core:notice] [pid 27017:tid 140430679345024] AH00094: Command line: '/usr/sbin/apache2'
    [Thu Mar 24 10:00:47.701664 2016] [cgid:error] [pid 27081:tid 140430679345024] (8)Exec format error: AH01241: exec of '/usr/lib/cgi-bin/test.py' failed
    [Thu Mar 24 10:00:47.702041 2016] [cgid:error] [pid 27022:tid 140430557787904] [client 141.0.12.131:35322] End of script output before headers: test.py, referer: http://82.146.44.183/test.html
    [Thu Mar 24 10:00:51.216380 2016] [cgid:error] [pid 27082:tid 140430679345024] (8)Exec format error: AH01241: exec of '/usr/lib/cgi-bin/test.py' failed
    [Thu Mar 24 10:00:51.216781 2016] [cgid:error] [pid 27021:tid 140430557787904] [client 141.0.12.131:37494] End of script output before headers: test.py, referer: http://82.146.44.183/test.html
    [Thu Mar 24 10:08:15.964466 2016] [cgid:error] [pid 27127:tid 140430679345024] (8)Exec format error: AH01241: exec of '/usr/lib/cgi-bin/test.py' failed
    [Thu Mar 24 10:08:15.964828 2016] [cgid:error] [pid 27022:tid 140430547289856] [client 141.0.12.131:60605] End of script output before headers: test.py, referer: http://82.146.44.183/test.html
    [Thu Mar 24 20:11:06.174843 2016] [cgid:error] [pid 27022:tid 140430297462528] [client 89.248.160.226:35848] AH01264: script not found or unable to stat: /usr/lib/cgi-bin/php
    [Fri Mar 25 02:00:22.173375 2016] [cgid:error] [pid 30410:tid 140430679345024] (8)Exec format error: AH01241: exec of '/usr/lib/cgi-bin/test.py' failed
    [Fri Mar 25 02:00:22.173834 2016] [cgid:error] [pid 27021:tid 140430444320512] [client 91.192.22.214:51799] End of script output before headers: test.py
    
  • Sinkler

    Сообщения: 7958 Репутация: N Группа: в ухо

    Spritz 25 марта 2016 г. 11:34, спустя 2 часа 22 минуты 14 секунд

    и вряд ли поможет

  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 25 марта 2016 г. 12:12, спустя 37 минут 21 секунду

    @vanesuper, в ошибке же все написано

    Сапожник без сапог
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 25 марта 2016 г. 12:35, спустя 23 минуты 32 секунды

    @vanesuper, Perl/CGI script with Apache2 [ru.perlmaven.com]

    Ошибка 500 Internal Server Error
    Если вы получили сообщение 500 Internal Server Error, посмотрите лог сервера /var/log/apache2/error.log

    
      [Wed Mar 19 15:19:15.740781 2014] [cgid:error] [pid 3493:tid 139896478103424] (8)Exec format error: AH01241: exec of '/var/cgi-bin/echo.pl' failed
      [Wed Mar 19 15:19:15.741057 2014] [cgid:error] [pid 3413:tid 139896186423040] [client 192.120.120.120:62309] End of script output before headers: echo.pl

    Это может произойти, если скрипт не начинается с sh-bang, либо не указывает на корректное размещение установленного Perl. Первая строка должна быть такая:

    #!/usr/bin/perl

    Спустя 114 сек.

    @vanesuper, я вас попросил выполнить команды в предыдущем посте, вы это сделали? Покажите вывод команд

    Спустя 108 сек.

    @vanesuper, и еще, апачем уже никто почти не пользуется, это тупиковый путь развития вас как разработчика веб-приложений
    cgi тоже не используется уже и я не понимаю как вы свой cgi запускаете через mod_wsgi апача
    Почитайте Django. Запуск проекта в связке uWSGI и Nginx / Мастерская интернет-разработчика [adw0rd.com] и FreeBSD. Установка и настройка supervisor / Мастерская интернет-разработчика [adw0rd.com]

    Сейчас популярность имеют в python-webdev: uWSGI/gunicorn, Supervisor, Nginx, Django/Flask, PostgreSQL/MongoDB/MySQL
    Почитайте про эти технологии чтобы создать эффективное приложение

    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • vanesuper

    Сообщения: 12 Репутация: N Группа: Кто попало

    Spritz 27 марта 2016 г. 12:01, спустя 1 день 23 часа 25 минут

    @adw0rd, Залил на другой сервер(тест [vanesuper.temp.swtest.ru]).Теперь проблема уже в кодировке utf-8.Без кириллицы всё работает, а с кириллицей нет.

    tegi.py

    
    #!/usr/bin/python3.4
    # -*- coding: utf-8 -*-
    import cgi
    import html
    import http.cookies
    import os
    import cgitb; cgitb.enable()
    
    
    
    
    teg=("Content-Type: text/html\n\n")
    html1=(u"""<!DOCTYPE HTML>
    <html>
    <head>
    <title>Тест.Алгебра,7 класс.Повторение.</title>
    <link rel="stylesheet" type="text/css" href="http://82.146.44.183/style.css" media="all" />
    </head>
    <body>
    <table width=100% align="justify" align="justify">
    <tr align="justify" align="justify">
    <th align="justify" id="sag"><h1 align="center">Пифагор</h1></th>
    </tr>
    </table>
    <table width=100% height=100%>
    <tr>
    <td width=20% align="center" id="menu">
    <div id="m">
    <a class="a" href="http://82.146.44.183/index.html">Главная</a><br>
    <a href="http://82.146.44.183/test-math.html">Тесты по Математике</a><br>
    <a href="http://82.146.44.183/test-alge.html">Тесты по Алгебре</a><br>
    <a href="http://82.146.44.183/test-geom.html">Тесты по Геометрии</a>
    </div>
    </td>
    <td width=60% id="content">""")
    html2=(u"""</td>
    <td width=20% id="menu">
    </td>
    </tr>
    </table>
    </body>
    </html>""")
    otsiv=(u"""<H1 align="center">Спасибо за отзыв.</h1><br>
    <a href="/">На главную страницу</A><br>""")
    

    form.py

    
    #!/usr/bin/python3.4
    # -*- coding: utf-8 -*-
    import cgi
    import html
    import http.cookies
    import os
    import cgitb; cgitb.enable()
    
    
    from tegi import *
    
    print(teg)
    print(html1)
    print(otsiv)
    print(html2)
    
    form = cgi.FieldStorage()
    name=form.getfirst("name","none")
    email=form.getfirst("email","none")
    predl=form.getfirst("predlog","none")
    
    f = open('otvet.txt','a')
    f.write('имя :'+name+'\n')
    f.close
    f = open('otvet.txt','a')
    f.write('email: '+email+'\n')
    f.close
    f = open('otvet.txt','a')
    f.write('отзыв:'+predl+'\n'+'\n')
    f.close
    
  • Ivan.

    Сообщения: 495 Репутация: N Группа: Адекваты

    Spritz 28 марта 2016 г. 10:21, спустя 22 часа 19 минут 24 секунды

    Лучше использовать virtualenv, и третьему питону coding utf-8 не нужен
    и f.close ничего не делает, и вообще по всей видимости проблемы с питоном

    Python [codecademy.com]

    И нафига нужны абсолютные ссылки? И вообще уже всё изобретено, зачем говно делать - Getting Started with Django [gettingstartedwithdjango.com]
    Ну или Quickstart — Flask Documentation (0.10) [flask.pocoo.org] для легких приложений.

    Выглядит словно какая-то курсовая работа студента-долбоеба, прошу прощения если кого-то обижаю.

  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 28 марта 2016 г. 11:27, спустя 1 час 6 минут 17 секунд

    @vanesuper, а где посмотреть лог ошибок?

    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • vanesuper

    Сообщения: 12 Репутация: N Группа: Кто попало

    Spritz 28 марта 2016 г. 15:22, спустя 3 часа 55 минут 20 секунд

    @adw0rd, form.py заработал нормально,а test.py не работает до сих пор.
    error.log

    
    vanesuper.temp.swtest.ru [Mon Mar 28 11:26:55 2016] [error] [client 5.18.225.34] File does not exist: /home/v/vanesuper/public_html/favicon.ico, referer: http://vanesuper.temp.swtest.ru/
    vanesuper.temp.swtest.ru [Mon Mar 28 15:03:41 2016] [error] [client 91.192.22.214] File does not exist: /home/v/vanesuper/public_html/favicon.ico, referer: http://vanesuper.temp.swtest.ru/cgi-bin/form.py?name=%D0%B8%D0%BC%D1%8F&email=%D0%B5%D0%BC%D0%B0%D0%B9%D0%BB&predlog=%D0%BF%D1%80%D0%B5%D0%B4%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5
    vanesuper.temp.swtest.ru [Mon Mar 28 15:11:57 2016] [error] [client 91.192.22.214] File does not exist: /home/v/vanesuper/public_html/favicon.ico, referer: http://vanesuper.temp.swtest.ru/
    vanesuper.temp.swtest.ru [Mon Mar 28 15:12:09 2016] [error] [client 91.192.22.214] (8)Exec format error: exec of '/home/v/vanesuper/public_html/cgi-bin/test.py' failed, referer: http://vanesuper.temp.swtest.ru/test.html
    vanesuper.temp.swtest.ru [Mon Mar 28 15:12:09 2016] [error] [client 91.192.22.214] Premature end of script headers: test.py, referer: http://vanesuper.temp.swtest.ru/test.html
    

    test.py

    
    #!/usr/bin/python3.4
    import sys
    import codecs
    sys.stdout = codecs.getwriter("utf-8")(sys.stdout.detach())
    import cgi
    import html
    import http.cookies
    import os
    import cgitb; cgitb.enable()
    from tegi import *
    
    
    form = cgi.FieldStorage()
    radio1 = int(form.getfirst("radio_1","none"))
    radio2 = int(form.getfirst("radio_2","none"))
    radio3 = int(form.getfirst("radio_3","none"))
    radio4 = int(form.getfirst("radio_4","none"))
    radio5 = int(form.getfirst("radio_5","none"))
    radio6 = int(form.getfirst("radio_6","none"))
    radio7 = int(form.getfirst("radio_7","none"))
    radio8 = int(form.getfirst("radio_8","none"))
    radio9 = int(form.getfirst("radio_9","none"))
    radio10 = int(form.getfirst("radio_10","none"))
    n=int(form.getfirst("numer","none"))
    
    
    
    if n==7:
        f=open('test7.txt')
        name=f.readline()
        r1=int(f.readline())
        r2=int(f.readline())
        r3=int(f.readline())
        r4=int(f.readline())
        r5=int(f.readline())
        r6=int(f.readline())
        r7=int(f.readline())
        r8=int(f.readline())
        r9=int(f.readline())
        r10=int(f.readline())
        f.close()
    if n==11:
        f=open('test11.txt')
        name=f.readline()
        r1=int(f.readline())
        r2=int(f.readline())
        r3=int(f.readline())
        r4=int(f.readline())
        r5=int(f.readline())
        r6=int(f.readline())
        r7=int(f.readline())
        r8=int(f.readline())
        r9=int(f.readline())
        r10=int(f.readline())
        f.close()
    
    
    
    
    print("Content-Type: text/html\n\n")
    
    print(html1)
    print("""<h1 align="center">""",name,"</h1>")
    
    
    t=int('1')
    if radio1== r1:
        print("Верно")
        print("<br>")
        t=t+1
    
    else:
        print("Неверно,",r1)
        print("<br>")
        t=int('0')
    
    if radio2== r2:
        print("Верно")
        print("<br>")
        t=t+1
    
    else:
        print("Неверно,",r2)
        print("<br>")
    
    if radio3== r3:
        print("Верно")
        print("<br>")
        t=t+1
    
    else:
        print("Неверно,",r3)
        print("<br>")
    
    if radio4== r4:
        print("Верно")
        print("<br>")
        t=t+1
    
    else:
        print("Неверно,",r4)
        print("<br>")
    
    if radio5== r5:
        print("Верно")
        print("<br>")
        t=t+1
    
    else:
        print("Неверно,",r5)
        print("<br>")
    
    if radio6== r6:
        print("Верно")
        print("<br>")
        t=t+1
    
    else:
        print("Неверно,",r6)
        print("<br>")
    
    if radio7== r7:
        print("Верно")
        print("<br>")
        t=t+1
    
    else:
        print("Неверно,",r7)
        print("<br>")
    
    if radio8== r8:
        print("Верно")
        print("<br>")
        t=t+1
    
    else:
        print("Неверно,",r8)
        print("<br>")
    
    if radio9== r9:
        print("Верно")
        print("<br>")
        t=t+1
    
    else:
        print("Неверно,",r9)
        print("<br>")
    
    if radio10== r10:
        print("Верно")
        print("<br>")
        t=t+1
    
    else:
        print("Неверно,",r10)
        print("<br>")
    #t=t+0.5
    t=int(t/2)  
    print("<h1>","Оценка:",t,"</h1>")
    print(html2)
    
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 28 марта 2016 г. 15:38, спустя 16 минут

    @vanesuper, запустите в консоли сервера

    /usr/bin/python3.4 test.py
    

    какие ошибки видите?

    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • vanesuper

    Сообщения: 12 Репутация: N Группа: Кто попало

    Spritz 28 марта 2016 г. 15:42, спустя 4 минуты 1 секунду

    @adw0rd, там нет консоли.А если и есть,то после тестового периода.

  • vanesuper

    Сообщения: 12 Репутация: N Группа: Кто попало

    Spritz 28 марта 2016 г. 15:50, спустя 8 минут 15 секунд

    @adw0rd, есть SSH-консоль, доступна после тестового периода.

  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 28 марта 2016 г. 16:10, спустя 19 минут 42 секунды

    @vanesuper, ну хотябы локально запустите. Лучше конечно в "SSH-консоли"

    Спустя 81 сек.

    @vanesuper, а вообще, как я говорил выше изучите современные технологии. Апач и cgi это далекое прошлое

    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • vanesuper

    Сообщения: 12 Репутация: N Группа: Кто попало

    Spritz 28 марта 2016 г. 16:26, спустя 15 минут 39 секунд

    @adw0rd, Всё новое-хорошо забытое старое.
    Вот локально запустил.

    
    127.0.0.1 - - [28/Mar/2016 16:24:18] "GET /test.html HTTP/1.1" 200 -
    127.0.0.1 - - [28/Mar/2016 16:24:27] "GET /cgi-bin/test.py?radio_1=1&radio_2=1&radio_3=1&radio_4=1&radio_5=1&radio_6=1&radio_7=1&radio_8=1&radio_9=1&radio_10=1&numer=7 HTTP/1.1" 200 -
    127.0.0.1 - - [28/Mar/2016 16:24:27] command: C:\Users\Admin\AppData\Local\Programs\Python\Python35\python.exe -u C:\Users\Admin\Desktop\сайт\cgi-bin\test.py
    127.0.0.1 - - [28/Mar/2016 16:24:27] CGI script exited OK
    
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 28 марта 2016 г. 16:48, спустя 21 минуту 57 секунд

    @vanesuper, ну гадать сложно что там у вас, логов ошибок вы не можете предоставить с сервера
    а с учетом того что вы пользуетесь cgi+apache, то вы один в поле воин, комьюнити то почти нет

    https://smappi.org/ - платформа по созданию API на все случаи жизни

Пожалуйста, авторизуйтесь, чтобы написать комментарий!