Repository 클론 및 PHP Built-in Web server 설정 후
서버 기동해서 사이트 접속을 했는데 아래와 같은 오류가 발생함

Session save handler "redis" cannot be found
open tcp://127.0.0.1:6379 failed
failed to read session data
소스를 따라가보니 아래와 같이 session, redis 와 관련된 내용이 있었음
ini_set('session.save_handler', 'redis');
ini_set('session.save_path', 'tcp://127.0.0.1:6379');
session_start();
구글링을 통해 redis 설정이 필요함을 확인했고 아래와 같이 설정하고 그 기록을 남긴다.
1. 윈도우 설치용 Redis
1-1) Redis for windows 다운
윈도우에 설치 가능한 Redis 가 있으며 아래의 경로에서 다운 가능함
https://github.com/microsoftarchive/redis/releases
Releases · microsoftarchive/redis
Redis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes - microsoftarchive/redis
github.com
나는 여러 버전 중 Latest 라고 표시된 아래의 버전
그 중에서도 설치형 버전을 다운받음

1-2) Redis 설치


쭉 Next 만 눌러도 되나 중간에 (스샷을 못찍음..)
환경변수 자동추가 옵션이 있어서 그 항목은 추가로 체크해줌
1-3) 설치 완료 후 확인
설치가 완료 된 후 명령 프롬프트에서 "redis-cli" 를 입력하면 localhost의 6379 (기본포트) redis로 접속되고
이 상태에서 "ping" 을 입력하면 PONG 이라는 response를 받을 수 있음

다양한 경로를 통해 redis-server 실행상태 확인 가능


redis-server 실행 상태가 확인되지 않는 경우
명령프롬프트 혹은 redis 설치 경로에서 redis-server.exe를 직접 실행 할 수 있음
2. php redis (php_redis.dll) 설정
2-1) 다운로드 경로
https://pecl.php.net/package/redis
PECL :: Package :: redis
Package Information Summary PHP extension for interfacing with key-value stores Maintainers Michael Grunder < michael dot grunder at gmail dot com > (lead) [details] Pavlo Yatsukhnenko (lead) [details] License PHP Description This extension provides an API
pecl.php.net

위 사이트 접속 후 최신 버전의 DLL 클릭

다운 받으면 압축 파일이 다운 받아지며
압축 해제 후 그 중 php_redis.dll 파일을 php 설치 경로 하위의 ext 폴더에 위치시킴

해당 dll 파일을 php가 인식 할 수 있도록 php.ini 에 경로를 명시적으로 지정해줘야 함

extension=C:/php/ext/php_redis.dll
PHP server가 구동중인 경우 php.ini를 수정했으면 서버를 재기동 해줘야 함
서버 기동 후 위 오류가 사라지고 session, redis 정상 수행됨
'프로그래밍 > PHP' 카테고리의 다른 글
| PHP short_open_tag (0) | 2024.11.21 |
|---|---|
| PhpStorm Repository Clone (Synology Gitea - 깃티) (0) | 2024.11.15 |
| PHP (w/ PhpStorm) 초기 설정 및 구축 (0) | 2024.11.14 |
댓글