Temat: jak wlaczyc obsluge postgresa przez php ?
jak w temacie ...
w windowsie xp
z gory wielkie dzieki za odpowiedz
PostgreSQL to najbardziej zaawansowany system relacyjnych baz danych Open Source.
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
Strony 1
Zaloguj się lub zarejestruj by napisać odpowiedź
jak w temacie ...
w windowsie xp
z gory wielkie dzieki za odpowiedz
?? 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)
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 ?
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)
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.)
zmienilem pliki zgodnie ze wskazowkami...
ad 3) hmm korzystam z apache'a 2.2
ad 4) haslo jest prawidlowe
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...
Zrestartowales serwer postgres po zmianie plikow, no i przede wszystkim czy apache obsluguje 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)
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.
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
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
aha, no wiec zrobilem tak jak napisales...
lecz nadal nie dziala ...
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);
?>
a to ci dziala
psql -h twoje_ip -U postgres template1
?
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.
pokaz wszystkie linijki z pg_hba.conf ktore nie maja na poczatku #
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
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.
nic innego nie zmienialem...
hmmm... zmienilem ta linijke iii po kilukrotnym zrestartowaniu pgAdmina odpalilo sie (!!!!! ) poprzez
psql -h twoje_ip -U postgres template1
ale www nadal nie dziala...
Ostatnio edytowany przez ash (2008-12-13 21:20:08)
co mowi www?
HTTP 500 - Wewnętrzny błąd serwera - ie
a w operze wiecznie sie laduje...
cos w logach apacza?
Ostatnio edytowany przez ash (2008-12-13 21:36:14)
możliwe ze apache nie ma wkompilowanej obslugi postgresa
ehh... tylko jak to zamontowac... troche szukalem i albo nie umiem szukac albo tego nie ma.
sprawdze jeszcze w dokumentacji samego apacza...
ehh
udalo sie !!!
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
Posty [ 25 ]
Strony 1
Zaloguj się lub zarejestruj by napisać odpowiedź
[ Wygenerowano w 0.012 sekund, wykonano 10 zapytań ]