расширение pgsql не загружается

Я пытаюсь использовать расширение pgsql в Windows 10 64-bit (WAPP).
Я имею:

  • перезапустил Apache
  • раскомментировал все расширения postgresql в php.ini
  • используемый LoadFile загрузить pgsql.dll
  • переехал pgsql.dll в Apache bin (я пробовал и DLL из папки php и из postgresql)

Но до сих пор нет результата.
pgsql виден только в php.exe -m но не в phpinfo(), extension_loaded(), get_loaded_extensions(),
Моя версия PHP 7.1.8 и PostgreSQL это 9.6 а апач это 2.4.27,
мой php.exe -m выход:
php -m

В чем может быть проблема?

0

Решение

[Решено]

Хорошо, после нескольких часов поиска я нашел проблему и смог решить проблему с модулями pdo_pgsql и pgsql, которые не отображаются в phpinfo ().

[РЕШЕНИЕ]

Раскомментировав расширения в php.ini, перейдите в httpd.conf и добавьте вверху всех строк LoadModule следующее:

Загрузить файл «C: / Program Files / PostgreSQL / 9.6 / bin / libpq.dll»

(при условии, что вы используете последнюю версию PostgreSQL, в противном случае измените номер на версию, которую вы используете).

Сохраните и перезапустите Apache. Перейдите к phpinfo (), и вы увидите, что он загружен.

[Причина]

Apache не может увидеть libpg.dll, даже если вы скопируете его в папку Apache / bin.

[СРЕДА]
  • Windows Server 2016 (работает и для Windows 10)
  • Apache 2.4.26
  • (x64) PHP 7.1.8 (x64 ThreadSafe VC14)
  • PostgreSQL 9.6.4 (x64)
3

Другие решения

Обычно командная строка PHP не разделяет файл конфигурации с Apache или, другими словами, Apache php.ini это другой, чем тот, который вы редактировали.

использование phpinfo() работает через apache и искать php.ini найти файл конфигурации, который был загружен.

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector