Laravel SQL连接-Artisan可以移植,但是应用程序无法连接

问题描述 投票:0回答:1

我是Laravel的不定期用户,正在尝试连接到远程SQL数据库。

我已经使用了artisan命令来创建迁移,并且可以从命令行成功连接到数据库。但是,当我尝试加载应用程序时,连接失败。

Could not connect to the database. Please check your configuration. error:PDOException: SQLSTATE[HY000] [1045] Access denied for user 'myuser'@'222.222.222.222' (using password: YES) in ... {file location} 

工匠和实际的应用程序框架在做什么方面不同,该连接在两者之间的响应不同?

这是database.php文件中的mysql连接:

'mysql' => [
        'driver' => 'mysql',
        'host' => env('DB_HOST', '123.123.123.123'),
        'port' => env('DB_PORT', '3306'),
        'database' => env('DB_DATABASE', 'mydb'),
        'username' => env('DB_USERNAME', 'myuser'),
        'password' => env('DB_PASSWORD', 'mypass'),
        'unix_socket' => env('DB_SOCKET', ''),
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix' => '','strict' => true,
        'engine' => null,
        'sslmode' => 'require',
        'options'   => array(
            PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT => false,
            PDO::MYSQL_ATTR_SSL_KEY => 'certs/client-key.pem',
            PDO::MYSQL_ATTR_SSL_CERT => 'certs/client-cert.pem',
            PDO::MYSQL_ATTR_SSL_CA => 'certs/server-ca.pem',
        ),

这是本地环境文件:

DB_CONNECTION=mysql
DB_HOST=123.123.123.123
DB_PORT=3306
DB_DATABASE=mydb
DB_USERNAME=myuser
DB_PASSWORD=mypass

我正在本地运行该应用程序,但是MySQl服务器是远程的。

php mysql laravel pdo
1个回答
0
投票

事实证明,根本原因是PDO不喜欢Google Cloud SQL生成的证书。

© www.soinside.com 2019 - 2024. All rights reserved.