Php pgsql install windows

Установка и настройка

Содержание

User Contributed Notes 5 notes

This happened to me also with PHP 5.4.1
Copying the offending DLL everywhere didn’t worket, and I don’t have Postgres installed in the server, but also planned to use PHP against different Postgres versions, so the only solution I found that worked was to put in httpd.conf a line like this:

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

but refering to the libpq.dll that comes bundled with PHP, like this:

After that it worked fine to me.

If you get a message like this:
«Php Startup: Unable to load dynamic library ‘C:\php\ext\php_pgsql.dll»

1. In the Configuration File alter the order of the libraries «php_exif.dll» and «php_mbstring.dll», in such a way that is called first the library «php_mbstring.dll»

2. Copy all the libraries in the folder «bin» of your installation of PostgreSQL and paste them into the root folder of Windows

3. Uncomment the line «extension=php_pgsql.dll»
4. Now you should see on the page generated by «phpinfo()» section of PostgreSQL

Unable to load dynamic library ‘C:\\php\\ext\\php_pgsql.dll’ — The specified module could not be found.

copy libpq.dll/all files from zip (if you have php from installer)

add to httpd.conf:

#BEGIN PHP INSTALLER EDITS — REMOVE ONLY ON UNINSTALL
PHPIniDir «c:/PHP/»
Loadfile «C:\php\php5ts.dll»
Loadfile «C:\php\libpq.dll»
LoadModule php5_module «c:/PHP/php5apache2_2.dll»
#END PHP INSTALLER EDITS — REMOVE ONLY ON UNINSTALL
AddHandler application/x-httpd-php .php
AddHandler application/x-httpd-php-source .phps

(in php.ini default: extension_dir =»c:\PHP\ext» )

if it doesn’t work add c:\php (php path) to your windows path (and restart)

tested on php5.2.8 + apache2.2.3

If you get this error on Windows:

Unable to load dynamic library ‘C:/php/ext\\php_pgsql.dll’ — The specified module could not be found.

Try downloading the PostgreSQL binaries-no-install archive from http://www.postgresql.org/ftp/binary/v8.3.5/win32/ (replace 8.3.5 with the latest stable version) and copy these DLLs to C:/WINDOWS/system32/ :

Another windows xp solution for «Unable to load dynamic library ‘php_pgsql.dll’ — The specified module could not be found.»

Add the path of the postgres binaries to the system search-path:

Right click on «My Computer», select «properties», «advanced»-tab, «Environment variables»-button, «System variables»-section, select «path» and click «Edit» and add the path to the postgres binaries at the end, in my case it was «C:\Program Files\PostgreSQL\8.4\bin» and then restart the computer (or at least restart the apache/php processes)

Please note that the system-path can have several values, each separated by a semicolon «;».

Настройка PHP и PostgreSQL в Windows

Я устанавливаю PHP, Apache и PostgreSQL вручную

PHP и Apache теперь подключены, но PostgreSQL не связан с PHP.

я тестирую с помощью phpinfo ();

Я также настраиваю php.ini следующим образом:

Но почему это не работает.

Этот урок работал для меня:

Расширение PHP будет искать libpq.dll который найден в вашей установке PostgreSQL. Простое исправление заключается в том, чтобы добавить путь, который содержит этот файл в вашу среду PATH.

1) Установка PostgreSQL для Windows

2) добавьте в свою переменную среды «PATH» папку bin установки PostgreSQL: C: \ Program Files \ PostgreSQL \ 9.2 \ bin; (например)

Предполагая, что вы установили PostgreSQL и ваша установка WAMP находится на c: \ wamp, вам нужно скопировать c: \ wamp \ bin \ php \ php5.3.9 \ libpq.dll в c: \ wamp \ bin \ apache \ Apache2.2.11 \ Bin

Читайте также:  Не могу поставить линукс с флешки

Убедитесь, что у вас также есть следующие файлы C: \ wamp \ bin \ php \ php5.3.9 \ ext \ php_pdo_pgsql.dll и C: \ wamp \ bin \ php \ php5.3.9 \ ext \ php_pgsql.dll

Кроме того, убедитесь, что вы включили вышеуказанные 2 файла в качестве расширений либо через меню WAMP (щелкните значок WAMP на панели задач, PHP, PHPExtensions, найдите вышеприведенные 2 и «проверьте» их)

Обратите внимание, что php5.3.9 и Apache2.2.11 относятся к моим конкретным версиям PHP и Apache. Откорректируйте те, которые подходят для вашей установки.

У меня была такая же проблема с PHP7 и Apache 2.4 в Windows 10. Для меня было решение добавить следующую строку в httpd.conf ;

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

Используйте PostgreSQL и PHP на Windows

Я предполагаю, что каждый посетитель SitePoint видел слова «Веб-сайт, управляемый базой данных, используя PHP и MySQL» миллион раз. То, что вы не видите каждый день, это комбинация «PHP и PostgreSQL» — особенно не с пост-скриптом «… в Windows».

Некоторые люди думают, что запустить PostgreSQL в Windows невероятно сложно, потому что нет простого в использовании установщика Win32 (на момент написания 7.3.4. Была последней версией). Пользователи должны сначала установить своего рода эмулятор Unix и запустить систему баз данных на этой «платформе».

На сайте технической документации PostgreSQL говорится: «Основной план проекта PostgreSQL — добавить поддержку родной версии Windows с нашим выпуском 7.4. Вероятно, он будет выпущен в середине 2003 года…» Я еще не видел этот выпуск… возможно, поздно 2003? Однако это означает, что в будущем PostgreSQL станет еще более привлекательным выбором, чем MySQL!

Создать веб-сайт, управляемый базой данных, с помощью PostgreSQL? Зачем ты это делаешь? Разве не правило, что если вы используете PHP, ваша база данных — MySQL — точка !?

Ну, в моем случае, это было до тех пор, пока мне не было поручено преобразовать решение ASP / MSSQL в PHP / PostgreSQL. Причины перемен?

  1. мы (цедент) больше не хотели использовать продукты Microsoft (из-за связанных с этим затрат на лицензирование)
  2. мы хотели, чтобы функции базы данных отсутствовали в MySQL (внешние ключи и т. д.)

Мне также показалось, что было бы неплохо установить как старый ASP, так и новый PHP на одной машине разработки (Windows), когда мы выполняли этот «перевод». Еще одна веская причина попробовать комбинацию Windows, PostgreSQL и PHP в том, что всегда интересно найти ответ на этот давний вопрос: «Насколько это может быть сложно?»

Я должен заранее признать, что я разработчик Microsoft. В первую очередь я использую MSSQL, реже MySQL и почти никогда не использую PostgreSQL. То же самое было и с операционными системами; 90% времени я использовал Windows, 10% Linux. Несмотря на эти факты, мой переход на PostgreSQL благополучно закончился. И если это было выполнимо для меня, то и для вас тоже.

Для получения дополнительной информации об альтернативах MySQL см. Статью Уэйна Люка « Выход за пределы MySQL — решения для баз данных высокого уровня» .

Обратите внимание, что в этом руководстве предполагается, что вы прочитали первую главу превосходного веб-сайта Кевина Янка «Создайте свой собственный сайт, управляемый базой данных с использованием PHP и MySQL», или какое-то другое руководство, в котором объясняется, как установить Apache и PHP в Windows. Что еще более важно, я предполагаю, что после изучения этого процесса вы успешно установили веб-сервер с PHP-плагином.

Установка Cygwin

Первая задача — загрузить и установить Cygwin , которая представляет собой Linux-подобную среду для Windows. На момент написания статьи последняя версия Cygwin — 1.5.5. Неплохая идея переименовать setup.exe в cygwin_setup.exe — таким образом, файл будет легче найти, если вы захотите позже добавить / удалить / обновить компоненты Cygwin.
Естественно, вы должны войти в систему как пользователь, принадлежащий к группе администраторов при запуске программы установки.

Читайте также:  Посмотреть назначенные задания windows

Программа установки Cygwin Net Release задаст вам следующие восемь вопросов:

  1. Отключить антивирусный сканер?
    Поскольку некоторые антивирусные программы могут вызывать проблемы во время установки Cygwin, у вас есть возможность временно отключить антивирусный сканер. В большинстве случаев работает опция по умолчанию Оставить вирусный сканер в покое. (Если антивирусная программа не обнаружена, то рано или поздно вы столкнетесь с проблемой другого типа…)
  2. Выберите тип установки
    Выберите Установить из Интернета.
  3. Выберите каталог установки
    Здесь также можно использовать параметры по умолчанию, если только у вас нет веских причин не указывать C: \ cygwin в качестве корневого каталога, установить для всех пользователей и выбрать Unix в качестве типа текстового файла по умолчанию.
  4. Выберите локальный каталог пакетов
    Здесь указывается папка, в которой будут сохранены загруженные установочные файлы. Введите путь по вашему выбору, например, E: \ cygwinfiles.
  5. Выберите тип подключения
    Здесь вы выбираете подходящий тип подключения; опция по умолчанию — Прямое соединение. Скорее всего, ваша антивирусная программа / брандмауэр появится после нажатия кнопки «Далее», чтобы проверить, хотите ли вы разрешить cygwin_setup.exe доступ в Интернет. Да, именно этого мы и хотим!
  6. Выберите сайт загрузки
    Выберите любой сайт из списка, желательно тот, который вам близок. В зависимости от скорости вашего соединения, до появления следующего экрана может пройти несколько секунд.
  7. Выберите пакеты
    Вам нужно всего лишь сделать два дополнения к выбранным по умолчанию пакетам; cygrunsrv (категория Admin) и postgresql (категория База данных). Cygrunsrv является инициатором службы NT / W2K, а PostgreSQL… ну, вы знаете, что это такое. На момент написания, версия Системы управления базами данных — 7.3.4.

Если вы помешаны на контроле, убедитесь, что cygipc (категория Devel) входит в число предварительно выбранных пакетов. Cygipc обеспечивает поддержку IPC (InterProcess Communication) для Cygwin, но в конечном итоге будет заменен на «cygwin-daemon». На момент написания статьи PostgreSQL зависит от cygipc.

Теперь вы можете отдохнуть и выпить кофе, пока файлы загружаются и устанавливаются.

  • Создать иконки
    Ну, этот последний экран довольно очевиден.
  • Нажмите «Готово» и счастливо улыбнитесь, когда увидите…

    Установка Сервисов

    Установка завершена? Нет, не сейчас. Файлы находятся где-то в C: \ cygwin или там, где вы решили их разместить. Теперь вы должны установить службы, создать пользователя postgres и инициализировать PostgreSQL.

    Эти инструкции основаны на файле postgresql-7.3.4.README, написанном Джейсоном Тишлером, который находится в / usr / doc / Cygwin. В этом файле вы можете найти инструкции по базовой установке Cygwin PostgreSQL, которая является вашей единственной опцией, если вы используете Windows 95/98 / ME (но, если вы спросите меня, единственный вариант для кого-то, работающего под управлением Windows 9x, это: обновить! ).

    Запустите недавно установленную оболочку Cygwin Bash и выполните следующие действия:

    Установите ipc-daemon2 в качестве службы NT

    Как вы помните из установки Cygwin, Cygipc — это демон межпроцессного взаимодействия, от которого зависит PostgreSQL.

    Если вы любопытный человек (как и я), запустите оснастку консоли MMC служб в Windows (services.msc) и убедитесь, что в списке есть новая служба Cygwin IPC Daemon 2.

    Создать новую учетную запись пользователя

    Цитата из документации PostgreSQL гласит: «Рекомендуется запускать PostgreSQL под отдельной учетной записью пользователя».

    Итак, давайте добавим нового пользователя и из-за нехватки воображения назовем нового пользователя «postgres». Обратите внимание, что вы должны заменить ******** ниже на пароль, который вы хотите использовать для postgres.

    Читайте также:  Rutor зеркало windows 10

    Вы можете выполнить одну команду net user со всеми параметрами (полное имя, комментарий, homedir) в одной строке, но я написал их как отдельные команды, чтобы сделать текст более читабельным. Чтобы увидеть синтаксис net user, введите «net user /?».

    Если вам это нравится, проверьте оснастку MMC «Локальные пользователи и группы» (compmgmt.msc), чтобы postgres присоединился к команде. Там также должна быть вновь созданная папка с именем C: \ cygwin \ home \ postgres.

    Обновите файл / etc / passwd

    Приведенная выше команда, переведенная на английский язык, означает: добавить информацию для указанного пользователя postgres в / etc / passwd. Обратите внимание, что должно быть два символа больше, чем!

    Configure PHP and PostgreSQL on Windows

    I’m installing PHP, Apache and PostgreSQL Manually

    PHP and Apache now is connected, but PostgreSQL is not connected to PHP.

    i test by using phpinfo();

    i also configure in php.ini like this :

    But why it’s not work.

    5 Answers 5

    The PHP extension will look for libpq.dll which is found of your PostgreSQL installation. The simple fix is to add the path than contains that file to your environment PATH.

    I had the same issue with PHP7 and Apache 2.4 on Windows 10. For me the solution was to add the following line to httpd.conf ;

    This also means that it’s not required to have PostgreSQL installed if you just want to connect a PostgreSQL database that’s not running on your machine.

    1) Installing PostgreSQL for Windows

    2) add to your enviroment variable «PATH» the bin folder of PostgreSQL installation: C:\Program Files\PostgreSQL\9.2\bin; (for example)

    Assuming you have installed PostgreSQL and your WAMP installation is on c:\wamp, you will need to copy c:\wamp\bin\php\php5.3.9\libpq.dll to c:\wamp\bin\apache\Apache2.2.11\bin

    Make sure you also have the following files C:\wamp\bin\php\php5.3.9\ext\php_pdo_pgsql.dll and C:\wamp\bin\php\php5.3.9\ext\php_pgsql.dll

    Also, make sure you have enabled the above 2 files as extensions, either via the WAMP menu (click on WAMP icon on taskbar, PHP, PHPExtensions, find the above 2 and ‘check’ them)

    Please note that php5.3.9 and Apache2.2.11 refer to my specific PHP and Apache versions. Adjust those to suit your installation.

    How do I enable php to work with postgresql?

    I get the error message «Could Not Load Driver»

    11 Answers 11

    Uncomment the following in php.ini by removing the «;»

    Use the following code to connect to a postgresql database server:

    You need to install the pgsql module for php. In debian/ubuntu is something like this:

    Or if the package is installed, you need to enable de module in php.ini

    For debian/ubuntu install

    I have to add in httpd.conf this line (Windows):

    • SO: Windows/Linux
    • HTTP Web Server: Apache
    • Programming language: PHP

    Enable PHP to work with PostgreSQL in Apache

    In Apache I edit the following configuration file: C:\xampp\php.ini

    I make sure to have the following lines uncommented:

    Finally restart Apache before attempting a new connection to the database engine.

    Also, I leave my code that ensures that the connection is unique:

    just install the database driver:

    apt-get install php5-pgsql php5-mysql php5-sqlite . and so on .

    I installed PHP on windows IIS using Windows Platform Installer (WPΙ). WPΙ creates a «PHP Manager» tool in «Internet Information Services (IIS) Manager» console. I am configuring PHP using this tool.

    PDO and all the major drivers ship with PHP as shared extensions, and simply need to be activated by editing the php.ini file: extension=php_pdo.dll

    so i activated the extension using PHP Manager and now PDO works fine

    Оцените статью