@prokopov-vi

Как исправить ошибку при миграции?

Хочу активировать миграцию в yii2. Перед этим создал миграцию:

class m160529_212620_user extends Migration
{
    public function up(){

        $this->createTable('user',[
            'id' => $this->primaryKey(),
            'name' => $this->string()->notNull(),
            'last_name' => $this->string(),
        ] );

    }

    public function down()
    {
        echo "m160529_212620_user cannot be reverted.\n";

        return false;
    }


Чтоб ее выполнит в терминале задаю следующую команду ./yii migratе но выбрасывает такую ошибку:
Yii Migration Tool (based on Yii v2.0.8)

PHP Fatal Error 'yii\base\ErrorException' with message 'Class 'PDO' not found'

in /home/vitaliy/hosts/myuseyii.dev/vendor/yiisoft/yii2/db/Connection.php:631

Stack trace:
#0 [internal function]: yii\base\ErrorHandler->handleFatalError()
#1 {main}



Что делать ?? В php.ini все проверил:
extension=pdo.dll
extension=php_pdo_mysql.dll

не закомментированные. На всякий случай опять переустановил PDO, но оно так и не создает миграцию!
Как это можно исправить ?
  • Вопрос задан
  • 1185 просмотров
Решения вопроса 1
alsopub
@alsopub
У апача и консоли вроде разные php.ini файлы используются.
Поищите другой конфиг.
php -i | grep Configuration
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@palichmmm
для решения этой проблемы нужно указать где находится файл конфигурации php.ini
php -c [путь]/php.ini yii migrate --migrationPath=@yii/rbac/migrations
если не заработает значит вы не верно указали путь к php.ini
ну и естественно в самом php.ini должны быть строки:
...
extension=pdo.so
extension=pdo_mysql.so
...
моя работающая команда в консоли выглядела так:
php -c ../../php.ini yii migrate --migrationPath=@yii/rbac/migrations
путь я указывал относительно того места где находился...т.е поднялся на два уровня вверх.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы