Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: phpunit3.2.5 framework(bergmann) i probelmy z polaczeniem do bazy
Forum PHP.pl > Forum > PHP
kamiseq
po zainstalowaniu sobie phpunit zgodnie z ta stroną -> http://www.phpunit.de/pocket_guide/3.2/en/installation.html poczatkowo pracowalem na sqlite-cie i PDO.

wszystko bylo fajnie dopoki testy przestaly chodzic szybko i cos blokowalo dostep do pliku bazy.
przesiadlem sie na postgresa i po zmianie configuracji PDO, phunit wywalil mi same pledy zwiazane z tym ze PDO nie moze odnalesc sterownika dla postgresa.

co ciekawe gdy podlaczam sie do bazy z poziomu zwyklego pliku php wszystko jest ok, zapis i odczyt z bazy odbywa sie szybko i sprawnie.

  1. <?php
  2. require_once 'PHPUnit/Framework/TestCase.php';
  3.  
  4. class DBTest extends PHPUnit_Framework_TestCase
  5. {
  6. private $connection = null;
  7.  
  8. public function setUp()
  9. {
  10.  
  11. }
  12. public function tearDown(){
  13.  
  14. }
  15.  
  16. public function testConnection()
  17. {
  18. $db_con = 'pgsql:dbname=mccomp;user=admin;password=Qwertyuiop!@34567890;host=localhost;port
    =5
  19. 32';
  20. $dbh = new PDO($db_con);
  21. $this->assertNotNull($db_con, 'NIEUDANE POLACZENIE DO BAZY');
  22. $dbh = null;
  23. unset($dbh);
  24. }
  25. }
  26. ?>


to juz jest wersja okrojona ale badz co badz zwrac mi could not fin driver. nie mam juz pomyslow a google nie zwraca zadnych rozwiazan
NoiseMc
Upewnij sie ze masz odkomentowane extension=php_pdo_pgsql.dll w php.ini

Pospieszylem sie winksmiley.jpg

Sprawdz czy masz ustawiona sciezke do php.ini dla PHP CLI, wiecej info tutaj:
http://us2.php.net/configuration
kamiseq
no dobra ale jak wytlumaczysz ze gdy pisze zwykla klase ktora w konstrukotrze sie laczy z ta sama baza z tymi samymi parametrami wszystko jest ok?

uwazam ze tutaj jest jakis problem z phpunit a nie z php jako takim.

do czego w takim razie miala by sie odnosic zmiana w PHP.ini
NoiseMc
Zapomnij o zmianie w php.ini sprobuj zapisac w zmiennych srodowiskowych / rejestrze windows sciezke do php.ini i tyle ja wczoraj mialem dokladnie ta sama jazde winksmiley.jpg
Nie wiem jak to wytlumaczyc, moze php jako modul apache szuka php.ini gdzie indziej niz php uruchamiane z CLI, w kazdym razie php z apacza wie o sterowniku do pgslq podczas gdy uruchamiany z wiersza polecen (PHPUnit) mowi ze ma blad bo nie moze go zaladowac - wniosek - nie widzi php.ini.
kamiseq
Cytat(NoiseMc @ 13.12.2007, 15:50:47 ) *
zapisac w zmiennych srodowiskowych / rejestrze windows sciezke do php.ini


Dzieki pomglo sprawdzenie czy z lini polecen odpalenie skryptu czytajacego baze przejdzie tak jak odpalajac pod przegladarka.

okazalo sie skrypt wywala sie z tym bledem co przy uruchamianiu testow phpunit.

nasz php.ini znajdowal sie w c:\windows tak jak to rekomenduja przy instalacji. przenoszac php.ini do PHP_HOME skrypty odpalalys ie bez zajakniecia.
odpowiedz jest prosta, php odpalane z wiersza polecen nie przeszukuje katalogu c:\windows wiec pomoga ustawienie zmiennej systemowej PHPRC = c:\windows\php.ini wskazujacej na ten plik

dzieki za naprowadzenie;)

-- ech nie ma jak java:)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.