PHP를 사용하여 Redis에 연결할 수 없습니다
P粉465287592
P粉465287592 2023-09-01 15:37:59
0
2
676
<p>php를 사용하여 redis에 연결할 수 없습니다. docker로 환경을 설정하고 php 및 redis 컨테이너를 사용하여 php에서 redis를 연결하려고 시도했지만 실패했습니다. 다음 오류가 발생합니다. </p> <pre class="brush:php;toolbar:false;">PHP 경고: PHP 시작: 동적 라이브러리 'redis.so'를 로드할 수 없습니다(시도: /usr/lib/php/20190902/redis.so (/ usr/lib/php/20190902/redis.so: 정의되지 않은 기호: php_json_decode_ex), /usr/lib/php/20190902/redis.so.so (/usr/lib/php/20190902/redis.so.so: 열 수 없음 공유 객체 파일: 해당 파일이나 디렉터리가 없음)) 0행에 알 수 없음 PHP 공지: session_start(): 2행의 /var/www/html/index.php에서 session_id를 생성하는 동안 Redis를 사용할 수 없습니다. PHP 경고: session_start(): 세션 데이터를 읽지 못했습니다: 2행의 /var/www/html/index.php에 있는 redis(경로: tcp://localhost:6379) 문자열(0) "" save_handler=redis save_path=tcp://localhost:6379 session_id=</pre> <p>오류에 대한 응답으로 실행되는 PHP 파일입니다. </p> <pre class="brush:php;toolbar:false;"><?php 세션_시작(); ini_set('session.cookie-domain', 'localhost'); var_dump(session_id()); echo "save_handler=" .ini_get("session.save_handler") . echo "save_path=" .ini_get("session.save_path") . echo "session_id=" . 세션_id() . $_SESSION['libname'] = "PhpRedis";; ?></pre> <p>php.ini 파일의 일부입니다. </p> <pre class="brush:php;toolbar:false;">[세션] ; 데이터를 저장/검색하는 데 사용되는 핸들러. ; http://php.net/session.save-handler session.save_handler = 레디스 session.save_path = "tcp://localhost:6379" ;redis 확장 모듈 확인 확장자=redis.so ; 기본 redis 시간 초과 redis.timeout = 5</pre> <p>이 문제를 해결하는 데 필요한 정보가 누락된 경우 알려주시기 바랍니다. 미리 감사드립니다. </p> <p>첨부파일: ping을 입력하면 pong이 반환됩니다. redis-cli를 사용하여 PHP 컨테이너에서 Redis에 연결할 수 있습니다. 또한 redis.so에 대한 경로는 다음과 같습니다. <코드>~/usr/lib/php/20190902/redis.so</code> php.ini 경로(사용된 서버는 apache2입니다). <code>~/etc/php/7.4/apache2/php.ini</code></p>
P粉465287592
P粉465287592

모든 응답(2)
P粉116631591
  1. 무가 팀으로 활동하는지 확인해보세요redis-cli ping 답변 乒乓

  2. PHP 구성에 Redis 확장에 대한 올바른 설정이 포함되어 있는지 확인하세요. 올바른 경로와 기타 필요한 구성은 php.ini文件是否指定了redis.so를 확인하세요.

P粉920199761

Php.ini 파일을 다음과 같이 조정했습니다.
조정 전

으아악

조정 후

으아악

감사합니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿