Непонятные проблемы...

Среда, 28 мая 2008 г.
Рубрика: CodeIgniter -> Ход работ
Просмотров: 3997
Подписаться на комментарии по RSS

Что-то явно не так в CodeIgniter. Столкнулся с серьезной проблемой, которую так и не могу побороть. Дело в XmlRPC, хотя я думаю, что в каких-то ситуациях дело не только в этой библиотеке. Скорее всего существует ошибка при подключении разных классов в основном контролере. То есть когда я в основном контролере передаю управление во вьювер, то в этом вьювере, при условии, что должен подключиться  еще один класс (через new), начинают твориться странные вещи.

Я уже писал, что не смог перейти на 1.6.2 из-за того, что XmlRPC вдруг перестала видеть базу данных. Все попытки вручную её прописать, все равно не срабатывают - в основном контролере она есть и дальше, хоть тресни, не видно.

Сегодня столкнулся с аналогичной проблемой, только на другом хостинге. XmlRPC опять напрочь отказывается работать. И опять проблема с подключением классов. На сей раз вылезает ошибка:

Fatal error: Cannot redeclare class ci_session in /.../system/libraries/Session.php on line 0
При этом если прописать библиотеку в автозагрузку, никакого эффекта. Поэтому пришлось отключить автозагрузку  и прописать подключение библиотек вручную. При этом, что интересно, хотя в основном контролере все прописано, а в XmlRPC стоит и «parent::Controller();» и «$CI = & get_instance();» (и каких только вариантов я не перепробовал), все равно происходит какая-то ошибка и база опять отваливается.

Впрочем есть у меня предположение, что дело здесь вовсе не в CodeIgniter и моих кривых ручках, а самом хостинге. Проблема возникает на хостинге с PHP 4.4.8. На локальной машине и на другом хостинге, где стоит PHP 5.2 подобных проблем не наблюдается.

twitter.com facebook.com mail.ru friendfeed.com livejournal.ru memori.ru google.com yandex.ru

Комментариев: 7

  1. Максим, а вы проверяли на php5, работает ли то, из-за чего вы на 1.6.2 не переходите?

    А на code-igniter.ru/forum/ - заглядываете? Там люди, которые с разработчиком игнитера общаются.

    А поддержка четвёрки в игнитере сделана хаками, чтобы загрузка как раз работала. Вообще четвёрка - это атавизм. Хотя, понимаю, приходится и на четвёрке ещё иногда работать.

  2. Макс, может хрен с ним с этим PHP4, пора его уже выбросить на помойку, ты пишешь цмс нового поколения, зачем же пользоваться инструментами прошлого века

    PS

    Это уже третий коммент, я не знаю дошли ле прежние 2. что? попали на предмодерацию? ты хоть как то об этом сообщи чтобы я не беспокоился.

  3. Да, я извиняюсь, работает премодерация, и никакого сообщения не выводится. Пока не решил как его добавить.

    По php4 я уже думал. Только что делать с теми, у кого такой хостинг. У меня например он до сих пор на одном из серверов. :(

  4. Если удастся локализовать ошибку — будет просто замечательно.

    Какие именно условия?

    Нет ли попытки испольнить другой контроллер второй раз?

  5. Не знаю... Пока ничего не получается, возможно есть какая-то особенность подключения классов, но я не понимаю в какую сторону рыть.

    Интересный момент нашел.

    В Base4.php &get;_instance возвращается как global $CI. Но есть условие is_object. Так вот, если просто объявить в самом классе глабально $CI (без &get;_instance), то чудесным образом появляются все поля этого объекта. Путем тыка обавил еще и is_array, работает лучше. Но все равно какие-то глюки с подключением остаются. Ну и в php5 данный способ не катит (только &get;_instance).

    В общем, я просто вынес функции добавления/редактирования в отдельный файл и подключаю его как обычно через require_once - все замечательно работает даже на 1.6.2. Придется оставить XMLRPC до лучших времен. Скоро выложу систему, может кто-то и подскажет куда рыть.

  6. Хорошо. Но если будет время разобраться — попытайся примерно локализовать проблему, чтобы зарепортить багу. В Ellislabs разберутся…

  7. Неофициальная curl-либа:

    http://alexpolski.com/2008/05/14/bugfixes-in-curl-library-for-codeigniter/

Оставьте свой комментарий!

grin LOL cheese smile wink smirk rolleyes confused surprised big surprise tongue laugh tongue rolleye tongue wink raspberry blank stare long face ohh grrr gulp oh oh downer red face sick shut eye hmmm mad angry zipper kiss shock cool smile cool smirk cool grin cool hmm cool mad cool cheese vampire snake excaim question

Комментарий будет опубликован после проверки

(войти без комментирования)

Имя и сайт используются только при регистрации

Авторизация: Loginza.

(обязательно)