php - 在 000webhost 上使用 laravel 时 MySQL 连接被拒绝

标签 php mysql database laravel hosting

我正在尝试将我的 laravel 项目部署到 000webhost。问题是我无法连接到我的数据库。

当我将 DB_HOST 设置为 127.0.0.1 时,出现“SQLSTATE[HY000] [2002]”错误。当我将 DB_HOST 更改为 localhost 时,我收到一条错误消息“错误的 com stmt 准备收到的响应大小为 7”。

这是我的 .env 文件:

APP_ENV=local
APP_DEBUG=true
APP_KEY=base64:fuFWdq2OAIZbxiiouYdTfbPnkeEOL8h/hDJjvb7XT+c=
APP_URL=http://localhost

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=id1619178_kule
DB_USERNAME=************
DB_PASSWORD=************

CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_DRIVER=mail
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null  
MAIL_PASSWORD=null
MAIL_ENCRYPTION=tls
MAIL_TO=

最佳答案

000webhost 不执行 .env 文件中的命令,因此您必须手动指定/config/database.php 文件中的五个变量

'mysql' => [
        'driver' => 'mysql',
        'host' => 'localhost',
        'port' => '3306',
        'database' => 'your_database_name',
        'username' => 'your_database_username',
        'password' => 'yourpassword',
        'unix_socket' => env('DB_SOCKET', ''),
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix' => '',
        'prefix_indexes' => true,
        'strict' => true,
        'engine' => null,
    ],

关于php - 在 000webhost 上使用 laravel 时 MySQL 连接被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43962834/

相关文章:

mysql - 优化返回大量记录的查询,一种避免数百个连接的方法。这是一个聪明的解决方案吗?

mysql - 'timestamp' 的默认值无效

php - 优化 Codeigniter 查询

php - 用其发音相似的字符替换特殊字符(在 php - utf8 中)

php - 用于公共(public)类型应用程序的 php 中的 xero api 集成

php - MySql如何修复这个类别表结构?

mysql - 我希望我在 Netbeans 上制作的 Web 应用程序能够上线?

php - 当结果只有一行时,PDO fetchAll 似乎失败了?

mysql - 查询找到玩得最多的敌人

python - 在 Twisted 中使用 callLater 来跟踪拍卖结束