Laravel使用MySQL Socket來連線
發表人:
Seachaos
積分: 2432
積分: 2432
有些環境的MySQL是使用Socket來連線的,例如Mac上使用MAMP的環境來做開發,就會需要到使用MySQL Socket
於Laravel中設定的方式很簡單
就是在
.env中先定義好Socket 的位置
(以MAMP為例)
[sea:phpCode]
DB_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sock
[/sea]
整體範例:
[sea:phpCode]
…
DB_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sock
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
(帳密設定)
…
[/sea]
然後於 config/database.php 設定
unix socket的定義
[sea:phpCode]
'unix_socket' => env('DB_SOCKET', false),
[/sea]
整體範例:
[sea:phpCode]
...
'mysql' => [
'driver' => 'mysql',
'unix_socket' => env('DB_SOCKET', false),
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
'engine' => null,
],
…
[/sea]
這樣就可以連線到MySQL了
於Laravel中設定的方式很簡單
就是在
.env中先定義好Socket 的位置
(以MAMP為例)
[sea:phpCode]
DB_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sock
[/sea]
整體範例:
[sea:phpCode]
…
DB_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sock
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
(帳密設定)
…
[/sea]
然後於 config/database.php 設定
unix socket的定義
[sea:phpCode]
'unix_socket' => env('DB_SOCKET', false),
[/sea]
整體範例:
[sea:phpCode]
...
'mysql' => [
'driver' => 'mysql',
'unix_socket' => env('DB_SOCKET', false),
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
'engine' => null,
],
…
[/sea]
這樣就可以連線到MySQL了