Mam problem z prostą stronką opartą na mechanizmie Smarty. Dostałem ten projekt w spadku i musiałem dostosować do nowego firmowego layoutu. Ściągnąłem sobie kod ze strony na loklany serwer, przerobiłem odpowiednio pliczek z konfiguracją smarty i wszystko hulało jak trzeba. Po jakimś czasie musiałem przesiąść się na innego kompa wraz z całym lokalnym serwerem (zainstalowałem praktycznie to samo od nowa). Kiedy na nowym serwerze odpaliłem stronkę pojawił się biały ekran ... a w źródle strony było tylko:
<!-- Generated in 0.04 s. -->
nic w kodzie nie zmieniałem więc musiała to być wina konfiguracji serwera. Znalazłem na Googlach kilka rozwiązań jednak żadne z nich mi nie pomogło zacząłem więc grzebać w kodzie w poszukiwaniu jakiś podpowiedzi. Znalazłem w pliku smarty/controller.php następujący fragment:
function run() { try { $r = $this->doAction(); { $r->render(); } ...
warunek if nie jest spełniony a dokładniej $r jest obiektem ale nie jest instancją View ... nic mi to niestety nie mówi. Sprawdziłem więc co się stanie jak wykomentuje ten warunek - strona główna odpala się prawidłowo ale jak próbuje cokolwiek na niej zrobić pojawia się błąd:
Fatal error: Class 'QueryParser' not found in C:\www\PL\kb\app\controller.php on line 239
Nie mam nigdzie w swoim kodzie definicji takiej klasy i nie wiem czy nie jest to jakaś wbudowana klasa PHP (może nie mam włączonego jakiegoś modułu) Może wam to coś podpowie bo ja już siedzę na tym kilka dni i nie mam pojęcia o co chodzi ale na 99,9% wiem że chodzi o konfiguracje serwera ... Przyczyny które już wykluczyłem:
- brak praw do zapisu w kat. cache
- skonfigurowałem tak php-a żeby wyrzucał błędy i warningi więc jeśli byłby jakiś błąd pojawiłby się na ekranie
- błąd w kodzie, na wszelki wypadek pobrałem jeszcze raz kod z serwera hostingowego gdzie strona działa bez problemów