如何在没有控制台访问权限的主机上处理 yii2 迁移?

2022-01-07 00:00:00 migration php yii2

我已在共享主机上成功创建并上传了高级模板.

I've succesfully created and uploaded advanced template on my shared host.

下一步,我必须运行yii migrate.

但我不能,因为我没有控制台访问权限.

But I cannot because I've not the console access.

你有什么建议给我?

请注意

  • 我不能改变主持人,因为这不是我的决定
  • 我无法使用 SSH 访问服务器
  • 我已经尝试过类似 PHPShell 的东西,但是我在尝试运行时遇到了 permissione deniedyii migrate --interactive=0

我也试过这个:向 frontend/controllers/siteController.php

public function actionMigrateUp()
{
    // https://github.com/yiisoft/yii2/issues/1764#issuecomment-42436905
    $oldApp = Yii::$app;
    new yiiconsoleApplication([
        'id'            => 'Command runner',
        'basePath'      => '@app',
        'components'    => [
            'db' => $oldApp->db,
        ],
    ]);
    Yii::$app->runAction('migrate/up', ['migrationPath' => '@console/migrations/', 'interactive' => false]);
    Yii::$app = $oldApp;
}

但是当我访问 /frontend/web/index.php?r=site/migrateUp 时,我得到了一个 404

But when I visit /frontend/web/index.php?r=site/migrateUp I got a 404

异常 'yiiaseInvalidRouteException' 带有消息 'Unable to解决请求:site/migrateUp' 中C:xampphtdocswwwvendoryiisoftyii2aseController.php:122

exception 'yiiaseInvalidRouteException' with message 'Unable to resolve the request: site/migrateUp' in C:xampphtdocswwwvendoryiisoftyii2aseController.php:122

推荐答案

您创建的操作无法通过

The action that you have created is not accesible with

/frontend/web/index.php?r=site/migrateUp

但与

/frontend/web/index.php?r=site/migrate-up

否则一切都会好的.

相关文章