Добрый день! Небольшое предисловие. Уважаемые заранее извиняюсь за кажущуюся наглость вопроса, но сам факт существования раздела на форуме "Сделайте за меня" дает надежду быть понятым. Давным-давно в 2002 году перестала обновляться и разрабатываться проект формирования статистики игроков Quake 3 под названием voodoostats. Она хорошая - работает с базой данных MySQL, формирует HTML страницы статистики а также пользует PHP для отображения статистики отдельных игроков и ряда других задач. Казалось бы зачем она нужна в 2017 году? Но так получилось я запилил со своими друзьями сервер-междусобойчик как раз третьего Квейка с модом OSP и статистики игроков понаблюдать было бы весьма забавно. Я утащил с гитхаба проект fragistics и успешно его настроил, но вот проблема - он не читает расширенные логи OSP в частности процент попаданий (accuracy). A вот vodoostats считает, но не работает должным образом. Я проичтал readme, произвел первоначальную настрйку, Оно работает. HTML файлы генерируются читаются апачем. но при попытке открыть статистику по любому из игроков он вываливает ошибку - Config file not specified, хотя конфиг прописан как надо - видно даже из адресной строки. Сразу скажу я даже не начинающий PHP программист - просто немного продвинутый UNIX-юзер. Но мне кажется что это конфликт версий PHP - voodoostats то писались в древности. Было бы здорово воскресить этого франкенштейна. Буду признателен за помощь, если она вообще возможна в данной ситуации. Вот сырцы этого добра, а вот мой настроенный архив целиком.
Не, бро, спешу тебя огорчить, но делать для 2-3 нонеймов пиписькомерку, тратя на это кучу человекочасов, кто-то вряд ли возьмется. Ты бы взялся?
Зависит от объема этих человекочасов которые требуются. Я вообще альтруист-копуша так что я не ориентир, мог бы сам сделать - сделал бы. Я просто не могу оценить масштаб жопы. Если там работы как заново с нуля сделать - то конечно не взялся бы, а если небольшая адаптация - то почему и нет... я же поэтому так и написал - если нейелесообразно - то удаляюсь с извинениями.
Я бы посоветовал включить вывод ошибок и поглядеть, в чем дело. Если php-ругани не будет, а только системная ошибка про конфиг - имхо, можно и своими силами расковырять, что там к чему.
А на какой версии php запускаешь? PHP 5.0 вышел только в 2004 году, а разработку vodoostats прекратили в 2002 году. Вероятно там всё полагается на register_globals on
прошу прощения - я чудило, там 7.0.14-2 стоитне было под рукой компьютера и написал от балды. включил вывод ошибок - показывает тольк про конфиг файл, то что прописано по сути в самом начале playerstat.php Код (Text): if (!isset($config)) die("Config file not specified"); пойду почитаю про register_globals on
Да, тогда ошибка не должна быть прям сложная. Я бы посоветовал подцепить дебаггер и поглядеть, как этот конфиг цепляется. Можно будет очень быстро найти, где там что сломалось.
Я методом научного тыка начал разбираться. в самом playerstat.php вручную прописал переменную конфига, и получил загруженную страницу статистики игрока с нулями в значениях и руганью на невозможность доступа к MySQL базе. Почитал матчасть и узрел что переменные типа mysql_ заменены на переменные типа mysqli_ у которых еще и иная логика порядка обработки ввода. привел в соответствие и доступ до базы пошел, но я по прежнему не могу передавать переменные в playerstat.php через адресную строку, а поскольку ссылки на главной странице генерятся по типу "voodoostats/playerstat.php?$raw_name=playername" то не передав аргумент raw_name скрипт не отрабатывает. Если прописать вручную прямо в файл то все работает, но это не конфиг, который один для всех, поэтому это не решение. Начал читать про $argv. пока ничего не понял. UPD: боже мой, ..... GET_ как все оказывается логично и просто....
Это не переменные типа mysql_. И они не заменены. Это был такой адаптер - mysql_, он устарел, скурвился и нонче выпилен из PHP. На смену ему уже лет 5 как пришел, mysqli_. Переписать код с одного расширения на другое не сложно. --- Добавлено --- А потому, что они, небось, в коде подхватываются из register_globals, которого нет, или из HTTP_REQUEST, которого нет. Это гет-параметры. Их надо цеплять из массива $_GET.