将laravel部署到heroku

我正在尝试将laravel应用程序部署到heroku,但返回错误 SQLSTATE [22023]:参数值无效:7错误:参数“ client_encoding”的值无效:“ utf8mb4”(SQL:从“表名”中选择*)。我将表名排序规则和列从utf8mb4_unicode_ci更改为utf8unicode_ci,但没有任何反应。请帮我。我尝试了所有可能的解决方案,但没有任何反应。

qwerrewqqwerrewq 回答:将laravel部署到heroku

Laravel 数据库连接环境问题

您可能使用 Postgresql 作为数据库而不是 MySql。 然后请在config/database.php文件

中配置数据库配置

'default' => env('DB_CONNECTION','pgsql')

或将 .env 中的 DB_CONNECTION 设置为 pgsql

pgsql 不支持 utf8mb4,它是针对 MySQL 的,如果你使用 Postgresql 请纠正连接环境。

,

按照config / database.php上的指定设置psql详细信息之后 跑 git push origin master git push heroku master

然后尝试再次运行bash。

heroku运行bash PHP的工匠迁移:新鲜 是 而且你很好走

,

您在使用laravel / telescope吗?
尝试实施我的项目时,我遇到了同样的问题。为了解决该错误,我从项目中删除了laravel / telescope。

,
'mysql' => [
        // ...
        'charset' => 'utf8','collation' => 'utf8_general_ci',// ...
],
,

我遇到了同样的问题。错误地我没有在 Heroku 仪表板上的配置变量中添加 DB_CONNECTION=pgsql在设置标签内点击显示配置变量并在那里添加DB_CONNECTION=pgsql

另一种方法只是简单地使用终端添加 config vars

 heroku condig:add DB_CONNECTION=pgsql
,

对于mysql:

[
    'database.connections.rds' => [
        'driver' => 'mysql','host' => $endpoint,'port' => $port,'database' => $db_name,'username' => $user,'password' => $password,'unix_socket' => env('DB_SOCKET',''),'charset' => 'utf8mb4','collation' => 'utf8mb4_unicode_ci','prefix' => '','strict' => true,'engine' => null,]
]

对于 Postgres


[
    'database.connections.rds' => [
        'driver' => 'pgsql','charset' => 'utf8',]
]
,

在config / database.php中,使用默认连接 '默认'=>'pgsql', “ client_encoding”:“ utf8”

如果使用MySQL,则将默认连接更改为 '默认'=>'mysql', “ client_encoding”:“ utf8mb4”

本文链接:https://www.f2er.com/3126571.html

大家都在问