MAMP 中的 Mysql 和 redis 都是 unix socket 时的配置方法
使用了一圈,感觉开发环境最方便的,还是用 MAMP RPO。毕竟都是原生的,用 homestead,sail 这类环境,多多少少有点不适应。
但默认的MAMP 为了安全,都是使用本地套接字连接 ( Unix socket )。
/Applications/MAMP/tmp/mysql/mysql.sock
/Applications/MAMP/tmp/redis.sock
按常规配置都不能连接上数据库和 redis 。查了一圈资料基本也找不到答案,没法子。读源代码,试出了答案。
对于 mysql 需要在 connection 里增加 unix_socket 项目。修改 /config/database.php
'connections' => [
'mysql' => [
...
'unix_socket' => '/Applications/MAMP/tmp/mysql/mysql.sock',
]
]
对于 redis 要在 connection 里加 scheme 项目和 path 项目
'redis' => [
'default' => [
...
'scheme'=>'unix',
'path' => '/Applications/MAMP/tmp/redis.sock',
]
]
经过这个配置后,就可以直接通过套接字连上了。当然,生产环境这样用,也会更安全。
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: