iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 12
1
Modern Web

PHP laravel的邂逅系列 第 12

DAY12-Database介紹 PART 1

  • 分享至 

  • xImage
  •  

DAY12-Database介紹 PART 1

在專案的目錄底下會有一個.env裡面可以設定mail、session、還有專案的相關設定都在裡面,資料庫的連接也在這邊設定,這裡有很多帳號密碼,所以不要把這個檔案傳到網路上去,可以看到目錄底下還有一個.env.example的檔案,這是個預設檔,git上傳會忽略.env檔,而上傳.env.example的檔案,所以不要覺得奇怪怎麼沒有幫你上傳,而去把.gitignore裡面的.env拿掉。

//.env檔案
APP_NAME=Laravel
APP_ENV=local
APP_KEY=
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://localhost

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=
DB_USERNAME=
DB_PASSWORD=

BROADCAST_DRIVER=log
CACHE_DRIVER=file
SESSION_DRIVER=file
SESSION_LIFETIME=120
QUEUE_DRIVER=sync

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=

說到.gitignore這個檔案,你把檔案名稱或是資料夾名稱放到檔案裡,上傳的時候會忽略這些檔案,例如node_modules就不用跟著上傳,只需要在下載到你電腦時,跑個npm install就會自動產出node_modules的資料夾,所以記得你不想上傳的檔案或是資料夾丟進來就對了。

database的詳細設定檔案在config/database.php裡面,一般預設是mysql,如果你是用其他資料庫的只需在.env設定以下這幾個就可以了。如果你不知道資料庫的簡寫可以到database裡面看到在打.env檔上面就可以了

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=
DB_USERNAME=
DB_PASSWORD=

資料庫讀寫分離

可能你的資料庫讀跟寫是放在不同的地方,這時候也可以個別設定讀跟寫的位置,只需config/database.php裡面來做設定就可以了。

下面可以看到讀跟寫的位置是不一樣的,但是資料庫必須是一樣的,要注意這點。

//讀跟寫分離的
'mysql' => [
    'read' => [
        'host' => '192.168.1.1',
    ],
    'write' => [
        'host' => '196.168.1.2'
    ],
    'sticky'    => true,
    'driver'    => 'mysql',
    'database'  => 'database',
    'username'  => 'root',
    'password'  => '',
    'charset' => 'utf8mb4',
    'collation' => 'utf8mb4_unicode_ci',
    'prefix'    => '',
],

明天將會介紹database的相關語法使用


上一篇
DAY11-blade介紹
下一篇
DAY13-Database介紹 PART 2
系列文
PHP laravel的邂逅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言