PhpRedis가 존재하고 올바르게 추가되었는데 IIS PHP가 PhpRedis를 인식하지 못하는 이유는 무엇입니까?

PhpRedis가 존재하고 올바르게 추가되었는데 IIS PHP가 PhpRedis를 인식하지 못하는 이유는 무엇입니까?

읽기 전에:

현재 Redis(PhpRedis 사용)를 추가하는 PHP 스크립트가 있습니다.

<?php
    $redis = new Redis ();
?>

그러면 "500 내부 서버 오류" 메시지가 생성됩니다. PHP 7.4 x64의 로그를 살펴보면,이곳에 위치해 있음에도 불구하고, 페이지를 로드하면 오류가 발생합니다.

[06-Aug-2021 15:54:13 UTC] PHP Warning:  PHP Startup: Unable to load dynamic library 'php_redis.dll' (tried: C:\Program Files\PHP\v7.4\ext\php_redis.dll (The specified module could not be found.), C:\Program Files\PHP\v7.4\ext\php_php_redis.dll.dll (The specified module could not be found.)) in Unknown on line 0

다음 항목으로 인해 잘못된 위치에서 검색되지 않거나 추가되지 않았습니다 php.ini.

[WebPIChanges]
extension_dir="C:\Program Files\PHP\v7.4\ext\"
...
[ExtensionList]
extension=php_redis.dll
...

IIS~할 수 있다확장 관리자에서 redis 플러그인을 감지하고 활성화되어 있음을 나타냅니다.

이 문제는 v7.4에서 발생합니다. v8.0에서 이것을 시도했지만 여전히 동일한 문제에 직면합니다. PhpRedis 5.3.4는 v7.4 DLL을 제공하지만 종속성을 인식하지 못한 채 여전히 동일한 문제가 발생합니다.

답변1

문제가 해결되었습니다. 내 컴파일된 PHP 버전은 스레드 안전 기능을 지원하지 않으므로 스레드 안전이 포함된 버전을 컴파일하거나 NTS 버전의 PhpRedis를 사용해야 합니다.

관련 정보