View Full Version : белая страница в админке форума.
При апгрэйте форума с 2.0.15 до 2.0.16 возникла проблема, не отображалась админка форума, просто белый лист. Перелопатив несколько форумов где то нашел решение, что проблема в файле pagestart.php который лежит в папке /modules/Forums/admin Я заменил его на какую то старую версию и все заработало. Позже я обновлял форум на 2.0.17 и вроде все было в порядке, но тут на днях один из админов мне сообщает, что в админку форума может зайти любой человек. Я проверил, точно, админка открыта полностью. Проблема с файлом pagestart.php Если залить этот файл с версии 2.0.16 то вместо админки белая страница, если заменить его на более старый вариант, а именно тот, что шел в комплекте с Nuke 7.5, то тогда в админку форума нельзя вообще попасть, пишет
You are not authorised to administer this board
или же третий вариант, использовать этот файл с самых первых версий нюки, тогда доступ открыт всем.
Кто поможет? Может быть кто то знает решение этой проблемы? Заранее благодарю.
mihas как обновляли в ручную?
включите вывод ошибок на экран
обновляю только в ручную, потому как модов много. а как, извиняюсь, включить вывод ошибок на экран. я к сожалению не большой спец в Php.
mihas поиск... http://forum.mynuke.ru/showthread.php?p=2960#post2960
Докладываю, включить вывод ошибок на экран не удалось, потому как нужной строки не нашел ни в mainfile.php ни в config.php. Попробовал просто добавить разрешение на вывод ошибок, это ни к чему не привело. Все осталось как и было.
mihas включение ошибок осуществляется добавление в конфиг файл сл-ей строки:
error_reporting (E_ALL ^ E_NOTICE);
Возможно у вас стоит запрет вывода ошибок в файле .htaccess, например присутствие, таких строк:
php_flag display_errors off
php_value error_reporting 0
на данный момент у вас стот форум какой версии? копирование файлов из старых версий форума это неправильно, и еще больше вас запутает!
такс, получилось. у меня действительно стоял запрет на вывод ошибок. версия форума у меня 2.0.17.
теперь при заходе в админпанель вместо белой страницы получаю следующее
Warning: main(db/mysql.php) [function.main]: failed to open stream: No such file or directory in /home/mihasnet/public_html/db/db.php on line 53
Warning: main() [function.include]: Failed opening 'db/mysql.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/mihasnet/public_html/db/db.php on line 53
Fatal error: Class 'sql_db' not found in /home/mihasnet/public_html/db/db.php on line 86
А вот сам файл db.php
global $forum_admin;
if ($forum_admin == 1) {
$the_include = "../../../db";
} elseif ($inside_mod == 1) {
$the_include = "../../db";
} else {
$the_include = "db";
}
switch($dbtype) {
case 'MySQL':
include("".$the_include."/mysql.php");
break;
case 'mysql4':
include("".$the_include."/mysql4.php");
break;
case 'postgres':
include("".$the_include."/postgres7.php");
break;
case 'mssql':
include("".$the_include."/mssql.php");
break;
case 'oracle':
include("".$the_include."/oracle.php");
break;
case 'msaccess':
include("".$the_include."/msaccess.php");
break;
case 'mssql-odbc':
include("".$the_include."/mssql-odbc.php");
break;
case 'db2':
include("".$the_include."/db2.php");
break;
}
$db = new sql_db($dbhost, $dbuname, $dbpass, $dbname, false);
if(!$db->db_connect_id) {
die("<br><br><center><img src=images/logo.gif><br><br><b>There seems to be a problem with the MySQL server, sorry for the inconvenience.<br><br>We should be back shortly.</center></b>");
}
53 строка
include("".$the_include."/mysql.php");
86 строка
$db = new sql_db($dbhost, $dbuname, $dbpass, $dbname, false);
mihas а патчи у вас стоят какие либо ? попробуйте в файле db.php
в замен
$forum_admin == 1
написать:
defined('FORUM_ADMIN')
Попробовал, ошибок стало раз в 10 больше. Патчи никакие не ставил, только моды. Хотя исправления в версию 2.0.17 вносил, когда обнаружили дыры с bbcode и вставкой удаленной аватары. Но это по моему к моей проблеме отношения не имеет.
Мне кажется, что нужно внести изменения в файл pagestart.php, но вот какие. Там какие то проблемы с определением админских прав. Если поставить последюю версию этого файла, то получается белая страница, если предыдущую, то все время запрещен доступ а если самую первую, то доступ открыт для всех.
mihas
а какого рода ошибки пошли?
заменить modules/Forums/admin/pagestart.php
из BBtoNuke2.0.17 и посмотрите что будет.
в основном в common.php и еще много разных, там на 2 страницы. Я ставил pagestart.php с BBtoNuke2.0.17 точно так же пустая страница. Придется видно ставить старый вариант и закрывать админку по .htaccess
mihas может легче поставить BBtoNuke2.0.17 и проделать моды заново.
:lol: э не, только не это. Один только мод Yellow card меня чуть в могилу не вогнал. Лучше я уж чего нибудь выкручивать буду, чем все наново ставить.
Тем более, что скорее всего эта беда произошла после upgrade с 2.0.15 на 2.0.16 просто я внимания раньше на это не обратил.
mihas ну проделайте обновления заново, если есть резервная копия, до апгрейда:jump:
в том то и дело, что нету, хоть бери да откатывай по шагам назад.
Фуф, ну в общем ничего не получилось, чего я уже только не делал. Другого много напортил, ели восстановил.
Soniks у меня последний вопрос. Я не спец в PHP, поэтому сам незнаю как сделать. Как добавить в файл проверку пользователь или админ, если админ - пустить, пользователь - нет.
Вот в файле pagestart.php есть такие строки
global $admin;
$admin = base64_decode($admin);
$admin = explode(":", $admin);
$aid = "$admin[0]";
$sql = "SELECT radminforum, radminsuper FROM ".$prefix."_authors WHERE aid='$aid'";
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
if (!is_admin($admin) AND ($row[radminsuper] != 1 OR $row[radminforum] != 1)) {
message_die(GENERAL_MESSAGE, "You are not authorised to administer this board");
}
При таком состоянии дел в админку не впускает никого, если эти строки убрать вообще, то пускает всех. Т.е. я так понял, здесь идет проверка прав доступа, но с ошибкой. Нельзя как то отредактировать эти строки, чтобы корректно админ определялся? У меня нюка 7,5
возмите файл modules/Forums/admin/pagestart.php из нашего пака (http://mynuke.ru/modules.php?name=Downloads&op=getit&lid=30) и замените.
он сто пудово рабочий!
заменил. наша песня хороша, начинай сначала. чистая страница вместо админки и теже ошибки.
mihas так не будем мучатся, а то это я чувствую на долго, собирай все файлы форума, в том числе и из папке includes, пакуй и шли на мыло webmaster[at]mynuke[dot]ru
кроме админки проблем надеюсь нет :)
Soniks отправил, заранее благодарю.
mihas файлы отослал, смотри...
файл common.php был от форума phpbb, а не bbtonuke, так же pagestart.php содержал не весь код.
файлы от версии 2.0.17.
Soniks спасибо. Ты будешь смеяться, но все осталось по прежнему, белая страница. Включил вывод ошибок на экран, ошибки тоже остались прежние. Я вот это думаю, как это файл common.php от форума ко мне попал, никак не могу вспомнить. Раз один файл попал, может еще есть парочку и в этом проблема?
mihas использовал ваши присланые файлы, все работало нормально!
может вы их не заменили или перепутали...
да нет, я конечно может быть в некоторых вещах и не соображаю, но не настолько. тут я все правильно сделал. ошибки быть не может. раз у тебя все работало, то это наводит меня на мысль, что причина где то вне форума, может быть такое?
De_Adarius
12.06.2007, 21:13
точно такая же проблема при обновлении с 2.0.7 на 2.0.8.
зы нет ли способа установить сразу 2.0.22?
ззы нюка 8.0
De_Adarius в 8 версии как минимум стоит 2.0.21 версия, в некоторых 2.0.22 уже
De_Adarius
12.06.2007, 23:38
о_о но у меня в админке ясно написано, 2.0.7 !!!
это осталось от версии швблона, не обращайте внимания
De_Adarius
13.06.2007, 13:26
это осталось от версии швблона, не обращайте внимания
De_Adarius в 8 версии как минимум стоит 2.0.21 версия, в некоторых 2.0.22 уже
В таком случае, как мне узнать, какая именно версия, 2.0.21 или 2.0.22?
MyNuke.ru