1

Temat: jak wlaczyc obsluge postgresa przez php ?

jak w temacie ...
w windowsie xp



z gory wielkie dzieki za odpowiedz

2

Odp: jak wlaczyc obsluge postgresa przez php ?

?? co masz na mysli. W php sa funkcje do laczenia z postgresem i wykonywania zapytan, wystarczy ze troche pogooglasz. dodatkowo prawdopodobnie przyda sie wlaczenie nasluchu sieciowego w postgresie (konfiguracja w pliku postgresql.conf) i skonfigurowanie polaczen sieciowych i (może) lokalnych (konfiguracja w pliku pg_hba.conf)

3

Odp: jak wlaczyc obsluge postgresa przez php ?

hm chodzilo mi o to ze gdy wywoluje phpinfo to w wykazie nie ma nic o postgresie...
no ale moze gdzies tam wygoogluje, c chyba ze podzielisz sie wiedza co konkretnie mam zmienic i gdzie ?  wink


poza tym mam pytanko
wpisuje kod z ksiazki :

<?php
$db_handle = pg_connect(" dbname=template1 user=postgres

password=tajneprzezpoufne ");

if($db_handle){
  echo ' siem udalo ';
} else {
   echo' nie udalo sieee... ' ;
}

pg_close($db_handle);

?>

i ogolnie... nie wyswietla mi nic... tzn blad 500
to napeweno jest zwiazane z tym ze nie mam tego postgresa uruchomionego w php (tzn php nie obsluguje postgresa)

dzieki za wskazowki

Ostatnio edytowany przez ash (2008-12-13 01:13:53)

4

Odp: jak wlaczyc obsluge postgresa przez php ?

Nie ma czegos takiego jak 'php nie obsluguje postgresa', php to jezyk programowania ktory ma funkcje do obslugi polaczen z baz danych.
1) Czy postgres nasluchuje sieciowo (najlepszy manual do konfiguracji postgresa ma postgresql.org) (w pliku postgresql.con sprawdz jak jest ustawiona opcja listen_adresses, najlepiej zrobic (usun tez # z poczatku linijki)

listen_adresses='*'

2) w pliku pg_hba.conf wpisz

host all all 0.0.0.0/0 trust
local all all trust

3) łączysz sie za pomoca php przez www, jesli tak jaki masz serwer http?
4) czy uzytkownik postgres ma ustawione haslo 'tajneprzezpoufne' ?

I ostatnia rzecz ten blad nie swadczy o tym ze 'php nie obsluguje postgresa', to prawdopodobnie blad serwera www jaki masz (patrz punkt 3.)

5

Odp: jak wlaczyc obsluge postgresa przez php ?

zmienilem pliki zgodnie ze wskazowkami...
ad 3) hmm korzystam z apache'a 2.2
ad 4) haslo jest prawidlowe smile

mimo tego ze wyedytowalem te pliki nadal wyskakuje ten sam blad...
tak jakbym nie mogl sie polaczyc z baza danych ...
bo strony php dzialaja normalnie dopoki nie dorzuce tam np. polaczenia z baza...

6

Odp: jak wlaczyc obsluge postgresa przez php ?

Zrestartowales serwer postgres po zmianie plikow, no i przede wszystkim czy apache obsluguje php?

7

Odp: jak wlaczyc obsluge postgresa przez php ?

tak zrestartowalem
apache obsluguje php bo gdy napisze jakies echo"helo" to oczywiscie jest....

qrcze , gdzie moze byc problem... ?

hmm... ogolnie postgresa odpalam przez pgAdmina III.
nie trzeba gdzied podawac np jakiejs sciezki gdzie znajduje sie baza danych ?

Ostatnio edytowany przez ash (2008-12-13 12:24:02)

8

Odp: jak wlaczyc obsluge postgresa przez php ?

a mozesz sie polaczyc tak z baza

psql -h twoje_ip -U postgres template1

?
Jak wpisales linijke z "host all all ..." z trust na koncu to podwanie hasla w php nie jest konieczne.

9

Odp: jak wlaczyc obsluge postgresa przez php ?

niestety nie moge, wyskakuje blad :


psql: FATAL:  no pg_hba.conf entry for host "87.xx.xx.xx", user "postgres", database "template1"



aha w pliku pg_hba nie moge miec tego co podales odniesnie hosta :   host all all 0.0.0.0/0 trust
bo pgAdmin nie chce sie polaczyc , wyskakuje blad ze : no pg_hba entry for host 127.0.0.1

dlatego hosta ustawiam tak jak byl tzn : host    all         all         127.0.0.1/32          trust

tak czy siak z tym noweym poleceniem nie moge sie polaczyc, wyskakuje blad podany na poczatku

10

Odp: jak wlaczyc obsluge postgresa przez php ?

ale miales modyfikowac istniejacych wpisow tylko dodac nowy.

jak nie chcesz dodawac 0.0.0.0/0
to powinienes dodac chocaz swoj komputer

host all all twoje_ip/32 trust

11

Odp: jak wlaczyc obsluge postgresa przez php ?

aha, no wiec zrobilem tak jak napisales...
lecz nadal nie dziala ... hmm


moze mam blad gdzies w kodzie ?
<?php
$db_handle = pg_connect(" dbname=template1 user=postgres password=haslo ");

if($db_handle){
  echo ' siem udalo ';
} else {
   echo' nie udalo sieee... ' ;
}

pg_close($db_handle);
?>

12

Odp: jak wlaczyc obsluge postgresa przez php ?

a to ci dziala

psql -h twoje_ip -U postgres template1

?

13

Odp: jak wlaczyc obsluge postgresa przez php ?

tak jak wpsominalem wyzej nie dziala
tylko teraz po dopisaniu tych linijek w pg_hba wyskauje inny blad w konsoli a mianowicie :
psql: FATAL:  missing or erroneous pg_hba.conf file
HINT:  See server log for details.

14

Odp: jak wlaczyc obsluge postgresa przez php ?

pokaz wszystkie linijki z pg_hba.conf ktore nie maja na poczatku #

15

Odp: jak wlaczyc obsluge postgresa przez php ?

local   all         all                               md5
host    all         all         127.0.0.1/32          md5
host    all         all         ::1/128               md5
local all all trust
host all all 0.0.0.0/0 trust

16

Odp: jak wlaczyc obsluge postgresa przez php ?

cos oszukujesz. sprawdz czy nie masz gdzies przypadkiem jakiegos przypadkowego znaku na poczatku jakiejs linijki, gdzieś przed # w pg_hba.conf, albo czy przypadkiem nie zmieniles nazwy pliku albo jego polozenia. kombinowales cos z konfiguracja w postgresql.conf poza listen_addresses?. Jesli stwierdzisz ze jest ok zmien linijke z 0.0.0.0./0 na linijke 

host all all twoje_ip/32 trust

jesil po zrestartowaniu serwera nie bedzie dzialo sprawdz co postgres pisze w logach (logi konfiguruje sie w postgresql.conf)
jesli to polecenie

psql -h twoje_ip -U postgres template1

nie zadziala,
to z www tez pewnie nie pojdzie.
btw
do linijki

local all all trust

nawet nie dojdzie, w pliku pg_hba wazna jest kolejnosc wpisow a ty wczesniej masz

local all all md5

czyli wymagasz hasla.

17

Odp: jak wlaczyc obsluge postgresa przez php ?

nic innego nie zmienialem...
hmmm... zmienilem ta linijke iii po kilukrotnym zrestartowaniu pgAdmina odpalilo sie (!!!!! smile ) poprzez
psql -h twoje_ip -U postgres template1


ale www nadal nie dziala...

Ostatnio edytowany przez ash (2008-12-13 21:20:08)

18

Odp: jak wlaczyc obsluge postgresa przez php ?

co mowi www?

19

Odp: jak wlaczyc obsluge postgresa przez php ?

HTTP 500 - Wewnętrzny błąd serwera  - ie

a w operze wiecznie sie laduje...

20

Odp: jak wlaczyc obsluge postgresa przez php ?

cos w logach apacza?

21

Odp: jak wlaczyc obsluge postgresa przez php ?

Ostatnio edytowany przez ash (2008-12-13 21:36:14)

22

Odp: jak wlaczyc obsluge postgresa przez php ?

możliwe ze apache nie ma wkompilowanej obslugi postgresa

23

Odp: jak wlaczyc obsluge postgresa przez php ?

ehh... tylko jak to zamontowac... troche szukalem i albo nie umiem szukac albo tego nie ma.
sprawdze jeszcze w dokumentacji samego apacza...

24

Odp: jak wlaczyc obsluge postgresa przez php ?

25

Odp: jak wlaczyc obsluge postgresa przez php ?

ehh
udalo sie !!! smile

ogolnie to przyczyna moglo byc :
-stara wersja beta postgresa (8.0 beta 2) teraz mam 8.3.5-2
- blad  'Call to undefined function pg_connect()' jest prawdodpodbnie jakims bugiem pod wina.  naprawienie go  poprzez wpisanie zmiennej systemowej PATH z adresem do katalogu bin postgresa (na podstawie jakiegos forum anglojezycznego)


dzieki wielkie za wszelkie rady i cierpliwosc smile