在 Lumen 中设置 unix_socket

Setting unix_socket in Lumen

我正在测试 Lumen,我已经通过 .env 文件设置了我的数据库连接。在 Laravel 中,我需要在本地设置 unix_socket 参数,这是我在数据库配置中所做的。不幸的是,Lumen 似乎只能通过 .env 文件配置数据库。有没有办法在 .env 文件中设置 unix_socket 参数?

或者有其他方法吗?

谢谢。

您必须手动设置配置值。例如在 bootstrap/app.php 中是这样的:

$app['config']->set('database.connections.mysql.unix_socket', 'asdf');

或者您可以在服务提供商中执行相同的操作,这取决于您。

解决这个问题的一种对我有用的方法是将 .env 文件中的 DB_HOST 从

更改为
DB_HOST=localhost

DB_HOST=XXX.XXX.XXX.XXX

... 其中 XXX.XXX.XXX.XXX 替换为本地 MySQL 服务器 IP 地址(例如 127.0.0.1),从而消除了对 unix_socket.

的需要
DB_HOST=localhost;unix_socket=/cloudsql/cloud-project-name:us-east1:sql-instance-name

Source