Как вылечить Cannot redeclare class emailer???

Проблемы с установкой или работой phpBB 2.0.x? Ищите ответы здесь!
Аватара пользователя
GoodBoy
phpBB 1.0.0
Сообщения: 7
Стаж: 19 лет 11 месяцев
Откуда: Маскау

Как вылечить Cannot redeclare class emailer???

Сообщение GoodBoy »

Пришлось по воле начальства немного модифицировать модуль usercp_register.php. Теперь при регистрации пользователя, когда он отсылает данные (логин, пароль и т.д.) вываливается пустой экран, а в лог пишется:

[Wed May 18 17:24:36 2005] [error] PHP Fatal error: Cannot redeclare class emailer in /www/forum/includes/emailer.php on line 28

При этом пользователь в базе заводится, но письмо для подтверждения регистрации ему не отсылается. Версия - phpBB 2.0.15.

Как вылечить? :(
Последний раз редактировалось GoodBoy 19.05.2005 11:11, всего редактировалось 1 раз.
Чем дальше в лес, тем толще партизаны...
Аватара пользователя
Nikel
phpBB 2.0.5
Сообщения: 496
Стаж: 20 лет
Откуда: Киев

Сообщение Nikel »

GoodBoy
А Вы не хотите выдать
GoodBoy писал(а):/www/forum/includes/emailer.php line 28
Хочешь помочь коллеге- поделись опытом, хочешь помочь профессионалу-отойди и не мешай, хочешь помочь дураку... Сам дурак
Аватара пользователя
GoodBoy
phpBB 1.0.0
Сообщения: 7
Стаж: 19 лет 11 месяцев
Откуда: Маскау

Сообщение GoodBoy »

Nikel
Если вы имеете ввиде модуль emailer.php, то он - стандартный!!! Изменений в нём никаких не было...
Чем дальше в лес, тем толще партизаны...
Аватара пользователя
Nikel
phpBB 2.0.5
Сообщения: 496
Стаж: 20 лет
Откуда: Киев

Сообщение Nikel »

GoodBoy
Хорошо
Тогда давайте
GoodBoy писал(а):usercp_register.php
С указанием строк которые вы модифицирвали
Хочешь помочь коллеге- поделись опытом, хочешь помочь профессионалу-отойди и не мешай, хочешь помочь дураку... Сам дурак
Аватара пользователя
GoodBoy
phpBB 1.0.0
Сообщения: 7
Стаж: 19 лет 11 месяцев
Откуда: Маскау

Сообщение GoodBoy »

Nikel
Фишка в том, что даже если поставить родной usercp_register.php от версии 2.0.15, то всё-равно идёт та же ошибка... Я так предполагаю, что это из-за того, что где-то второй раз получается инициализация класса emailer... Как это лечить в PHP я, к сожалению, не знаю, т.к. пишу на Perl'е... Пробовал перед созданием:

Код: Выделить всё

include($phpbb_root_path . 'includes/emailer.'.$phpEx);
$emailer = new emailer($board_config['smtp_delivery']);
делать:

Код: Выделить всё

unset($emailer);
тоже не помогает... Может я копаю не в том направлении???
Чем дальше в лес, тем толще партизаны...
Аватара пользователя
Nikel
phpBB 2.0.5
Сообщения: 496
Стаж: 20 лет
Откуда: Киев

Сообщение Nikel »

GoodBoy писал(а):что где-то второй раз получается инициализация класса emailer
С етим я согласен.
От только как понять , где ето повторно инициализируется сложно без указания с Вашей стороны что и где Вы модифицирвали.
Хочешь помочь коллеге- поделись опытом, хочешь помочь профессионалу-отойди и не мешай, хочешь помочь дураку... Сам дурак
Аватара пользователя
GoodBoy
phpBB 1.0.0
Сообщения: 7
Стаж: 19 лет 11 месяцев
Откуда: Маскау

Сообщение GoodBoy »

Всё, спасибо, вопрос закрыт!!! Дело оказалось в том, что несколько раз включался модуль emailer.php... Всё вылечилось заменой

Код: Выделить всё

include($phpbb_root_path . 'includes/emailer.'.$phpEx); 
на

Код: Выделить всё

include_once($phpbb_root_path . 'includes/emailer.'.$phpEx);
в модулях, инклюдящихся в usercp_register.php и в нём самом!!!

А РНР ругался на повторное объявление класса при включении модуля emailer.php...

:D
Чем дальше в лес, тем толще партизаны...

Вернуться в «Поддержка phpBB 2.0.x»