Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Problem ze strona na serwerze
Forum PHP.pl > Forum > Przedszkole
aress_86
Witam

Mozna powiedziec prawie skonczylem sklep internetowy. Projekt robilem na localhoscie WampServer 2.0. Konfiguracja Apache 2.2.11 PHP 5.3.0 Mysql 5.1.36. Przyszedl czas na wrzucenie tego na serwer i pokazanie swojego projektu. Do polaczenia z baza uzywam biblioteki pear db, do tego jeszcze uzywam szablonow smarty. Na localhoscie wszystko smiga tak jak powinno jednak po wrzuceniu na serwer nie. konfiguracja serwera MySQL: 5.0.33 PHP 5.2.1.

w zrodle strony wychodzi tylko to <!-- PLIK KONFIGURACYJNY APLIKACJI --> sad.gif i nic wiecej.

To czesc config.inc

  1. <!-- PLIK KONFIGURACYJNY APLIKACJI -->
  2. <?php
  3. // Stała SITE_ROOT zawiera pełna scieżke dostępu do folderu
  4. define("SITE_ROOT", dirname(dirname(__FILE__)));
  5. // konfiguracja szablonów Smarty
  6. define("SMARTY_DIR", SITE_ROOT."/libs/smarty/");
  7. define("TEMPLATE_DIR", SITE_ROOT."/templates");
  8. define("COMPILE_DIR", SITE_ROOT."/templates_c");
  9. define("CONFIG_DIR", SITE_ROOT."/configs");
  10. //zmiana parametru include_path umożliwiający korzystanie z PEAR DB
  11. ini_set('include_path', SITE_ROOT . '/libs/pear' .
  12. PATH_SEPARATOR . ini_get('include_path'));
  13. // dane uwierzytelniajace do połaczenie z baza danych
  14. define("USE_PERSISTENT_CONNECTIONS", "true");
  15. define("DB_SERVER", "localhost");
  16. define("DB_USERNAME", "****");
  17. define("DB_PASSWORD", "*****");
  18. define("DB_DATABASE", "****");
  19. define("MYSQL_CONNECTION_STRING", "mysqli://" . DB_USERNAME . ":" .
  20. DB_PASSWORD . "@" . DB_SERVER . "/" . DB_DATABASE);
  21. // ilosc wyswietlanych znakow w krotkim opisie


funkcja do polaczenia w pliku database.php

  1. // laczenie z bazą danych
  2. function __construct($connectionString)
  3. {
  4. $this->db = DB::connect($connectionString, USE_PERSISTENT_CONNECTIONS);
  5. if (DB::isError($this->db))
  6. trigger_error($this->db->getMessage(), E_USER_ERROR);
  7. $this->db->setFetchMode(DB_FETCHMODE_ASSOC);
  8. $this->db->query("SET CHARACTER SET UTF8");
  9. $this->db->query("SET NAMES UTF8");
  10. }


plik do polaczenia
  1. <?php
  2. // buforowanie danych
  3. // start sesji
  4. // właczenie plików
  5. require_once 'config.inc.php';
  6. require_once 'setup_smarty.php';
  7. require_once 'database.php';
  8. // polaczenie z baza
  9. $gDbManager = new DbManager(MYSQL_CONNECTION_STRING);
  10. ?>

dane wpisywane sa napewno prawidlowe.

Jakies sugestie jak rozwiazac problem? moze ktos mial podobny?

Edit: zapomnialem dodac ze biblioteka pear jest dodana do katalogu i smarty tez. Struktura katalogow jest prawidlowa (chodzi na localhoscie smile.gif )
potreb
Sprawdź ustawienia serwera localhosta i głównego, różnica konfiguracji może być problemem.
aress_86
Ponawiam moją prośbę o pomoc.

Przekopałem się przez konfigurację i nie znalazłem żadnych istotnych różnic.

Ktoś ma jakies inne pomysły dlaczego to nie chodzi?
nospor
wlacz wyswietlanie wszystkich bledow.
Dodaj ten kod:
  1. ini_set('display_errors','1');

Na początku pliku głównego (linijka po <?php). zazwyczaj jest to index.php
aress_86
a jednak sa bledy

takie cos wyszlo z tego

Warning: require_once(PEAR.php) [function.require-once]: failed to open stream: No such file or directory in /home/user-web/rswiercz/public_html/x_comp/libs/pear/db.php on line 26

Fatal error: require_once() [function.require]: Failed opening required 'PEAR.php' (include_path='/home/user-web/rswiercz/public_html/x_comp/libs/pear:.:/usr/local/share/pear') in /home/user-web/rswiercz/public_html/x_comp/libs/pear/db.php on line 26
nospor
nie masz wrzuconego peara do includowanych sciezek. includowane sciezki masz w komunikacie bledu
phpion
No to masz wszystko jasne. Albo doinstaluje PEAR:biggrin.gifB na serwerze, albo ściągnij źródła i wgraj do jakiegoś katalogu.
aress_86
tak tylko biblioteki byly instalowane w katalogu ze strona.

  1. x_comp
  2. .....
  3. .....
  4. libs
  5. pear
  6. tutaj sa pliki db.php pear.php....
  7. smarty
phpion
Patrząc w źródła z 1 postu nigdzie nie widzę dołączania bibliotek PEAR. Albo ustaw set_include_path dodając do niej ścieżkę do katalogu z PEAR, albo ręcznie wywołaj require_once '/sciezka/do/PEAR/DB.php';
aress_86
w pliku database.php mam require_once 'libs/PEAR/db.php';

z tamtym bledem chyba sobie poradzilem teraz mam troche inne bledy.

Mianowicie wylazi mi takie cos a sama strona wyswietla sie nie kompletnie

Fatal error: Call to undefined method DB_Error::getOne() in /home/user-web/rswiercz/public_html/x_comp/include/database.php on line 50

  1. public function DbGetOne($queryString)
  2. {
  3. $result = $this->db->getOne($queryString);
  4. if (DB::isError($result))
  5. trigger_error($result->getMessage(), E_USER_ERROR);
  6. return $result;
  7. }


50 linijka to $result = $this->db->getOne($queryString);

Poradzicie cos na to??

Zaznaczam ze biliboteki zainstalowaly sie w 100%
nospor
$this->db jest obiektem klasy DB_Error a nie jak ci sie wydawać by mogło obiektem poprawnego połączenia.
Pewnie miałeś jakies bledy przy połączeniu lub cos podobnego. Powinienes to sprawdzac
aress_86
Walcze z tym i walcze i nic nie moge wywalczyc.
Pliki z 1 postu nie zmienily sie
  1. <?php
  2. // załadowanie biblioteki PEAR DB
  3. require_once './libs/PEAR/db.php';
  4. // klasa dostępu do bazy danych
  5. class DbManager
  6. {
  7. public $db;
  8. // laczenie z bazą danych
  9. function __construct($connectionString)
  10. {
  11. $this->db = DB::connect($connectionString, USE_PERSISTENT_CONNECTIONS);
  12. if (DB::isError($this->db))
  13. trigger_error($this->db->getMessage(), E_USER_ERROR);
  14. $this->db->setFetchMode(DB_FETCHMODE_ASSOC);
  15. $this->db->query("SET CHARACTER SET UTF8");
  16. $this->db->query("SET NAMES UTF8");
  17. //$this->set_charset("utf-8");
  18. }
  19. // koniec połączenia
  20. public function DbDisconnect()
  21. {
  22. $this->db->disconnect();
  23. }
  24. public function DbQuery($queryString)
  25. {
  26. $result = $this->db->query($queryString);
  27. if (DB::isError($result))
  28. trigger_error($result->getMessage(), E_USER_ERROR);
  29. return $result;
  30. }
  31. // nakładka na metodę getAll() biblioteki PEAR DB
  32. public function DbGetAll($queryString)
  33. {
  34. $result = $this->db->getAll($queryString);
  35. if (DB::isError($result))
  36. trigger_error($result->getMessage(), E_USER_ERROR);
  37. return $result;
  38. }
  39. // nakładka na metodę getRow() biblioteki PEAR DB
  40. public function DbGetRow($queryString)
  41. {
  42. $result = $this->db->getRow($queryString);
  43. if (DB::isError($result))
  44. trigger_error($result->getMessage(), E_USER_ERROR);
  45. return $result;
  46. }
  47. // nakładka na metodę getOne() biblioteki PEAR DB
  48. public function DbGetOne($queryString)
  49. {
  50. $result = $this->db->getOne($queryString);
  51. if (DB::isError($result))
  52. trigger_error($result->getMessage(), E_USER_ERROR);
  53. return $result;
  54. }
  55. // nakładka na metodę escapeSimple()
  56. public function DbEscapeSimple($string)
  57. {
  58. return $string;
  59. else
  60. return $this->db->escapeSimple($string);
  61. }
  62. } //koniec klasy DbManager
  63. ?>


tutaj jest caly kod database.php

Teraz mam blad Fatal error: DB Error: not found in /home/user-web/rswiercz/public_html/x_comp/include/database.php on line 13

Nie mam juz sily na to wszystko mecze sie i mecze a zostalo mi tylko to.

Moze ktos na to spojzec bo ja nie mam pojecia jak juz to ogarnac.
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.