DevGroup-ru / dotplant2

E-Commerce CMS - Yii Framework 2 (yii2, shop)
http://dotplant.ru/
Other
640 stars 253 forks source link

Ошибка во время установки #387

Closed musdevs closed 6 years ago

musdevs commented 6 years ago

После ввода данных о базе данных установщик завершается с ошибкой. Он пытается подключиться под root, хотя я ввел пользователя dotplant: `$ ./installer installer is running in console Checking permissions [ OK ] @app/config/db-local.php [ OK ] @app/config/web-local.php [ OK ] @app/config/common-local.php [ OK ] @app/config/common-configurables.php [ OK ] @app/config/console-configurables.php [ OK ] @app/config/web-configurables.php [ OK ] @app/config/kv-configurables.php [ OK ] @app/config/aliases.php Enter language(ie. ru, zh-CN, en) [en] ru Enter your database configuration: -> db_host [localhost] localhost -> db_name [dotplant2] dotplant -> username [root] dotplant -> password Password -> schemaCacheDuration [86400] -> schemaCache [cache] Running migrations... -> username [admin] admin -> password Qazwsx@12 -> email [noreply@dotplant.ru] Exception 'yii\db\Exception' with message 'SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: NO)'

in /var/www/dotplant2/application/vendor/yiisoft/yii2/db/Connection.php:568

Stack trace:

0 /var/www/dotplant2/application/modules/installer/commands/InstallController.php(215): yii\db\Connection->open()

1 /var/www/dotplant2/application/modules/installer/commands/InstallController.php(162): app\modules\installer\commands\InstallController->db()

2 /var/www/dotplant2/application/modules/installer/commands/InstallController.php(139): app\modules\installer\commands\InstallController->adminUser()

3 /var/www/dotplant2/application/modules/installer/commands/InstallController.php(110): app\modules\installer\commands\InstallController->migration()

4 /var/www/dotplant2/application/modules/installer/commands/InstallController.php(66): app\modules\installer\commands\InstallController->dbConfig()

5 /var/www/dotplant2/application/modules/installer/commands/InstallController.php(56): app\modules\installer\commands\InstallController->language()

6 [internal function]: app\modules\installer\commands\InstallController->actionIndex()

7 /var/www/dotplant2/application/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array(Array, Array)

8 /var/www/dotplant2/application/vendor/yiisoft/yii2/base/Controller.php(156): yii\base\InlineAction->runWithParams(Array)

9 /var/www/dotplant2/application/vendor/yiisoft/yii2/console/Controller.php(128): yii\base\Controller->runAction('index', Array)

10 /var/www/dotplant2/application/vendor/yiisoft/yii2/base/Module.php(523): yii\console\Controller->runAction('index', Array)

11 /var/www/dotplant2/application/vendor/yiisoft/yii2/console/Application.php(180): yii\base\Module->runAction('', Array)

12 /var/www/dotplant2/application/vendor/yiisoft/yii2/console/Application.php(147): yii\console\Application->runAction('', Array)

13 /var/www/dotplant2/application/vendor/yiisoft/yii2/base/Application.php(380): yii\console\Application->handleRequest(Object(yii\console\Request))

14 /var/www/dotplant2/application/installer(22): yii\base\Application->run()

15 {main}

`

Philosoft commented 6 years ago

php 7.0 или выше? Проблема вот тут сессия будет пустой после выполнения предыдущего метода (dbConfig) StaticSession если он конечно всё ещё используется, работает как-то неправильно, подробностей не помню, но этого должно быть достаточно для оперативного решения проблемы

davidtim commented 6 years ago

Are you using MAMP server?

On Sun, Dec 31, 2017 at 1:57 AM musdevs notifications@github.com wrote:

После ввода данных о базе данных установщик завершается с ошибкой. Он пытается подключиться под root, хотя я ввел пользователя dotplant: `$ ./installer installer is running in console Checking permissions [ OK ] /db-local.php [ OK ] /web-local.php [ OK ] /common-local.php [ OK ] /common-configurables.php [ OK ] /console-configurables.php [ OK ] /web-configurables.php [ OK ] /kv-configurables.php [ OK ] /aliases.php Enter language(ie. ru, zh-CN, en) [en] ru Enter your database configuration: -> db_host [localhost] localhost -> db_name [dotplant2] dotplant -> username [root] dotplant -> password Password -> schemaCacheDuration [86400] -> schemaCache [cache] Running migrations... -> username [admin] admin -> password Qazwsx@12 -> email [noreply@dotplant.ru] Exception 'yii\db\Exception' with message 'SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: NO)'

in /var/www/dotplant2/application/vendor/yiisoft/yii2/db/Connection.php:568

Stack trace:

0

/var/www/dotplant2/application/modules/installer/commands/InstallController.php(215): yii\db\Connection->open()

1 https://github.com/DevGroup-ru/dotplant2/issues/1

/var/www/dotplant2/application/modules/installer/commands/InstallController.php(162): app\modules\installer\commands\InstallController->db()

2 https://github.com/DevGroup-ru/dotplant2/issues/2

/var/www/dotplant2/application/modules/installer/commands/InstallController.php(139): app\modules\installer\commands\InstallController->adminUser()

3 https://github.com/DevGroup-ru/dotplant2/issues/3

/var/www/dotplant2/application/modules/installer/commands/InstallController.php(110): app\modules\installer\commands\InstallController->migration()

4 https://github.com/DevGroup-ru/dotplant2/issues/4

/var/www/dotplant2/application/modules/installer/commands/InstallController.php(66): app\modules\installer\commands\InstallController->dbConfig()

5 https://github.com/DevGroup-ru/dotplant2/issues/5

/var/www/dotplant2/application/modules/installer/commands/InstallController.php(56): app\modules\installer\commands\InstallController->language()

6 https://github.com/DevGroup-ru/dotplant2/issues/6 [internal

function]: app\modules\installer\commands\InstallController->actionIndex()

7 https://github.com/DevGroup-ru/dotplant2/issues/7

/var/www/dotplant2/application/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array(Array, Array)

8 https://github.com/DevGroup-ru/dotplant2/issues/8

/var/www/dotplant2/application/vendor/yiisoft/yii2/base/Controller.php(156): yii\base\InlineAction->runWithParams(Array)

9 https://github.com/DevGroup-ru/dotplant2/issues/9

/var/www/dotplant2/application/vendor/yiisoft/yii2/console/Controller.php(128): yii\base\Controller->runAction('index', Array)

10 https://github.com/DevGroup-ru/dotplant2/issues/10

/var/www/dotplant2/application/vendor/yiisoft/yii2/base/Module.php(523): yii\console\Controller->runAction('index', Array)

11 https://github.com/DevGroup-ru/dotplant2/issues/11

/var/www/dotplant2/application/vendor/yiisoft/yii2/console/Application.php(180): yii\base\Module->runAction('', Array)

12 https://github.com/DevGroup-ru/dotplant2/issues/12

/var/www/dotplant2/application/vendor/yiisoft/yii2/console/Application.php(147): yii\console\Application->runAction('', Array)

13 https://github.com/DevGroup-ru/dotplant2/issues/13

/var/www/dotplant2/application/vendor/yiisoft/yii2/base/Application.php(380): yii\console\Application->handleRequest(Object(yii\console\Request))

14 https://github.com/DevGroup-ru/dotplant2/issues/14

/var/www/dotplant2/application/installer(22): yii\base\Application->run()

15 https://github.com/DevGroup-ru/dotplant2/issues/15 {main}

`

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/DevGroup-ru/dotplant2/issues/387, or mute the thread https://github.com/notifications/unsubscribe-auth/AExDLbyX7nUrmomdj3tzvvcCAQO_BaWVks5tFoeFgaJpZM4RPqzU .

musdevs commented 6 years ago

My config: Fedora release 27 Linux 4.14.8-300.fc27.x86_64 Apache/2.4.29 PHP 7.1.12 mysql Ver 15.1 Distrib 10.2.9-MariaDB

davidtim commented 6 years ago

Well for my experience I have to add 'unix_socket=/Applications/MAMP/tmp/mysql/mysql.sock' but that's on Mac I'm not sure for Linux

On Sun, Dec 31, 2017 at 6:52 PM musdevs notifications@github.com wrote:

My config: Fedora release 27 Linux 4.14.8-300.fc27.x86_64 Apache/2.4.29 PHP 7.1.12 mysql Ver 15.1 Distrib 10.2.9-MariaDB

— You are receiving this because you commented.

Reply to this email directly, view it on GitHub https://github.com/DevGroup-ru/dotplant2/issues/387#issuecomment-354599821, or mute the thread https://github.com/notifications/unsubscribe-auth/AExDLQeqUao0SyP5psiyGUnjk8Wzf589ks5tF3WWgaJpZM4RPqzU .

musdevs commented 6 years ago

@Philosoft, спасибо, помогает! Если в методе getDbConfigFromSession подставить свои данные, то установка продолжается, но заканчивается с ошибкой 'SQLSTATE[23000]: Integrity constraint violation':

$ ./installer installer is running in console Checking permissions [ OK ] @app/config/db-local.php [ OK ] @app/config/web-local.php [ OK ] @app/config/common-local.php [ OK ] @app/config/common-configurables.php [ OK ] @app/config/console-configurables.php [ OK ] @app/config/web-configurables.php [ OK ] @app/config/kv-configurables.php [ OK ] @app/config/aliases.php Enter language(ie. ru, zh-CN, en) [en] Enter your database configuration: -> db_host [localhost] -> db_name [dotplant] -> username [root] -> password [Password] -> schemaCacheDuration [86400] -> schemaCache [cache] Running migrations... -> username [admin] -> password Password -> email [noreply@dotplant.ru] Exception 'yii\db\IntegrityException' with message 'SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (dotplant.auth_assignment, CONSTRAINT auth_assignment_ibfk_1 FOREIGN KEY (item_name) REFERENCES auth_item (name) ON DELETE CASCADE ON UPDATE CASCADE) The SQL being executed was: INSERT INTO auth_assignment (item_name, user_id) VALUES ('admin', '1')'

in /var/www/dotplant2/application/vendor/yiisoft/yii2/db/Schema.php:636

Error Info: Array ( [0] => 23000 [1] => 1452 [2] => Cannot add or update a child row: a foreign key constraint fails (dotplant.auth_assignment, CONSTRAINT auth_assignment_ibfk_1 FOREIGN KEY (item_name) REFERENCES auth_item (name) ON DELETE CASCADE ON UPDATE CASCADE) )

Stack trace:

0 /var/www/dotplant2/application/vendor/yiisoft/yii2/db/Command.php(856): yii\db\Schema->convertException(Object(PDOException), 'INSERT INTO `au...')

1 /var/www/dotplant2/application/modules/installer/components/InstallerHelper.php(146): yii\db\Command->execute()

2 /var/www/dotplant2/application/modules/installer/commands/InstallController.php(162): app\modules\installer\components\InstallerHelper::createAdminUser(Object(app\modules\installer\models\AdminUser), Object(yii\db\Connection))

3 /var/www/dotplant2/application/modules/installer/commands/InstallController.php(139): app\modules\installer\commands\InstallController->adminUser()

4 /var/www/dotplant2/application/modules/installer/commands/InstallController.php(110): app\modules\installer\commands\InstallController->migration()

5 /var/www/dotplant2/application/modules/installer/commands/InstallController.php(66): app\modules\installer\commands\InstallController->dbConfig()

6 /var/www/dotplant2/application/modules/installer/commands/InstallController.php(56): app\modules\installer\commands\InstallController->language()

7 [internal function]: app\modules\installer\commands\InstallController->actionIndex()

8 /var/www/dotplant2/application/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array(Array, Array)

9 /var/www/dotplant2/application/vendor/yiisoft/yii2/base/Controller.php(156): yii\base\InlineAction->runWithParams(Array)

10 /var/www/dotplant2/application/vendor/yiisoft/yii2/console/Controller.php(128): yii\base\Controller->runAction('index', Array)

11 /var/www/dotplant2/application/vendor/yiisoft/yii2/base/Module.php(523): yii\console\Controller->runAction('index', Array)

12 /var/www/dotplant2/application/vendor/yiisoft/yii2/console/Application.php(180): yii\base\Module->runAction('', Array)

13 /var/www/dotplant2/application/vendor/yiisoft/yii2/console/Application.php(147): yii\console\Application->runAction('', Array)

14 /var/www/dotplant2/application/vendor/yiisoft/yii2/base/Application.php(380): yii\console\Application->handleRequest(Object(yii\console\Request))

15 /var/www/dotplant2/application/installer(22): yii\base\Application->run()

16 {main}

bethrezen commented 6 years ago

Базу перед очередной попыткой пробовали чистить? Если нет - попробуйте и заново устанавливайте.

musdevs commented 6 years ago

@bethrezen, базу удаляю/создаю (drop/create database). Несколько раз проверил.

musdevs commented 6 years ago

@bethrezen, таблица auth_item пустая. Миграции, заполняющие auth_item, не отработали?

bethrezen commented 6 years ago

@musdevs попробуйте веб-версию установщика

musdevs commented 6 years ago

@bethrezen веб-версия - это скрипт https://github.com/DevGroup-ru/dotplant2/blob/master/application/web/installer.php ? В документации нигде не нашел информации о нем, только о консольном. Плохо искал?

musdevs commented 6 years ago

Веб-версия тоже завершается ошибкой:

Exception 'yii\db\Exception' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'UNSIGNED NOT NULL, name VARCHAR(255) NOT NULL, description TEXT DEFAULT NU' at line 5 The SQL being executed was: CREATE TABLE backgroundtasks_task ( id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, action VARCHAR(255) NOT NULL, type enum('EVENT','REPEAT') NOT NULL DEFAULT 'EVENT', initiator INT UNSIGNED UNSIGNED NOT NULL, name VARCHAR(255) NOT NULL, description TEXT DEFAULT NULL, params TEXT DEFAULT NULL, init_event VARCHAR(255) DEFAULT NULL, cron_expression VARCHAR(255) DEFAULT NULL, status enum('ACTIVE','STOPPED','RUNNING','FAILED','COMPLETED', 'PROCESS') NOT NULL DEFAULT 'ACTIVE', ts TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, fail_counter TINYINT UNSIGNED NOT NULL DEFAULT'0', options TEXT, KEY name (name) ) CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE=InnoDB'

in /var/www/dotplant2/application/vendor/yiisoft/yii2/db/Schema.php:636

Error Info: Array ( [0] => 42000 [1] => 1064 [2] => You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'UNSIGNED NOT NULL, name VARCHAR(255) NOT NULL, description TEXT DEFAULT NU' at line 5 )

Stack trace:

0 /var/www/dotplant2/application/vendor/yiisoft/yii2/db/Command.php(856): yii\db\Schema->convertException(Object(PDOException), 'CREATE TABLE `b...')

1 /var/www/dotplant2/application/vendor/yiisoft/yii2/db/Migration.php(288): yii\db\Command->execute()

2 /var/www/dotplant2/application/migrations/m150531_084444_new_init.php(1026): yii\db\Migration->createTable('{{%backgroundta...', Array, 'CHARACTER SET u...')

3 /var/www/dotplant2/application/vendor/yiisoft/yii2/console/controllers/BaseMigrateController.php(654): m150531_084444_new_init->up()

4 /var/www/dotplant2/application/vendor/yiisoft/yii2/console/controllers/BaseMigrateController.php(166): yii\console\controllers\BaseMigrateController->migrateUp('m150531084444...')

5 [internal function]: yii\console\controllers\BaseMigrateController->actionUp(0)

6 /var/www/dotplant2/application/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array(Array, Array)

7 /var/www/dotplant2/application/vendor/yiisoft/yii2/base/Controller.php(156): yii\base\InlineAction->runWithParams(Array)

8 /var/www/dotplant2/application/vendor/yiisoft/yii2/console/Controller.php(128): yii\base\Controller->runAction('up', Array)

9 /var/www/dotplant2/application/vendor/yiisoft/yii2/base/Module.php(523): yii\console\Controller->runAction('up', Array)

10 /var/www/dotplant2/application/vendor/yiisoft/yii2/console/Application.php(180): yii\base\Module->runAction('migrate/up', Array)

11 /var/www/dotplant2/application/vendor/yiisoft/yii2/console/Application.php(147): yii\console\Application->runAction('migrate/up', Array)

12 /var/www/dotplant2/application/vendor/yiisoft/yii2/base/Application.php(380): yii\console\Application->handleRequest(Object(yii\console\Request))

13 /var/www/dotplant2/application/yii(22): yii\base\Application->run()

14 {main}

gelamac74 commented 5 years ago

Сколько раз не устанавливал и каким только способом не ставил, но с РНР 7.0 и выше работать не хочет, выдает ошибки...По ходу проект заброшен(( А так приложение прекрасное!

bethrezen commented 5 years ago

@gelamac74 таки да, заброшен. Но с php 7 раньше у нас всё работало

gelamac74 commented 5 years ago

@gelamac74 таки да, заброшен. Но с php 7 раньше у нас всё работало

Здравствуйте! Мне все-таки удалось уставновить приложение на PHP7 именно PHP 7.0 и вроде все работает, за исключением всего одной, т.е это не ошибка, а предупреждение “Headers already sent” . Видимо где-то в файле лишний пробел, будет время попробую исправить. Буду тестировать, позже отпишусь.

Headers already sent in /var/www/restaf/public_html/vendor/yiisoft/yii2/web/Response.php on line 414. in /var/www/restaf/public_html/vendor/yiisoft/yii2/web/Response.php:366 Stack trace: #0 /var/www/restaf/public_html/vendor/yiisoft/yii2/web/Response.php(339): yii\web\Response->sendHeaders() #1 /var/www/restaf/public_html/vendor/yiisoft/yii2/web/ErrorHandler.php(135): yii\web\Response->send() #2 /var/www/restaf/public_html/vendor/yiisoft/yii2/base/ErrorHandler.php(262): yii\web\ErrorHandler->renderException(Object(yii\base\ErrorException)) #3 [internal function]: yii\base\ErrorHandler->handleFatalError() #4 {main} thrown in /var/www/restaf/public_html/vendor/yiisoft/yii2/web/Response.php on line 366