Laravel 5.5 : 세션 저장에 Redis 사용 (Heroku)
8877 단어 laravel5.5
그러나 이것은 필수는 아닙니다. 대상이 파일로 남아도 전혀 문제가 없습니다.
또한 Heroku에서 Redis를 이용하려면 무료 플랜이라도 신용카드를 등록해야 합니다.
아래에서는 Heroku CLI을 설치된 것으로 진행합니다.
상위 기사
Laravel 5.5에서 기본 CRUD 만들기 - Qiita
애드온 추가
Create a new instance
PowerShell# 無料プランでRedisを使う
> heroku addons:create heroku-redis:hobby-dev
추가 기능 Hobby Dev
플랜은 무료이지만 신용 카드 등록이 필요합니다.
아래 페이지에서 등록 화면으로 갈 수 있습니다.
htps : // 헤로쿠. 코 m/ゔぇ리 fy
등록하지 않으면 아래와 같이 경고됩니다.
> heroku addons:create heroku-redis:hobby-dev
Creating heroku-redis:hobby-dev on sutara79-laravel... !
! Please verify your account to install this add-on plan (please enter a credit card) For more information, see
! https://devcenter.heroku.com/categories/billing Verify now at https://heroku.com/verify
자격증명 취득
아래의 명령으로 얻을 수 있는 REDIS_URL
안의 패스워드, 호스트, 포트를 Laravel로 사용합니다.
PowerShell> heroku config | Select-String REDIS
REDIS_URL: redis://<ユーザー>:<パスワード>@<ホスト>:<ポート>
다만, 공식 문서로 경고되고 있는 대로, REDIS_URL
(은)는 언제라도 변경될 가능성이 있다고 합니다.
단순히 값을 복사하는 것이 아니라, 동적으로 REDIS_URL
로부터 필요한 값을 꺼내지 않으면 안됩니다.
In order for Heroku to manage this add-on for you and respond to a variety of operational situations, the REDIS config vars may change at any time. Relying on the config var outside of your Heroku app may result in you having to re-copy the value if it changes.
Create a new instance
동적으로 자격 증명 검색
아래의 기사가 매우 참고가 되었습니다.
Heroku의 Laravel에서 Redis 사용 - Qiita
config/database.php// ファイル冒頭に追加
if (getenv('REDIS_URL')) {
$url = parse_url(getenv('REDIS_URL'));
putenv('REDIS_HOST='.$url['host']);
putenv('REDIS_PORT='.$url['port']);
putenv('REDIS_PASSWORD='.$url['pass']);
}
PHP: parse_url - Manual
PHP: getenv - Manual
PHP: putenv - Manual
로컬에서 동작 확인
URL이 올바르게 분해되었는지 확인합니다.
미리 로컬에서도 Redis를 사용할 수 있도록 해 두십시오.
세션 저장에 Redis 사용 (로컬 환경) )
아래와 같이 환경 설정을 변경하십시오.
.env# コメントアウトする
# REDIS_HOST=127.0.0.1
# REDIS_PASSWORD=null
# REDIS_PORT=6379
# 上の設定をHerokuのREDIS_URLの形式にあてはめる
REDIS_URL=redis://foo:[email protected]:6379
나머지는 위 기사에서 확인하는 방법과 같습니다.
미리 작성한 루트에 브라우저에서 액세스합니다. ( https://(ドメイン)/test-session
)
그런 다음 Redis GUI 도구를 사용하여 세션이 저장되었는지 확인합니다.
확인이 끝나면 Heroku로 푸시하십시오.
PowerShell> git push heroku master
Heroku에서 실제로 Redis 사용
PowerShell# Herokuでのセッションの保存先を`redis`に変更
> heroku config:set SESSION_DRIVER=redis
동작 확인
로컬에서의 동작 확인과 같이, 우선은 https://(ドメイン)/test-session
에 브라우저로부터 액세스 합니다.
그런 다음 세션이 저장되어 있는지 확인하고 싶지만 Heroku는 GUI를 사용할 수 없으므로 명령으로 확인합니다.
아래와 같이 선택적으로 Heroku 앱 이름을 지정하면 한 번의 명령으로 Heroku Redis에 연결할 수 있습니다.
(Heroku) redis : cli
PowerShell> heroku redis:cli -a sutara79-laravel -c sutara79-laravel
그건 그렇고, redis:cli
의 도움말은 다음과 같습니다.
PowerShell> heroku redis:cli --help
Usage: heroku redis:cli [DATABASE] [flags]
opens a redis prompt
Flags:
-a, --app (required) app to run command against
-c, --confirm
-r, --remote git remote of app to use
접속 후는 보통으로 Redis 명령 를 사용할 수 있습니다.
우선, KEYS* 로 모든 키를 취득해, 그중에서 Laravel의 세션용으로 사용되고 있는 것을 찾아내, 그 키의 내용을 GET 로 취득합니다.
그 안에 こんにちはこんにちは!!
도 포함되어 있으며 세션이 제대로 Redis에 저장되어 있음을 알 수 있습니다.
또한 절단에는 QUIT을 사용합니다.
자신의 PC에 설치한 Redis에서는 exit
도 사용할 수 있었지만, 그것은 공식적으로 제공된 명령이 아닌 것 같네요.
절차를 요약합니다.
PowerShell# Redisに接続
> heroku redis:cli -a sutara79-laravel -c sutara79-laravel
Connecting to redis-angular-23368 (REDIS_URL):
# すべてのキーを取得
> keys *
1) laravel:SeDXaIe5ffKdZhdeHpgy8wLnhjyXJTOSps5o43fJ
# キーの中身をGETで取得
# 「こんにちはこんにちは!!」が含まれていることを確認
> get laravel:SeDXaIe5ffKdZhdeHpgy8wLnhjyXJTOSps5o43fJ
s:316:"a:6:{s:6:"_token";s:40:"gz7JGwGUOFdatn2uQfxhaG1CYGoPJKiB0vTufxLW";s:6:"locale";s:2:"en";s:9:"_previous";a:1:{s:3:"url";s:50:"http://sutara79-laravel.herokuapp.com/test-session";}s:22:"PHPDEBUGBAR_STACK_DATA";a:0:{}s:6:"_flash";a:2:{s:3:"old";a:0:{}s:3:"new";a:0:{}}s:3:"foo";s:32:"こんにちはこんにちは!!";}";
# 切断にはQUITを使う
> quit
OK
# (EXITは使えない)
> exit
ERR unknown command 'exit'
Reference
이 문제에 관하여(Laravel 5.5 : 세션 저장에 Redis 사용 (Heroku)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sutara79/items/053d65dc43d78bbe8d58
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Create a new instance
PowerShell
# 無料プランでRedisを使う
> heroku addons:create heroku-redis:hobby-dev
추가 기능
Hobby Dev
플랜은 무료이지만 신용 카드 등록이 필요합니다.아래 페이지에서 등록 화면으로 갈 수 있습니다.
htps : // 헤로쿠. 코 m/ゔぇ리 fy
등록하지 않으면 아래와 같이 경고됩니다.
> heroku addons:create heroku-redis:hobby-dev
Creating heroku-redis:hobby-dev on sutara79-laravel... !
! Please verify your account to install this add-on plan (please enter a credit card) For more information, see
! https://devcenter.heroku.com/categories/billing Verify now at https://heroku.com/verify
자격증명 취득
아래의 명령으로 얻을 수 있는 REDIS_URL
안의 패스워드, 호스트, 포트를 Laravel로 사용합니다.
PowerShell> heroku config | Select-String REDIS
REDIS_URL: redis://<ユーザー>:<パスワード>@<ホスト>:<ポート>
다만, 공식 문서로 경고되고 있는 대로, REDIS_URL
(은)는 언제라도 변경될 가능성이 있다고 합니다.
단순히 값을 복사하는 것이 아니라, 동적으로 REDIS_URL
로부터 필요한 값을 꺼내지 않으면 안됩니다.
In order for Heroku to manage this add-on for you and respond to a variety of operational situations, the REDIS config vars may change at any time. Relying on the config var outside of your Heroku app may result in you having to re-copy the value if it changes.
Create a new instance
동적으로 자격 증명 검색
아래의 기사가 매우 참고가 되었습니다.
Heroku의 Laravel에서 Redis 사용 - Qiita
config/database.php// ファイル冒頭に追加
if (getenv('REDIS_URL')) {
$url = parse_url(getenv('REDIS_URL'));
putenv('REDIS_HOST='.$url['host']);
putenv('REDIS_PORT='.$url['port']);
putenv('REDIS_PASSWORD='.$url['pass']);
}
PHP: parse_url - Manual
PHP: getenv - Manual
PHP: putenv - Manual
로컬에서 동작 확인
URL이 올바르게 분해되었는지 확인합니다.
미리 로컬에서도 Redis를 사용할 수 있도록 해 두십시오.
세션 저장에 Redis 사용 (로컬 환경) )
아래와 같이 환경 설정을 변경하십시오.
.env# コメントアウトする
# REDIS_HOST=127.0.0.1
# REDIS_PASSWORD=null
# REDIS_PORT=6379
# 上の設定をHerokuのREDIS_URLの形式にあてはめる
REDIS_URL=redis://foo:[email protected]:6379
나머지는 위 기사에서 확인하는 방법과 같습니다.
미리 작성한 루트에 브라우저에서 액세스합니다. ( https://(ドメイン)/test-session
)
그런 다음 Redis GUI 도구를 사용하여 세션이 저장되었는지 확인합니다.
확인이 끝나면 Heroku로 푸시하십시오.
PowerShell> git push heroku master
Heroku에서 실제로 Redis 사용
PowerShell# Herokuでのセッションの保存先を`redis`に変更
> heroku config:set SESSION_DRIVER=redis
동작 확인
로컬에서의 동작 확인과 같이, 우선은 https://(ドメイン)/test-session
에 브라우저로부터 액세스 합니다.
그런 다음 세션이 저장되어 있는지 확인하고 싶지만 Heroku는 GUI를 사용할 수 없으므로 명령으로 확인합니다.
아래와 같이 선택적으로 Heroku 앱 이름을 지정하면 한 번의 명령으로 Heroku Redis에 연결할 수 있습니다.
(Heroku) redis : cli
PowerShell> heroku redis:cli -a sutara79-laravel -c sutara79-laravel
그건 그렇고, redis:cli
의 도움말은 다음과 같습니다.
PowerShell> heroku redis:cli --help
Usage: heroku redis:cli [DATABASE] [flags]
opens a redis prompt
Flags:
-a, --app (required) app to run command against
-c, --confirm
-r, --remote git remote of app to use
접속 후는 보통으로 Redis 명령 를 사용할 수 있습니다.
우선, KEYS* 로 모든 키를 취득해, 그중에서 Laravel의 세션용으로 사용되고 있는 것을 찾아내, 그 키의 내용을 GET 로 취득합니다.
그 안에 こんにちはこんにちは!!
도 포함되어 있으며 세션이 제대로 Redis에 저장되어 있음을 알 수 있습니다.
또한 절단에는 QUIT을 사용합니다.
자신의 PC에 설치한 Redis에서는 exit
도 사용할 수 있었지만, 그것은 공식적으로 제공된 명령이 아닌 것 같네요.
절차를 요약합니다.
PowerShell# Redisに接続
> heroku redis:cli -a sutara79-laravel -c sutara79-laravel
Connecting to redis-angular-23368 (REDIS_URL):
# すべてのキーを取得
> keys *
1) laravel:SeDXaIe5ffKdZhdeHpgy8wLnhjyXJTOSps5o43fJ
# キーの中身をGETで取得
# 「こんにちはこんにちは!!」が含まれていることを確認
> get laravel:SeDXaIe5ffKdZhdeHpgy8wLnhjyXJTOSps5o43fJ
s:316:"a:6:{s:6:"_token";s:40:"gz7JGwGUOFdatn2uQfxhaG1CYGoPJKiB0vTufxLW";s:6:"locale";s:2:"en";s:9:"_previous";a:1:{s:3:"url";s:50:"http://sutara79-laravel.herokuapp.com/test-session";}s:22:"PHPDEBUGBAR_STACK_DATA";a:0:{}s:6:"_flash";a:2:{s:3:"old";a:0:{}s:3:"new";a:0:{}}s:3:"foo";s:32:"こんにちはこんにちは!!";}";
# 切断にはQUITを使う
> quit
OK
# (EXITは使えない)
> exit
ERR unknown command 'exit'
Reference
이 문제에 관하여(Laravel 5.5 : 세션 저장에 Redis 사용 (Heroku)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sutara79/items/053d65dc43d78bbe8d58
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
> heroku config | Select-String REDIS
REDIS_URL: redis://<ユーザー>:<パスワード>@<ホスト>:<ポート>
아래의 기사가 매우 참고가 되었습니다.
Heroku의 Laravel에서 Redis 사용 - Qiita
config/database.php
// ファイル冒頭に追加
if (getenv('REDIS_URL')) {
$url = parse_url(getenv('REDIS_URL'));
putenv('REDIS_HOST='.$url['host']);
putenv('REDIS_PORT='.$url['port']);
putenv('REDIS_PASSWORD='.$url['pass']);
}
PHP: parse_url - Manual
PHP: getenv - Manual
PHP: putenv - Manual
로컬에서 동작 확인
URL이 올바르게 분해되었는지 확인합니다.
미리 로컬에서도 Redis를 사용할 수 있도록 해 두십시오.
세션 저장에 Redis 사용 (로컬 환경) )
아래와 같이 환경 설정을 변경하십시오.
.env
# コメントアウトする
# REDIS_HOST=127.0.0.1
# REDIS_PASSWORD=null
# REDIS_PORT=6379
# 上の設定をHerokuのREDIS_URLの形式にあてはめる
REDIS_URL=redis://foo:[email protected]:6379
나머지는 위 기사에서 확인하는 방법과 같습니다.
미리 작성한 루트에 브라우저에서 액세스합니다. (
https://(ドメイン)/test-session
)그런 다음 Redis GUI 도구를 사용하여 세션이 저장되었는지 확인합니다.
확인이 끝나면 Heroku로 푸시하십시오.
PowerShell
> git push heroku master
Heroku에서 실제로 Redis 사용
PowerShell# Herokuでのセッションの保存先を`redis`に変更
> heroku config:set SESSION_DRIVER=redis
동작 확인
로컬에서의 동작 확인과 같이, 우선은 https://(ドメイン)/test-session
에 브라우저로부터 액세스 합니다.
그런 다음 세션이 저장되어 있는지 확인하고 싶지만 Heroku는 GUI를 사용할 수 없으므로 명령으로 확인합니다.
아래와 같이 선택적으로 Heroku 앱 이름을 지정하면 한 번의 명령으로 Heroku Redis에 연결할 수 있습니다.
(Heroku) redis : cli
PowerShell> heroku redis:cli -a sutara79-laravel -c sutara79-laravel
그건 그렇고, redis:cli
의 도움말은 다음과 같습니다.
PowerShell> heroku redis:cli --help
Usage: heroku redis:cli [DATABASE] [flags]
opens a redis prompt
Flags:
-a, --app (required) app to run command against
-c, --confirm
-r, --remote git remote of app to use
접속 후는 보통으로 Redis 명령 를 사용할 수 있습니다.
우선, KEYS* 로 모든 키를 취득해, 그중에서 Laravel의 세션용으로 사용되고 있는 것을 찾아내, 그 키의 내용을 GET 로 취득합니다.
그 안에 こんにちはこんにちは!!
도 포함되어 있으며 세션이 제대로 Redis에 저장되어 있음을 알 수 있습니다.
또한 절단에는 QUIT을 사용합니다.
자신의 PC에 설치한 Redis에서는 exit
도 사용할 수 있었지만, 그것은 공식적으로 제공된 명령이 아닌 것 같네요.
절차를 요약합니다.
PowerShell# Redisに接続
> heroku redis:cli -a sutara79-laravel -c sutara79-laravel
Connecting to redis-angular-23368 (REDIS_URL):
# すべてのキーを取得
> keys *
1) laravel:SeDXaIe5ffKdZhdeHpgy8wLnhjyXJTOSps5o43fJ
# キーの中身をGETで取得
# 「こんにちはこんにちは!!」が含まれていることを確認
> get laravel:SeDXaIe5ffKdZhdeHpgy8wLnhjyXJTOSps5o43fJ
s:316:"a:6:{s:6:"_token";s:40:"gz7JGwGUOFdatn2uQfxhaG1CYGoPJKiB0vTufxLW";s:6:"locale";s:2:"en";s:9:"_previous";a:1:{s:3:"url";s:50:"http://sutara79-laravel.herokuapp.com/test-session";}s:22:"PHPDEBUGBAR_STACK_DATA";a:0:{}s:6:"_flash";a:2:{s:3:"old";a:0:{}s:3:"new";a:0:{}}s:3:"foo";s:32:"こんにちはこんにちは!!";}";
# 切断にはQUITを使う
> quit
OK
# (EXITは使えない)
> exit
ERR unknown command 'exit'
Reference
이 문제에 관하여(Laravel 5.5 : 세션 저장에 Redis 사용 (Heroku)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sutara79/items/053d65dc43d78bbe8d58
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
# Herokuでのセッションの保存先を`redis`に変更
> heroku config:set SESSION_DRIVER=redis
> heroku redis:cli -a sutara79-laravel -c sutara79-laravel
> heroku redis:cli --help
Usage: heroku redis:cli [DATABASE] [flags]
opens a redis prompt
Flags:
-a, --app (required) app to run command against
-c, --confirm
-r, --remote git remote of app to use
# Redisに接続
> heroku redis:cli -a sutara79-laravel -c sutara79-laravel
Connecting to redis-angular-23368 (REDIS_URL):
# すべてのキーを取得
> keys *
1) laravel:SeDXaIe5ffKdZhdeHpgy8wLnhjyXJTOSps5o43fJ
# キーの中身をGETで取得
# 「こんにちはこんにちは!!」が含まれていることを確認
> get laravel:SeDXaIe5ffKdZhdeHpgy8wLnhjyXJTOSps5o43fJ
s:316:"a:6:{s:6:"_token";s:40:"gz7JGwGUOFdatn2uQfxhaG1CYGoPJKiB0vTufxLW";s:6:"locale";s:2:"en";s:9:"_previous";a:1:{s:3:"url";s:50:"http://sutara79-laravel.herokuapp.com/test-session";}s:22:"PHPDEBUGBAR_STACK_DATA";a:0:{}s:6:"_flash";a:2:{s:3:"old";a:0:{}s:3:"new";a:0:{}}s:3:"foo";s:32:"こんにちはこんにちは!!";}";
# 切断にはQUITを使う
> quit
OK
# (EXITは使えない)
> exit
ERR unknown command 'exit'
Reference
이 문제에 관하여(Laravel 5.5 : 세션 저장에 Redis 사용 (Heroku)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/sutara79/items/053d65dc43d78bbe8d58텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)