![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 228 Pomógł: 7 Dołączył: 15.08.2012 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
Witam,
przerzuciłem sobie stronkę z WebServa na xamppa i coś się zepsuło, a mówiąc ściślej pojawia się błąd w przeglądarce
a w pasku adresu wywala mi takie coś:
w pliku z autoloudem mam ustawienia ścieżek set_include_path jedna pod drugą i na WebServie śmiagało a teraz __autoload albo nie znajduje plików albo pojawia się właśnie taka pętla przekierowań (nie znajduje plików jak zamiast set_include_path() zrobiłem sobie kilka include_once z różnymi ścieżkami wpisanymi na sztywno) inne projekty w których nie używam set_include_path działają bez problemów po przeniesieniu na xamppa. Ścieżki ustawiam podręcznikowo jak w manualu przykład poniżej: zeszukałem się i nakombinowałem łącznie z ponowną instalacją xamppa i nie mogę tego rozwiązać co może być powodem? Ten post edytował adamantd 13.01.2014, 02:28:02 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 467 Pomógł: 77 Dołączył: 6.09.2008 Skąd: Miechów / Kraków Ostrzeżenie: (0%) ![]() ![]() |
Wydaje mi się, że problem jest w obsłudze błędów. Podczas obsługi błędu pojawia się inny błąd i następują kolejne przekierowania tyle, że zamiast przekierować na odpowiedni adres doklejane są kolejne człony.
Proponuje żebyś zastosował metodę gumowej kaczuszki. Możesz też co kilka linijek dodawać echo z jakimś tekstem i bezpośrednio za tym exit. Do momentu, w którym tekst będzie się wyświetlał aplikacja działa. Proponuje też w jakiś kluczowych momentach wyświetlać wartości zmiennych i sprawdzać czy faktycznie są takie jak powinny. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 228 Pomógł: 7 Dołączył: 15.08.2012 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
@freemp3
"metoda kaczuszki" powiadasz (IMG:style_emoticons/default/smile.gif) nawet nie wiedziałem, że tak się na to mówi -ale takie testy zrobiłem w pierwszej kolejności, linijka za linijką ten projekt jest oparto o MVC w najbardziej standardowy sposób i problem zaczyna się już w głównym pliku index.php, gdzie najpierw includuję plik z set_include_path kierującym do wielu folderów oraz autoloadem, później tworzę obiekt router i przekazuję go do dispatchera. W tym miejscu przed przekazaniem do dispatchera obiektu router wrzucam die($router->controller()) celem sprawdzenia co mi zwróci i tu oczywiście zamiast pętli przekierowań wywala błąd, że właściwość ta nie została zdefiniowana, usuwam więc moje testowe die($router->controller()) i robię to samo w klasie dispatcher przed includem controllera dla danego widoku i tam też wywala błąd, że właściwość jest niezdefiniowana. Wychodzi na to, że set_include_path po prostu nie chcą z jakichś przyczyn działać na xamppie.... i pytanie dlaczego, czy muszę zmienić coś w konfiguracji xamppa czy użyć innego sposobu niż set_include_path? np w autoloudzie przeszukiwać wszystkie ścieżki po kolei nie wyświetlając błędów
taki sposób wydaje mi się mniej profesjonalny niż set_include_path (IMG:style_emoticons/default/smile.gif) Ten post edytował adamantd 13.01.2014, 13:14:02 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 467 Pomógł: 77 Dołączył: 6.09.2008 Skąd: Miechów / Kraków Ostrzeżenie: (0%) ![]() ![]() |
set_include_path na pewno działa na xampp. Sprawdzałeś co zwraca get_include_path? Ścieżki, które się tam znajdują są poprawne?
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 228 Pomógł: 7 Dołączył: 15.08.2012 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
Właśnie przed chwilką sprawdziłem set_include_path również na xamppie i działa rzeczywiście bez problemów a w poprzednim poście walnąłem błęda bo wyświetlając testowym die() odwoływałem się do prywatnej właściwości $router->controller, dlatego nic mi nie zwracała po za błędem ale teraz odwołuję się prawidłowo do metody getController() i zwraca taką wartość jak ta która jest w zapętleniu wyświetlona w pasku URL czyli: SERVER_ADRESSerror
a co do get_include_path to ... ciekawa rzecz, zaraz napiszę moje spostrzeżenie bo coś mi tu dziwnego zwraca, niekończący się ciąg znaków z.w. chyba wszystko z nim jest ok przed wszelkimi ustawieniami w pliku z autoloadem, przed jakimikolwiek set_include_path -get_include_path zwraca
po ustawieniach set_include_path -get_include_path zwraca
dodam jeszcze, że sprawdziłem to samo na WebServie i get_include_path w tych samych miejscach zwraca dokładnie to samo po za początkiem, tam jest
zauważyłem, że w xamppie folder pear jest podpisany z małych liter kiedy w ścieżce get_include_path jest z dużych, wpisałem zatem w ustawieniu set_include_path na sztywno z małych liter i nie pomogło a później jeszcze w php.ini zmieniłem ścieżkę include_path na małe litery i też nie pomaga, dalej pętla przekierowań Ten post edytował adamantd 13.01.2014, 14:44:00 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 467 Pomógł: 77 Dołączył: 6.09.2008 Skąd: Miechów / Kraków Ostrzeżenie: (0%) ![]() ![]() |
Wygląda ok. Pytanie tylko, czy są one poprawne względem pliku index.php? Jak rozumiem struktura plików w głównym katalogu wygląda następująco:
Kod index.php application core helpers i18n Z jakiego frameworka korzystasz? To jest Twoje dzieło czy coś gotowego? Porównywałeś jak to wyglądało na poprzednim serwerze? Sprawdzałeś co faktycznie trafia do instrukcji include? |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 228 Pomógł: 7 Dołączył: 15.08.2012 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
Moje dzieło, bez frameworka bo to mały projekt będzie
mniej więcej taki rozkład
jeszcze pare innych folderów Cały folder główny tego projektu (działającego), w sensie zrobiłem pierwszy controller i pierwszy widok na WebServie działa, po skopiowaniu całości tak jak jest na xampp pojawiły się problemy, które opisuję. Najdziwniejsze w tym wszystkim jest to, że przed chwilą zrobiłem sobie jak już pisałem kilka postów wyżej w folderze htdocs inny folder testowy w którym utworzyłem sobie taki przykładowy zestaw katalogów i plików
Porobie po obiedzie z milion testów w końcu musi się wyjaśnić, przecież tutaj nie może to nie działać do chol..... jasnej jak skończe napisze jaki rezultat No nie do rozkminienia bez jaj (IMG:style_emoticons/default/biggrin.gif) Jeszcze raz cały folder z moimi plikami odpaliłem na WebServie i działa, skopiowałem cały ten folder z projektem tak jak jest w całości i wkleiłem do htdocs w xampp i pętla przekierowań, czy ktoś to rozumie? @edit: Po bardzo ciężkim bilionie testów problem rozwiązany choć jego rozwiązanie kompletnie nie zrozumiałe.... plik z ustawieniami ścieżek set_include_path() oraz z autoloudem:
powyższy przykład to plik includowany do głównego pliku index i wszystko idealnie działa na WebServ oraz na serwerze zdalnym, nie działa za to na xampp i nie ma możliwości, żeby zadziałało, nie znajduje plików z klasami przez co nie tworzy ani nie rejestruje obiektów klass Poniższy przykład działa na trzech serwerac:h WebServ, xampp i serwer zdalny (przynajmniej mój)
Dodam, że w php.ini w xampp jest definicja include_path=".;C:\xampp\php\PEAR" echo get_include_path(); przed ustawieniem ścieżek wyświetla tak jak w php.ini .;C:\xampp\php\PEAR a w WebServie NIE MA (jest zakomentowana) echo get_include_path(); wyświetla .;C:\php\pear Czy ktoś potrafi wytłumaczyć to zjawisko? Dlaczego teraz wszystko działa a wcześniej nie? Bo trochę mam wątpliwości czy przerzucać się na xampp (bo jest szybszy i ma min. nowsze phpmyadmin) skoro znowu trafię na jakąś bzdurę i będę ją rozkminiał cały dzień.... Ten post edytował adamantd 14.01.2014, 02:51:26 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 28.09.2025 - 22:52 |