1

我在实时共享主机上使用 laravel,尽管使用了正确的数据库连接凭据,但仍出现上述错误。我已经编辑了 .env 和 database.php 文件并添加了必要的凭据。我的问题是相同的凭据正在处理我编写的用于测试的原始 php 文件,但不适用于 laravel。laravel 项目虽然在本地主机上正常工作

这是 .env 文件代码的示例

      DB_CONNECTION=mysql
      DB_HOST=127.0.0.1
      DB_PORT=3306
      DB_DATABASE=wymtav_food
      DB_USERNAME=wymtav_admin
      DB_PASSWORD=PasswordNce
      BROADCAST_DRIVER=log
      CACHE_DRIVER=file
      QUEUE_CONNECTION=sync
      SESSION_DRIVER=file
      SESSION_LIFETIME=120

这是编辑后的 ​​database.php 文件的片段

    'mysql' => [
        'driver' => 'mysql',
        'url' => env('DATABASE_URL'),
        'host' => env('DB_HOST', '127.0.0.1'),
        'port' => env('DB_PORT', '3306'),
        'database' => env('DB_DATABASE', 'wymtav_food'),
        'username' => env('DB_USERNAME', 'wymtav_admin'),
        'password' => env('DB_PASSWORD', 'PasswordNce'),
        'unix_socket' => env('DB_SOCKET', ''),
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix' => '',
        'prefix_indexes' => true,
        'strict' => true,
        'engine' => null,
        'options' => extension_loaded('pdo_mysql') ? array_filter([
            PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
        ]) : [],
    ],

请注意,在本地环境中,数据库端口为 3309,我已根据生产环境端口将其更改为 3306。我可能做错了什么?

4

3 回答 3

1

您不需要同时更新 at.envdatabase.phpfiles 的数据库连接。您可以在.env文件或database.php文件中执行。

建议在.env如下文件中执行:-

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=wymtav_food
DB_USERNAME=wymtav_admin
DB_PASSWORD=PasswordNce

一些托管服务器localhost以 DB_HOST 的形式提供,但有些提供自己的主机 url,因此您需要检查您的托管帐户。

于 2020-01-02T02:42:24.780 回答
0
'host' => env('DB_HOST', '127.0.0.1'),

这不是您数据库的正确 IP 地址。您应该检查您的主机并获取您的数据库的 IP。

于 2019-12-21T15:56:06.183 回答
0

事实证明,我的主机已将数据库密码和用户名设置为与访问 cpanel 的相同。除非登录到 phpmyadmin,否则创建的其他用户不能直接读取或写入数据库。因此,任何遇到此问题的人,尤其是在 directadmin 中,都可以尝试将凭据更改为登录 directadmin 的凭据

于 2020-03-31T08:38:06.280 回答