Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> PEAR DB - Problemy z polaczeniem.
thornag
post 19.08.2006, 11:18:35
Post #1





Grupa: Zarejestrowani
Postów: 504
Pomógł: 2
Dołączył: 31.03.2006
Skąd: Londyn

Ostrzeżenie: (0%)
-----


Witam. Wczoraj postanowilem skorzystac z gotowej warsty abstrakcji jaka jest PEAR DB. Wszak jak to ktos mowil nie ma sensu wywazac juz otwartych drzwi. Jednak moje obawy przed tak ogromnym pakietem (chyba) okazaly sie sluszne. Po upewnieniu sie ze server ma wszystko czego potrzebuje, (PHP4 with pear, i PHP5) zuploadowalem pakiet. Wszystko pieknie dziala includuje sie mozna wiec stwierdzic ze cala instalacja przebiegla pomyslnie. Problem pojawil sie przy pierwszych testach.

Taki oto kod

  1. <?php
  2. $dsn = 'mysql://'.$config['db']['user'].':'.$config['db']['pass'].'@'.$config['db']['host'].'/'.$config['db']['name'];
  3.  
  4. $conn = DB::connect($dsn);
  5. if (DB::isError($conn)) {
  6. print "Nieudane";
  7. } else {
  8. print "Teoretycznie udane.";
  9. }
  10. ?>


Powoduje zatrzymanie skryptu. Ustawienie najwyzszego error reporting nic nie zmienia, bledow jako takich nie ma. Kiedy probuje cos wyprintowac przed ta instrukcja np $dsn, to skrypt pokaze mi $dns, ta sama linika skopiowana ponizej proby polaczenia nie zostaje juz wykonywana.

Czy ktos ma jakis sposob albo pomysl jak wysledzic gdzie tu jest blad ? Strasznie ciezko sie przekopac przez to wszystko bez komunikatow.

Jako ze jest to moja pierwsza przygpda z PEAR nie jestem do konca pewny czy server jest wystarczajaco skonfigurowany.
Tutaj sa phpinfo dla PHP4 i PHP5
PHP4 i PHP5

Dodam jesio w razie pytan ze $dsn jest poprawny. Sprawdzalem biggrin.gif

Ten post edytował thornag 19.08.2006, 11:22:33


--------------------
"Wizja czasu jest szeroka, lecz kiedy sie przez nia przechodzi, czas staje sie waskimi drzwiami"

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
nazihipi
post 19.08.2006, 12:04:54
Post #2





Grupa: Zarejestrowani
Postów: 139
Pomógł: 0
Dołączył: 14.07.2006

Ostrzeżenie: (10%)
X----


wstaw to na początku strony (przed wywołanie pakietu PEAR)
  1. <?php
  2. if( ( substr( strtoupper( PHP_OS ), 0, 3 ) ) == 'WIN' ) {
  3. define( 'PATH_SEPARATOR', ';' );
  4. }
  5. else {
  6. define( 'PATH_SEPARATOR', ':' );
  7. }
  8. $oldIncPath = ini_get( 'include_path' );
  9. ini_set( 'include_path', 'bezwzgleda_sciezka_do_katalogu_z_Pear' . PATH_SEPARATOR . $oldIncPath);
  10. ?>



ps. wysil się trochę i odpal wyszukiwarkę forum , bo o PERA tutaj jest dużo....
Go to the top of the page
+Quote Post
thornag
post 20.08.2006, 16:28:22
Post #3





Grupa: Zarejestrowani
Postów: 504
Pomógł: 2
Dołączył: 31.03.2006
Skąd: Londyn

Ostrzeżenie: (0%)
-----


Wracajac do pytania.

po zastosowaniu powyzszego kodu mamy:

Kod
Fatal error: Call to undefined function: assertextension() in /usr/share/pear/DB/mysqli.php on line 110


Jakiekolwiek inne pomysly ?

Ten post edytował thornag 20.08.2006, 16:36:38


--------------------
"Wizja czasu jest szeroka, lecz kiedy sie przez nia przechodzi, czas staje sie waskimi drzwiami"

Go to the top of the page
+Quote Post
nazihipi
post 20.08.2006, 19:13:32
Post #4





Grupa: Zarejestrowani
Postów: 139
Pomógł: 0
Dołączył: 14.07.2006

Ostrzeżenie: (10%)
X----


a przepraszam, że się tak zapytam niedyskretnie: dołączyłeś może plik z zestawem klas??
  1. <?php
  2. require_once 'DB.php';
  3. ?>


Cytat
  1. <?php
  2. if (DB::isError($conn)) {
  3. ?>

powinno się stosować
  1. <?php
  2. if( PEAR::isError( $conn ) ) {
  3. ?>


EDIT:
1) Gdyby bardzo Ci się nudziło i niemiałbyś co robić to zaglądnij do manuala, tak będzie prościej... DB::connect example

2) Pakiet DB został wchłonięty przez MDB2 i to on jest teraz rozwijany (choć twórcy zapewniają, że DB także my i tak wiemy, że to gówno prawda... cool.gif )

3) Polecam php::PDO (ale co kto woli.....)

Ten post edytował nazihipi 20.08.2006, 19:29:11
Go to the top of the page
+Quote Post
thornag
post 20.08.2006, 20:40:09
Post #5





Grupa: Zarejestrowani
Postów: 504
Pomógł: 2
Dołączył: 31.03.2006
Skąd: Londyn

Ostrzeżenie: (0%)
-----


Ogolnie sprawa wyglada tak ze korzystam z pewnej ksiazki z ktorej probowalem wykorzystac przyklad.

Oczywiscie ze klase dolaczylem smile.gif

Problem polega na tym ze skrypt wysypuje sie w lini DB::connect(); wiec zmiana DB na PEAR nic nie dala.

A jako ze rzeczywiscie czytajac forum zauwazylem ze PDO jest popularne, czas zajac sie PDO smile.gif

Do uslyszenia z problemami PDO smile.gif Dzieki za pomoc i sugestie.


--------------------
"Wizja czasu jest szeroka, lecz kiedy sie przez nia przechodzi, czas staje sie waskimi drzwiami"

Go to the top of the page
+Quote Post
nazihipi
post 20.08.2006, 21:11:42
Post #6





Grupa: Zarejestrowani
Postów: 139
Pomógł: 0
Dołączył: 14.07.2006

Ostrzeżenie: (10%)
X----


Cytat(thornag @ 20.08.2006, 21:40 ) *
Problem polega na tym ze skrypt wysypuje sie w lini DB::connect(); wiec zmiana DB na PEAR nic nie dala.

to było tylko takie małe a' propos kodu

powodzenia z PDO
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.07.2025 - 01:35