Рейтинг:0

Почему IIS PHP не распознает PhpRedis, если он существует и правильно добавлен?

флаг us

До того как вы прочтете:

В настоящее время у меня есть PHP-скрипт, который просто добавляет Redis (используя PhpRedis).

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

Это создает сообщение «500 Internal Server Error». После проверки журналов PHP 7.4 x64, несмотря на то, что находится здесь, загрузка страницы вызывает ошибку:

[06-Aug-2021 15:54:13 UTC] Предупреждение PHP: запуск PHP: невозможно загрузить динамическую библиотеку 'php_redis.dll' (пробовал: C:\Program Files\PHP\v7.4\ext\php_redis.dll ( Не удалось найти указанный модуль.), C:\Program Files\PHP\v7.4\ext\php_php_redis.dll.dll (Указанный модуль не найден.)) в Неизвестно в строке 0

Он не ищет в неправильном месте или не добавляется из-за этих записей в php.ini:

[Изменения WebPIC]
extension_dir="C:\Program Files\PHP\v7.4\ext\"
...
[Список расширений]
расширение = php_redis.dll
...

ИИС может обнаружить плагин Redis в диспетчере расширений и указать, что он включен.

Эта проблема возникает в v7.4. Я пробовал это в v8.0, и я все еще сталкиваюсь с теми же проблемами. PhpRedis 5.3.4 предоставляет DLL версии 7.4, по-прежнему та же проблема, о каких-либо зависимостях не сообщается.

Рейтинг:0
флаг us

Проблема решена. Моя скомпилированная версия PHP не поддерживала функции безопасности потоков, поэтому я должен либо скомпилировать версию с безопасностью потоков, либо использовать версию PhpRedis для NTS.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.