Php postgresql and apache

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 :

extension=php_pgsql.dll extension=php_pdo_pgsql.dll 

What does «not connected to PHP» mean? That you don’t see the Postgres module in the output of phpinfo() ? Do you get any error messages?

8 Answers 8

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.

Источник

Php postgresql and apache

Заметка сделана для себя (вечно какая-то важная мелочь забывается 🙂 и молодого коллеги, дабы давать на изучение и приучение к FreeBSD. 🙂
Описываемое актуально для FreeBSD 9.0, Apache 2.2, PostgreSQL 9.2, PHP 5.4 и phpPgAdmin 0.6.4.

ОГЛАВЛЕНИЕ


Установка web-сервера Apache

Здесь всё про: главное — установить поддержку MySQL в конфигурации порта:

$ cd /usr/ports/www/apache22 $ make install clean 

В файл /etc/rc.conf прописываем для автозапуска:

В конфигурационный файл /usr/local/etc/apache22/httpd.conf прописываем имя сервера и адрес админа:

. ServerAdmin admin@mydomain.su . ServerName mydomain.su:80 . 

В файл конфигурации загрузчика /boot/loader.conf добавляем строку:

Запускаем наш Apache:

Если ошибок не появилось, значит всё нормально и сервер запустился.

Установка сервера PostgreSQL


Установка PHP

Ставил сам PHP, не забывая указать в конфигурации сборки поддержку PostgreSQL и Apache:

$ cd /usr/ports/lang/php5/ $ make install clean 

В конфигурационный файл Apache /usr/local/etc/apache22/httpd.conf добавляем параметр DirectoryIndex в блок , чтобы получилось следующее:

Directory /> DirectoryIndex index.php index.html AllowOverride None Order deny,allow Deny from all  

Теперь надо PHP «активировать» в Apache. Для этого добавим две строчки в /usr/local/etc/apache22/httpd.conf в блоке :

 AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps 

Так же создадим файл cat /usr/local/etc/php.ini на основе /usr/local/etc/php.ini-production, удалив комментарии:

$ cat php.ini-production | grep -v ";" > php.ini 

и добавим в него в блок [Date] параметр временной зоны:

[Date] date.timezone = Europe/Moscow 

Для проверки нормальных подключения и работы модуля поддержки PHP можно открыть в браузре по ссылке http://xxx.xxx.xxx.xxx/index.php предварительно созданный файл /usr/local/www/apache22/data/index.php следующего содержания:

Читайте также:  Php язык программирования плюсы

Для работы phpMyAdmin ещё понадобятся расширения PHP (php5-extensions), но ставить их отдельно смысла особого нет: она будут установлены, как необходимая зависимость для phpMyAdmin.

МЕЛОЧИ

Мелочь №1: Сброс забытого пароля пользователя для PostgreSQL
http://wiki.linux.ru/wiki/index.php/Как_сбросить_пароль_root_PostgreSQL_сервера
Остановим PostgreSQLSQL сервер

$ /usr/local/etc/rc.d/postgres stop 

Хабра 173623
http://myfreebsd.ru/other/administrirovanie-postgresql
http://postgresql-lab.blogspot.ru/2013/01/175.html
Мелочь №2: Обход ошибки при «битых страницах» БД
В пункте насчёт VACUUM неплохо бы указать, что делать, если VACUUM не может производиться. Недавно столкнулся с ситуацией, когда что VACUUM, что pg_dumpall мирно дохнут, выдав на-гора что-то вроде:

Invalid page header in block 946006 of pg_toast_3847720

То есть, файл повреждён, и работы дальше не будет. Что его могло повредить – повод для отдельного выяснения, а мне нужен был быстрый рецепт обхода. В таких случаях может спасти (возможно, с потерей пары записей, но возможно и целиком) употребление перед VACUUM команды

SET zero_damaged_pages=true; 

После этого VACUUM не споткнётся на битых страницах, а просто их обнулит. И дамп запишется, и всё такое.

——————
А вот это зря.. Нужно переодически это делать, я у себя делаю раз в 4 часа обычный VACUUM, раз в сутки FULL ANALYZE + backup.
Так что более ли менее шустро всё работает и бэкап есть в случае чего.
———
>способ 1
>postgresql$ vaccumdb -v database
>
>способ2
>1. pg_dump
>2. dropdb
>3. createdb
>4. pg_restore
——————
psql —username=pgsql db_zabbix
——————

template1=# CREATE USER user_name WITH CREATEDB LOGIN PASSWORD ‘Pas$w0rd’;
CREATE ROLE
template1=# select * from pg_shadow;
usename | usesysid | usecreatedb | usesuper | usecatupd | passwd | valuntil | useconfig
————+———-+————-+———-+————+————————————-+———-+————
pgsql | 10 | t | t | t | md500ba091dd8401516e01e318ebf4c476f | |
fomalhaut | 16384 | t | f | f | md54117783cb97c642fbe0eb685653b7b67 | |
(2 rows)

template1=# select * from pg_database;
datname | datdba | encoding | datcollate | datctype | datistemplate | datallowconn | datconnlimit | datlastsysoid | datfrozenxid | dattablespace | datacl
————+———+———-+————+———-+—————+—————+—————+—————+—————+—————+—————————-
template1 | 10 | 6 | C | C | t | t | -1 | 11866 | 654 | 1663 |
template0 | 10 | 6 | C | C | t | f | -1 | 11866 | 654 | 1663 |
postgres | 10 | 6 | C | C | f | t | -1 | 11866 | 654 | 1663 |
(3 rows)

template1-# \q
$ psql -l
Password:
List of databases
Name | Owner | Encoding | Collation | Ctype | Access privileges
————+——-+———-+————+——-+——————-
postgres | pgsql | UTF8 | C | C |
template0 | pgsql | UTF8 | C | C | =c/pgsql +
| | | | | pgsql=CTc/pgsql
template1 | pgsql | UTF8 | C | C | =c/pgsql +
| | | | | pgsql=CTc/pgsql
(3 rows)

Это — пример просмотра информации о базе.

А зачем шифровать swap. При этом всё остольное не зашифровано.

Читайте также:  Php проверка работы всех функций

Fomalhaut, 2011-01-24 в 1:12:51

В своп может попасть то, что, например, хранится в БСД в виде хэш-«оттиска» — пароли те же.
У меня, например, отдельный «винт» зашифрован, но т.к. здесь рассматривается вопрос не общего шифрования, а конкретной системы — это не упоминается.

Ёхман, 2013-05-10 в 15:48:18

geli_swap_flags=»-a hmac/sha256 -e blowfish -l 128 -s 4096 -d»

Необходимость опции «-a» тут очень сомнительна. В определенных случаях, злоумышленник, который имеет неоднократную возможность сливать себе зашифрованные данные, может успешно манипулировать ими, даже не имея возможности их расшифровать. Например, откатить систему до непропатченного состояния. Проверка целосности нужна именно против этого. Навряд ли это актульная проблема для свопа. При этом уменьшение объема — как раз результат этой опции.

Опция «-l» тоже не нужна, поскольку 128 — значение по-дефолту.

Опция «-d» тоже не нужна, поскольку отмонтированние свопа как правило все равно не осуществляется до завершения работы.

Опция «-e» тоже не нужна, поскольку blowfish не дает никаких преимуществ перед стандартным AES.

Получается единственная опция, которая тут хоть что-то значит — это «-s».

На самом деле вся премудрость шифрования свопа заключается в одной операции: достаточно прописать суффикс «.eli» к устройству свопа во fstab, и не париться.


2014-07-27, lissyara
gmirror
Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов. 2013-08-20, zentarim
Scan+Print server FreeBSD 9
Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540 2011-11-20, BlackCat
Разъём на WiFi-карту
Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма 2011-09-14, manefesto
Настройка git+gitosis
Настройка системы контроля версия исходного кода в связке git+gitosis+ssh 2011-08-14, zentarim
Wi-FI роутер + DHCP + DNS
Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ 2011-06-15, -ZG-
Охранная система на FreeBSD+LPT
В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией. 2011-03-13, terminus
ng_nat
Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat 2011-02-20, Капитан
Nagios+Digitemp
Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp. 2011-02-17, Le1
Zyxel Configuration
Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
вверх

Статистика сайта
Сейчас на сайте находится: 4 чел.
За последние 30 мин было: 35 человек
За сегодня было
1541 показов,
275 уникальных IP

Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

Источник

Php postgresql and apache

Sumedh

How to install, configure Apache, Php, Postgresql on Linux.

Summary — Installing configuring Apache, Php and Postgres.
Published — Apr 02/2006
Last Updated — Aug 02/2009
Author — Sumedh
Note — This tutorial assumes that you know how to compile and install a program from its source.

Download and install Postgres.

1) Switch to the root user.
2) Download Postgresql source from http://www.postgresql.org/download
3) Extract Postgresql to any folder of your choice.

mkdir /usr/local/pgsql/data
chown postgres /usr/local/pgsql/data
su — postgres
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
/usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data
/usr/local/pgsql/bin/createdb test
/usr/local/pgsql/bin/psql test

Download and install Apache.
5) Download Apache source from https://httpd.apache.org
6) Extract Apache to any folder of your choice.
7) Configure and install Apache.

8) Download Php source from https://www.php.net/downloads.php
9) Extract Php to any folder of your choice.
10) Configure and install Php.

11) Copy php.ini or php.ini-dist from the folder where you extracted php to /usr/local/lib

12) Go to /usr/local/lib folder and open the php.ini-dist file in any simple text editor like emacs.
13) Find ‘extension=php_pgsql.dll’ in the file and remove the ‘ ; ‘ before that line.

14) Open the httpd.conf file in /usr/local/apache/conf folder in any simple text editor.
15) Make sure the following line is there in the LoadModule list, if it is not there add it.

18) Start Apache, you will need sudo access.

19) Go to /usr/local/apache/htdocs. This is the default folder where Apache puts it html files.
20) Create a new php file called index.php
21) Copy paste the following lines in that file.

22) After saving it open http://localhost/index.php in Firefox
Dont tell me that you dont use firefox 🙂

If you see a page similar to the one given below then you have installed php correctly.
Scroll down till you see pgsql. Congrats you have configured php with postgres.

Php options pgsql options

Note — If you cannot see the php information page, try restarting apache.

Copyright © 2002 — 07 Sumedh K

Источник

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