KodiCMS-Kohana / cms

A new version of KodiCMS 14.0.0 with composer moved to the KodiCMS company.
https://github.com/KodiCMS/kodicms
131 stars 35 forks source link

Установка в режиме CLI имеет ряд проблем. #302

Closed igk1972 closed 10 years ago

igk1972 commented 10 years ago

Опять огорчения в нахождении проблем в базовом функционале который заявлен, и по смыслу должен быть добротно оттестирован. По-сравнению, скажем, с ГД.

Итак, продолжаю делать поддержку sqlite (кстати получается). Дошел до изменения модуля инсталляции (installer). Помятую что в нем заявленно два режима работы - web и cli. C web-инсталляцией все понятно, переходим к режиму cli.

Исходная ситуация:

Пытаюсь запустить: php index.php install --db_driver=pdo --db_name=kodicms --site_name KodiCMS --username=admin --timezone=UTC --empty_database=1

Полученные проблемы:

1) ErrorException [ 8 ]: Undefined index: HTTP_HOST ~ APPPATH/classes/request.php [ 20 ] Удивляюсь... Заглядываю в cms/modules/installer/tasks/install.php и еще больше удивляюсь что cli инсталляция на самом деле использует POST запрос к веб-серверу. Это мягко говоря странно....

butschster commented 10 years ago

Привет, буквально недавно занимался доработкой установки через CLI, хотел бы узнать были ли эти изменения учтены и какая ветка? https://github.com/butschster/kodicms/blob/dev/cms/modules/installer/classes/task/install.php

Драйвер mysql уже давно не является драйвером по умолчанию и через CLI требуется его ввод. По поводу Request он является internal и раньше он работал нормально и он был реально быстрой альтернативой установки, возможно придется вынести весь процесс установки из контроллера.

P.S. CLI инсталлятор был разработан исключительно для переустановки demo сайта раз в несколько часов, позже этот механизм перестал использоваться и был написан с учетом уже имеющегося инсталлятора, сейчас наверно пришло время, когда стоит переписать весь механизм установки системы.

igk1972 commented 10 years ago

Привет! Ветка dev текущее состояние. Второй недочет про параметры убрал в моем тексте.

Сам механизм установки еще более-менее нормальный. Кроме упоминаемого Request. На его месте должен быть вызов функций класса инсталлятора. (сейчас пробую сделать)

Еще не хватает параметра вроде db_pdo (mysqlsqlite). (тоже уже сделал, войдет в sqlite поддержку)

butschster commented 10 years ago

В общем я сделал ветку installer и в ней вынес все в отдельный класс и поменял в CLI и контроллере все, можешь проверить, возможно есть ошибки, т.к. уже убегаю с работы, закоммитил что успел сделать

igk1972 commented 10 years ago

Впредверии sqlite, надо что-то решать с проблемой https://github.com/butschster/kodicms/issues/291 Без этого невозможна работа c sqlite (точно проверено) и может быть еще с иной системой бд.

butschster commented 10 years ago

Ну как минимм в бд есть внешние ключи, это тоже будет проблемой в sqlite, т.к. целостность некоторых данных зависит от внешних ключей

igk1972 commented 10 years ago

Ключи работают в sqlite.

Ты недопонял - я благополучно сделал работающую версию на sqlite. Как?

Web-инстраллятор у меня отрабатывает полностью. Дело было зв CLI-инсталятором.

Ну а проблему null-byte решил пока заменой всех функций serialize/unserialize.

igk1972 commented 10 years ago

То есть PDO_Sqlite понимает диалект sql от SQLite и от MySQL. На это меня навел проект sqlite-integration https://wordpress.org/plugins/sqlite-integration/ для Wordpress, который прекрассно работает. Раз уж в WP и в Kodicms нет полной абстрации от бд.

igk1972 commented 10 years ago

Забирай исправления installer https://github.com/igk1972/kodicms/tree/installer

igk1972 commented 10 years ago

Еще замеченно что при ошибках кода или выполнения - выводится html код в консоль.

butschster commented 10 years ago

Ну в общем я сейчас на основе твоих правок заканчиваю интеграцию, но возник ряд проблем с работой sqlite, а именно несоответствие синтаксиса:

Mysql SET FOREIGN_KEY_CHECKS = 0

SQLite PRAGMA foreign_keys = OFF;

igk1972 commented 10 years ago

Погоди править и интегрировать.

Ведь я не выложил основной свой код. Мне еще надо сутки или двое.

Увидишь решение.

30 октября 2014 г., 0:49 пользователь butschster notifications@github.com написал:

Ну в общем я сейчас на основе твоих правок заканчиваю интеграцию, но возник ряд проблем с работой sqlite, а именно несоответствие синтаксиса:

Mysql SET FOREIGN_KEY_CHECKS = 0

SQLite PRAGMA foreign_keys = OFF;

— Reply to this email directly or view it on GitHub https://github.com/butschster/kodicms/issues/302#issuecomment-61002343.

igk1972 commented 10 years ago

Все по sqlite будет у меня в одноименной ветке.

30 октября 2014 г., 0:49 пользователь butschster notifications@github.com написал:

Ну в общем я сейчас на основе твоих правок заканчиваю интеграцию, но возник ряд проблем с работой sqlite, а именно несоответствие синтаксиса:

Mysql SET FOREIGN_KEY_CHECKS = 0

SQLite PRAGMA foreign_keys = OFF;

— Reply to this email directly or view it on GitHub https://github.com/butschster/kodicms/issues/302#issuecomment-61002343.