Люди помогите ,как заставить работать скрипты питона? По шагам если можно.
Вид для печати
Люди помогите ,как заставить работать скрипты питона? По шагам если можно.
Поставили Вэб сервер
Поставили Питон
Положили скрипты в папку CGI-BIN сервера.
всё.
выдаёт такую ошибку:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, localhost@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
что за сервер?
и вообще подробнее плс :)
какой скрипт, запущен SQL сервер? и тп...
Всё работает под Apache 2.0.47 . SQL серверы запущены (FireBird и MySQL, если интерестно:) )(в списке сервисов они видны), далее питон установлен (+2 дополнения этих модули Egenix-mx и KinterbasDB), скрипты все не работают (даже для перла, тоже самое выводит)...вот собственно и всё:)
2 VGV:
Посмотрел что там во вкладке Data.
Во всех полях красными буквами: <null>
То же самое и в остальных таблицах. Кроме PLANES, RANG, SQUAD, AWARDS. Т.е. кроме тех, что уже были заполнены.
Как узнать, соединяется ли Демон с базой вообще? Он в любом случае посылает sql-серверу команды. Даже если в конфиге указать неверный пароль к базе, сообщения об этом в консоли Демона не наблюдается.
Захожу на сервер, выбираю самолет, разбиваюсь. Смотрю в консоль Демона - там вроде как промелькали команды добавления записи в базу. Смотрю в IB-Expert - в таблице ID_PLAYERS как было <null> во всех полях, так и осталось.
Вот такой конфиг у Демона:
ip = 172.19.7.65
path = c:\Il2FBServer\il2server.exe
password = 12345
sql username = (логин)
sql password = (пароль)
sql type = firebird
sql database = fbdstats.gdb
dmg app=C:\fbmission\FBMission.exe
dmg folder=fbm
А вот это что нибудь значит? Я полагаю, что красный шрифт - он всегда не с проста :)
Надо, надо. Собственно, сейчас запущен последний набор карт и fbmission, которые в данный момент работает на Геннадиче-0 (как я полагаю :) )Цитата:
Originally posted by VGV
так тебе карты и всё такое прочее не надо, только личный стат? можно отрезать лишнее...
я даже растерялся :)...незнаю, раз даже перл...Цитата:
Originally posted by Driver
Всё работает под Apache 2.0.47 . SQL серверы запущены (FireBird и MySQL, если интерестно:) )(в списке сервисов они видны), далее питон установлен (+2 дополнения этих модули Egenix-mx и KinterbasDB), скрипты все не работают (даже для перла, тоже самое выводит)...вот собственно и всё:)
в любом случае Апач(если чисто для наших Статовых нужд) штука слишком мощная, попробуй Small HTTP.
Biotech, давай разбираться почему Демон ничего не пишет в базу...в настройках путь к базе прописан верно?
Главное, я несколько дней назад сталкивался со всеми этими ошибками когда настраивал этот же софт для наших серверов (вот страничка стата если кому то интересно http://fps.squad.ru:8080/cgi-bin/online.py). Теперь жалею, что не записывал все проблемы с которыми столкнулся и то, как я их преодолел. Попробую вспомнить основные.Цитата:
Originally posted by Driver
выдаёт такую ошибку:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, localhost@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
1. Сначала Firebird. McFris уже писал выше, что для работы с базой под Винами нужно прописывать юзера SYSDBA и пароль masterkey (это вместо того User и пароля 123, которые прописаны в конфигурационных файлах fbdaemon.ini и online.ini). После того как разберётесь с IBExpert обязательно поменяйте в целях безопасности пароль юзера SYSDBA на свой и пропишите это в конфигфайлах.
2. В Контрольной панели Windows после инсталяции Firebird 1.5 должна появится иконка "Firebird 1.5 Server Manager". Запустите менеджер и убедитесь, что сервер Firebird запущен. Один раз после рестарта Виндоус он у меня почему-то сам не запустился.
3. Не забудьте переименовать базу new.gdb из инсталяционного пакета от McFris, например, в fbstats. gdb и зарегистрировать её в IBExpert. При регистрации базы заполняются следующие поля:
1.Сервер - локальный (если он у вас локальный);
2.Версия сервера - Firebird1.5;
3.Файл базы данных - с:\fbstats\fbstats.gdb (например);
4.Пользователь - SYSDBA
5.Пароль - masterkey (или другой если вы уже успели его сменить).
6.Кодировка - WIN1251.
Другие поля можно не заполнять. Если всё было указано правильно, то после регистрации можна в левом окне IBExpert двойным щелчком на названии базы открыть её.
3. ВЭБ сервер. Вот тут пожалуй самое сложное, если вы решите использовать Апаче. Софт для статистики подразумевает, что скрипты Питона и файлы html лежат в одной папке. А в Апаче по умолчанию этого делать нельзя. Если вы весь этот комплект попробуете запустить в папке cgi-bin, то при генерации html странички вывалится ошибка сервера, типа "Internal Server Error, ошибка 500", а в логе ошибок Апаче напишет типа "этот файл не является запускаемым".
Вообще, грамотно сделать так: если скрипт создает какие-либо html'и, то в нем должен быть явно прописан путь к директории, где они должны лежать и эта директория должна быть вне cgi-bin, в htdocs, лучше всего. Скорее всего в скрипте есть переменная, где этот путь указывается. Надо поправить его на что-нить отличное от "./"
A если уж совсем хочется держать скрипты и хтмл в одном месте, то лучше в htdocs, при этом в конфиге апача на директорию htdocs надо прописать Options ExecCGI. Хотя, как правило, так делать не советуется.
Поэтому для запуска всего этого пакета я советую установить Small HTTP, ссылку на который даёт McFris. Я сам удивился - весит он 93 Kb (там есть русская версия), очень элементарен в инсталляции и использовании, позволяет запустить и скрипты и html доки в одном каталоге. Именно его, в конце-концов, я и запустил под статистику, а переконфигурирование Апаче пока отложил.
4. Была ещё одна неожиданность с которой я столкнулся. В начале скриптов на Питоне есть строчка
#!/usr/bin/python
Вроде она используется только под Linux и Unix, а для Винды не важна (так мне сказал McFris :) ), но скрипт у меня не запустился, пока я в ней не указал явно путь на интерпретатор Питона, в моём случае
#!c:\Python23\python
Так что советую это строчку поменять тоже.
5. Да, на всякий случай. В файле fbdaemon.ini указан путь:
dmg app=D:\IL2\Server FB_0_1.1\FBMission\fbmission.py
На самом деле там лежит не fbmission.py, а fbmission.exe. Поэтому и в пути нужно исправить название файла на fbmission.exe.
Это основное, что я вспомнил по быстрому.
Алилуйя!
Не понял, что я сделал, но стат заработал :D
Просто в ИБ-Експерте базу разрегистрировал и зарегистрировал заново, как описал Botik.
Слава Ботику! :)
А звание рядовой (флигер) должно присуждаться сразу при регистрации ника в базе или после набора n-ного (но меньше 150) кол-ва очков? Сейчас у всех наблюдается None, хотя напранные очки у пилотов имеются - от -14 до 29.
там есть спец функция, называетсяЦитата:
Originally posted by Biotech
А звание рядовой (флигер) должно присуждаться сразу при регистрации ника в базе или после набора n-ного (но меньше 150) кол-ва очков? Сейчас у всех наблюдается None, хотя напранные очки у пилотов имеются - от -14 до 29.
PILOT_RANG
запусти её в эксперте(зелёный треугольник) и подтверди сохранение(красненькая гулька) и будут звания.
а вот это что за ошибка:
Traceback (most recent call last): File "C:\shttps\www\cgi-bin\online.py", line 651, in ? UserOnline() File "C:\shttps\www\cgi-bin\online.py", line 451, in UserOnline w_i=open(path_wi+'war.ini','rt') IOError: [Errno 2] No such file or directory: 'E:\\FBMission1\\fbmission.exe\\war.ini'
Отлично. Спасибо!
Вот я там еще видел таблицу AWARDS. Дабы эти аварды присуждались, нужно что-то специально подкрутить, или оно само?
Я не поиму почему вотэто пишет :
No such file or directory: 'E:\\FBMission1\\fbmission.exe\\war.ini'
и ешё вот это :
Traceback (most recent call last):
File "C:\shttps\www\cgi-bin\online.py", line 617, in ?
sini=ini_file('online.ini')
File "C:\shttps\www\cgi-bin\online.py", line 12, in __init__
self.parse_file()
File "C:\shttps\www\cgi-bin\online.py", line 14, in parse_file
file_obj = open(self.location, 'r')
IOError: [Errno 2] No such file or directory: 'online.ini'
C:\Documents and Settings\Driver>
путь в папку куда установлен fbmission прописан неверно, E:\FBMission1\ должен быть видимо...
Biotech, это пока не реализовано, но ты можешь выдавать медали руками :)
в таблицу PILOT_AWARD написать ид пилота(№ лётной книжки), номер медали из таблицы АВАРД и в примичание за что она выдана.
и будет примерно так:
http://213.145.47.150/cgi-bin/online...tat&pilotid=35
после исправления стало так
Traceback (most recent call last): File "C:\shttps\www\cgi-bin\online.py", line 651, in ? UserOnline() File "C:\shttps\www\cgi-bin\online.py", line 497, in UserOnline http = http+'
это значит что демон не записал что началась мисиия. посмотри, в таблицах ID_PILOTS есть хоть одна запись?
id_pilots или id_players ?
и ешё вопрос где это смотреть ?
ID_PLAYERS, ошибся...
смотреть нажав на вкладку ДАТА.
а что там должно быть написанно
там желательно увидеть хоть несколько пилотов. или в таблице MISSION хотябы одну миссию.