【问题标题】:Laravel multi-tenant app works properly in local but does not work in production/stagingLaravel 多租户应用程序在本地工作正常,但在生产/暂存中不工作
【发布时间】:2020-05-17 21:45:14
【问题描述】:

我在 laravel 中构建了一个多租户应用程序,该应用程序在本地可以正常工作,但在生产/暂存中无法正常工作。每当我尝试登录时,它都会显示错误:SQLSTATE[42S02]: Base table or view not found: 1146 Table 'tenancy.users' doesn't exist.

我已经运行了迁移,还尝试了 php artisan config:ca。

使用的包: composer require "hyn/multi-tenant:5.3.*"

.env :

LIMIT_UUID_LENGTH_32=true

APP_URL_BASE=testdomain

APP_URL=http://${APP_URL_BASE}

DB_CONNECTION=system

TENANCY_HOST=127.0.0.1

TENANCY_PORT=3306

TENANCY_DATABASE=tenancy

TENANCY_USERNAME=root

TENANCY_PASSWORD=

数据库.php:

'default' => env('DB_CONNECTION', 'tenant'),
 ....

 'system' => [
        'driver' => 'mysql',
        'host' => env('TENANCY_HOST', '127.0.0.1'),
        'port' => env('TENANCY_PORT', '3306'),
        'database' => env('TENANCY_DATABASE', 'tenancy'),
        'username' => env('TENANCY_USERNAME', 'tenancy'),
        'password' => env('TENANCY_PASSWORD', ''),
        'unix_socket' => env('DB_SOCKET', ''),
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix' => '',
        'strict' => false,
        'engine' => null,
    ],
    'tenant' => [
        'driver' => 'mysql',
        'host' => env('TENANCY_HOST', '127.0.0.1'),
        'port' => env('TENANCY_PORT', '3306'),
        'database' => env('TENANCY_DATABASE', 'tenancy'),
        'username' => env('TENANCY_USERNAME', 'tenancy'),
        'password' => env('TENANCY_PASSWORD', ''),
        'unix_socket' => env('DB_SOCKET', ''),
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix' => '',
        'strict' => false,
        'engine' => null,
    ],
.....

【问题讨论】:

    标签: multi-tenant laravel-5.6 php-7.1


    【解决方案1】:

    我还用 laravel 8 构建了一个 laraval mts。它在本地工作,我遇到了类似的问题。

    1. 确保您的 .htaccess 文件是正确的。我的在 cpanel 中运行,我发现每次我用 master 更新 repo 时它都会被覆盖
    2. 确保您已设置数据库。我在 cpanel 上使用 phpmyadmin,所以我必须构建数据库。
    3. 创建数据库用户并授予他们访问数据库的权限。
    4. 更新 .env 以使用新创建的数据库用户

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-08
      • 2017-09-11
      • 2017-04-26
      • 2021-12-28
      • 2021-09-21
      • 1970-01-01
      • 2017-07-15
      • 1970-01-01
      相关资源
      最近更新 更多