PHP, не загружающий php_pgsql.dll в Windows

Использование первого не является по своей сути более безопасным, чем последнее, вам необходимо дезинформировать ввод, является ли он частью массива параметров или простой переменной. Поэтому я не вижу ничего плохого в использовании последней формы с $table, если вы убедитесь, что содержание $table безопасно (alphanum plus underscores?) Перед его использованием.

33
задан Ross 15 February 2009 в 22:31
поделиться

5 ответов

Ознакомьтесь с информацией на странице установки PHP PostgreSQL: http://us.php.net/manual/en/pgsql.installation.php

На сервере Windows , настроенный с помощью Apache, добавление следующей строки в httpd.conf для загрузки libpq.dll может сэкономить вам много времени:

 LoadFile "C: / Program Files / PostgreSQL / 8.4 / bin / libpq.dll"

Обратите внимание, что вам придется изменить свою папку в соответствии с путем установки и версией PostgreSQL, которую вы установили. Также обратите внимание, что не рекомендуется иметь Apache и PostgreSQL на одном сервере для производственных сред.

Это мгновенно исправило мою установку.

81
ответ дан 27 November 2019 в 17:22
поделиться

Проблема со связанными библиотеками, пользовавшимися php_pgsql.dll - как libpq.dll, OpenSLL и т.д. Необходимо найти их (от распределения zip Пост-ГРЭС, от установленного psqlODBC драйвера и т.д.) и поместить их в папку, которая находится в ПУТИ. Что касается списка всего DLLs - используют Зависимость MS Walker (depends.exe).

Другой важный бит - Apache (при использовании Apache, который является) имеет свой собственный набор OpenSSL DLLs. Замените или просто переименуйте их так для не столкновения с теми, которые от распределения Пост-ГРЭС.

4
ответ дан Milen A. Radev 11 October 2019 в 07:29
поделиться

Единственное время я видел эту ошибку (и имя файла и путь расширения были определенно корректны) было, когда я пытался использовать неверную версию DLL, т.е. Я использовал тот, который был скомпилирован против другой версии PHP к тому, который я выполнял.

Удостоверяются, что Ваша версия является определенно той, скомпилированной против PHP 5.2.8.

Редактирование: или, полномочия на файле были установлены неправильно.

0
ответ дан Jack Sleight 11 October 2019 в 07:29
поделиться

Проблема LIBPQ.DLL с php в Vista ...

  • Проверьте, чтобы уверен, что у вас действительно установлен postgres. Если вы устанавливаете php в Windows с помощью postgres API, без установки postgres, вы можете получить это предупреждение. Слишком легко просто щелкнуть все в установщике Windows ...

  • Закомментируйте соответствующую строку в php.ini.

0
ответ дан 27 November 2019 в 17:22
поделиться

Просто подумайте - убедитесь, что двоичные файлы Postgres находятся в пути SYSTEM, а не в вашем пользовательском пути. Как оказалось, это была проблема на моей машине. : -)

Редактировать:

Если подумать, это объясняет, почему Dependency Walker сообщал обо всех A-OK, но проблема все равно сохранялась - вы запускаете DW под своей учетной записью, а Apache работает как SYSTEM, и, следовательно, ваши личные настройки PATH будут недоступны.

2
ответ дан 27 November 2019 в 17:22
поделиться