首页 文章

在本地将Laravel 5.4与Google Cloud 端mysql连接

提问于
浏览
0

我正在尝试连接,本地Laravel应用程序到GCP mysql实例 . 我只是尝试使用mysql实例进行本地开发,而不想在App Engine上上传 .

步骤如下:
1.在mysql实例中为授权网络添加了IP
2.更新.env文件(参见下文)3 . 能够使用gcloud sql connect -u = root和access database连接到db实例 .
4.尝试配置config / database.php文件
5.使用实例IP进行连接而不是localhost
6.使用DB_SOCKET:/ cloudsql /:asia-northeast1:

.env文件

APP_NAME=Laravel
APP_ENV=local
APP_KEY=<app-key>
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://localhost

DB_CONNECTION=mysql
DB_HOST=<instance-ip>
DB_PORT=3306
DB_DATABASE=<db-name>
DB_USERNAME=root
DB_PASSWORD=*********
DB_SOCKET=/cloudsql/<project-id>:asia-northeast1:<db-name>


BROADCAST_DRIVER=log
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=

配置/ database.php中

'mysql' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST', <instance-ip>),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', <db-name>),
            'username' => env('DB_USERNAME', 'root'),
            'password' => env('DB_PASSWORD', *********),
            'unix_socket' => env('DB_SOCKET', '/cloudsql/<project-id>:asia-northeast1:<db-name>'),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'strict' => true,
            'engine' => null,
        ],

我有另一个cakephp 2.0项目,在本地运行没有问题 .

提前致谢

1 回答

  • 0

    在不知道你实际得到什么错误的情况下,有点难以知道为什么它没有得到这可能告诉我们连接失败的原因 .

    话虽如此,您可能希望使用Cloud SQL proxy进行连接 . 有一个quickstart可用,只需不到5分钟的时间来设置本地测试的连接 .

相关问题