Codeigniter 4 не будет подключаться к базе данных

#php #codeigniter

#php #codeigniter

Вопрос:

Я потратил несколько дней на отладку моей новой настройки codeigniter, но безуспешно, я использую mamp в качестве локального сервера. Ниже приведены мои шаги :

  • созданный хост из mamp: myci.local
  • созданная база данных из mamp: myci_db
  • создание композитора-проект codeigniter4 /appstarter myci
  • указание созданного хоста в папку myci
  • из конфигурации файла > App.php : public $baseURL = 'https://myci.local/';

Теперь добавляем параметры базы данных в .env :

 database.default.hostname = localhost
database.default.database = myci_db
database.default.username = root
database.default.password = root
database.default.DBDriver = MySQLi
 
  • добавить миграцию : php spark migration:create users
  • выполните миграцию : php spark migrate

Результаты из cli :

 An uncaught Exception was encountered
Type:        CodeIgniterDatabaseExceptionsDatabaseException
Message:     Unable to connect to the database.
 

Я также попытался настроить БД из Config/Database.php безуспешно :

 public $default = [
    'DSN'      => '',
    'hostname' => 'localhost',
    'username' => 'root',
    'password' => 'root',
    'database' => 'myci_db',
    'DBDriver' => 'MySQLi',
    'DBPrefix' => '',
    'pConnect' => false,
    'DBDebug'  => (ENVIRONMENT !== 'production'),
    'cacheOn'  => false,
    'cacheDir' => '',
    'charset'  => 'utf8',
    'DBCollat' => 'utf8_general_ci',
    'swapPre'  => '',
    'encrypt'  => false,
    'compress' => false,
    'strictOn' => false,
    'failover' => [],
    'port'     => 3306,
];
 

Я не понимаю, почему это не работает, CI4 еще не готов к производству? Спасибо.

ПРИМЕЧАНИЕ: эти параметры БД работают на других сайтах с тем же сервером mamp.

Ответ №1:

Вы не должны были использовать —all в команде, это вызывает что-то еще.

неправильно:

 php spark migrate --all
 

правильно:

 php spark migrate
 

Выполните правильную команду.