1

Temat: Po przenosinach

Witajcie,

podczas przenosin jednego z kont z serwera na serwer po przenosinach otrzymuje błąd Call to undefined method DboSource::connect();

jestem średniozaawansowanym programista, zajmuje sie hostingiem. Z CakePHP nie miałem styczności. Sprawdziłem kod źródłowy, rzeczywiscie w klasie DboSource nie ma metody connect ani w klasie z której dziedziczy, ale i ta klasa dziedziczy z wyzszej Object. Proste przenosiny, a być może nie otrzymałem jakichś z plików nie mam pojecia. Jest ktoś w stanie pomóc?

Z góry dziekuje

2

Odp: Po przenosinach

Przydałoby się więcej szczegółów. Np. najważniejszy - jakiej bazy używa Twoja aplikacja?

Pliki odpowiedzalne za połączenie znajdują się w katalogu:
cake\libs\model\datasources\dbo

Ewentualnie możesz ściagnąć sobie nową wersję cake'a i podgrać te pliki do odpowiedniego katalogu.

Szczegóły połączenia z bazą (host, hasło, rodzaj bazy...) możesz znaleźć w app\config\database.php.

Pozdrawiam

3 (edytowany przez sebasx 2008-12-22 22:42:47)

Odp: Po przenosinach

bazy MySQL, podanym katalogu dla bazy mysql w pliku dbo_mysql.php widze odpowiadnia klase a w niej metode connect ale mimo wszystko skrypt wywala Call to undefined method DboSource::connect()  hmm konfiguracja mysql oczywiscie jest ustawione na dane nowego serwera ale Call to undefined method DboSource::connect()  to nie blad polaczenia, nie ma metody

4

Odp: Po przenosinach

Ok,

To mi sie udało wygooglać:
http://n2.nabble.com/Fatal-error-in-dbo … 23477.html

Możesz też spróbować podgrać całkiem nową wersję cake'a (usunąć stary katalog cake i zastąpić go tym z nowej wersji)

Nie wiem, czy w wypadku błędu krytycznego będzie działał debugger, ale może pomóc ustawienie zmiennej debug na 2 w pliku app/config/core.php Configure::write('debug', 2);

Kolejna sprawa - katalog app/tmp/ musi być 'writeable'. Teraz sobie uświadomiłem że to może właśnie być przyczyna błędu więc proponuję od tego zacząć.

Pozdrawiam,

5

Odp: Po przenosinach

no niestety nie pomogło hmm denerwuje mnie to bo podstawy OOP w PHP znam a błędu w klasach nie widze, sprawdzilem dziedziczona metode, jest publiczna wiec o co biega? Dlaczego PHP jej nie widzi? hmm

6

Odp: Po przenosinach

Teraz już nie mam pojęcia sad

Myślałem że ustawienie CHMOD na 777 na katalogu tmp i wszystkich katalogach wewnątrz załatwi sprawę. W jedynym przypadku gdy spotkałem się z takim problemem, właśnie ten sposób pomógł. Jeśli jeszcze na coś wpadnę to napiszę.

7

Odp: Po przenosinach

pozno , ale moze sie przydac.....
moza na nowym koncie masz taka sytuacje ze php to 4... a mysl 5...?
ostatnio spotklem sie z takim problemem, wyskakiwal ciagle ten sam blad, ten sam ktory opisujesz powyzej. A wszystko bylo napisane w opisie do database.php smile.
Rozwiazaniem okazalo sie zastosowanie w database.php wpisu :
'driver' => 'mysqli', (a nie jak jest domyslenie 'mysql').

8

Odp: Po przenosinach

niestety nie pomogło hmm