Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Как правильно указать путь в --with-pgsql=[DIR], если PHP собирать на одном хосте, а PgSQL установлена на другом.
Форумы портала PHP.SU » Серверное администрирование » Администрирование БД » Как правильно указать путь в --with-pgsql=[DIR], если PHP собирать на одном хосте, а PgSQL установлена на другом.

Страниц (1): [1]
 

1. roga_i_kopita - 07 Мая, 2012 - 22:34:01 - перейти к сообщению
Уважаемые, всех приветствую.

Нужна помощь, сам разобраться не могу.

Есть Fedora 16 с установленной PostgresSQL 9.0.3. К этому хосту есть доступ по SSH и VNC.
Есть FreeBSD 9, на котором пытаюсь собрать PHP, на котором затем будет установлен NGINX, затем phpPGadmin. К этому хосту также есть доступ по SSH и VNC.

Хочу такую схему:
На хосте с FreeBSD NGINX на 443 порту принимает http-запросы с любого хоста в локальной сети и через сокет перенаправляет их для обработки PHP с использованием fastcgi интерфейса.
На хосте с FreeBSD PHP отрабатывает скрипты phpPGadmin и отправляет запросы и команды к базам данных PostgresSQL, находящихся на хосте с Fedora.

Вопрос:
как правильно указать путь к базе на другом компе в сети в параметре --with-pgsql и с какими ещё другими параметрами нужно собирать PHP для работы такой схемы.


Читал тонну мукулатуры. Но там только расписана стандартная ситуация, если и PHP и PgSQL на одном хосте.
Опция --with-pgsql=/usr/local/pgsql, либо --with-pgsql=/pgsql.
Но вот если база на другой машине, как быть?

Есть ещё параметр --with-pdo-pgsql[=DIR]. Но понимание его предназначения так и не пришло. Кроме того, там тоже нужно указывать путь к каталогу с установленным PostgresSQL или к каталогу с файлом конфигурации pg_config.

Читал про PDO_PGSQL Data Source Name (DSN).
Вот тут читал
Там указан пример подключения к базе:
pgsql:host=localhost;port=5432;dbname=testdb;user=bruce;password=mypass
Но как прикрутить это к вопросу компиляции и сборки PHP - понятия не имею, видимо эта тема из другой области.

Кроме того, вопрос в догонку: как настраивать в php.ini (или где-то ещё) параметры подключения и авторизации при установке соединения с удалённой базой?

Для MySQL есть параметры
mysql.default_port
mysql.default_host
mysql.default_user
mysql.default_password (только указание в конфиге PHP пароля весьма нежелательно)

Для PostgresSQL подобных директив нет. Как быть? И как правильно авторизовываться на удалённой базе данных?
2. roga_i_kopita - 09 Мая, 2012 - 00:11:21 - перейти к сообщению
В общем сам себе и отвечаю.
На машину с FreeBSD перед установкой PHP-FPM нужно было postgresql-client установить.
Тогда при ручной сборке никаких путей в --with-pgsql указывать не надо, конфигуратор сам всё находит.
А можно мозг не парить, а из портов всё устанавливать. Сначала PHP, потом, если нужно, отдельно расширения. Я узнал, как нужные параметры конфигуратору передать при установке из портов только когда уже всё вручную собрал и установил. Огорчение

 

Powered by ExBB FM 1.0 RC1