我正在测试 Lumen,我已经通过 .env 文件建立了我的数据库连接。在 Laravel 中,我需要在本地设置 unix_socket 参数,这在数据库配置中进行。不幸的是,Lumen 似乎只通过 .env 文件配置数据库。有没有办法在 .env 文件中设置 unix_socket 参数?
还是有其他方法可以做到这一点?
谢谢。
您必须手动设置配置值。例如bootstrap/app.php
像这样:
$app['config']->set('database.connections.mysql.unix_socket', 'asdf');
或者您可以在服务提供商中执行相同的操作,这取决于您。
DB_HOST=localhost;unix_socket=/cloudsql/cloud-project-name:us-east1:sql-instance-name
对我有用的解决此问题的一种方法是将 .env 文件中的 DB_HOST 从
DB_HOST=localhost
至
DB_HOST=XXX.XXX.XXX.XXX
... 其中 XXX.XXX.XXX.XXX 被替换为您的本地 MySQL 服务器 IP 地址(例如 127.0.0.1),从而消除了对 unix_socket 的需要。