![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 119 Pomógł: 0 Dołączył: 15.07.2003 Skąd: Grajewo Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Na wirtualnej maszynie postawiłem sobie Apacha z php5 i MySQL i próbuję przenieść na niego kod mojej aplikacji z localhosta pod Winodwsem. Jednak się sypie. Korzystam w ModRewrite do przekierowania wszystkich adresów poza pewnymi katalogami na index.php:
jednak po wywołaniu adresów typu http://192.168.1.160/collector/item/1 wyświetla się pusta strona natomiast na innych podstronach wywołuje mi błędy w funcjach, które pod Win nie sprawiają, żadnych problemów, dla przykładu:
Nie jestem zbyt obeznany z linuxem, to moje początki z tym systemem. Wydaje mi się że mod_rewrite jest uruchomiony, ale 100% pewności nie mam. Poza tym pozostałe błędy nie są chyba tym wywołane. Jeśli ktoś ma pomysł dlaczego tak się dzieje, co mogłem pominąć w instalacji albo czego brakuje w configach, byłbym bardzo wdzięczny za sugestie. pozdrawiam Tomek. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 320 Pomógł: 53 Dołączył: 18.09.2007 Skąd: Radom Ostrzeżenie: (0%) ![]() ![]() |
sprawdź w phpinfo
bodajże ukośniki idą inaczej w Windows a inaczej w Linuksie Linux ma slash, a Windows backslash w terminalu a2enmod rewrite Ten post edytował artur_dziocha 16.04.2009, 18:21:39 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 119 Pomógł: 0 Dołączył: 15.07.2003 Skąd: Grajewo Ostrzeżenie: (0%) ![]() ![]() |
ok, więc jak poprawnie dodać mod_rewrite do Apacha2 httpd.conf mam czysty a w apache2.conf nie ma nic o rozszerzeniach, a już na pewno nie ma długiej listy z zakomentowanymi modułami nie bardzo wiem czego mam szukać w phpinfo()? w całej aplikacji wszędzie używam slashy / dodam, że mój system to Debian, a apacha2 i całą resztę instalowałem przez apt-get Ten post edytował onlyX 16.04.2009, 19:17:43 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 439 Pomógł: 21 Dołączył: 28.06.2007 Skąd: Bielsko-Biała Ostrzeżenie: (0%) ![]() ![]() |
by wyeliminować że mod_rewrite nie działa zrób prostą regułę
Kod RewriteRule abc.php index.php wywyłaj abc.php i się dowiesz btw. na obydwóch systemach masz tę samą wersje apache i php? możesz mieć starszą lub np. na jednym apache 2.x a na drugim 1.3 Ten post edytował dadexix 16.04.2009, 20:20:50 -------------------- "Na przykład zmiennej $jestem_najlepszy przypisujemy wartość logiczną TRUE"
Ja: użyj funkcji[...] Grins: mów normalnie do mnie a nie po polsku Ja: normalnie to znaczy jak? Grins: No w PHP... inaczej mój parser ledwo kuma:) |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 320 Pomógł: 53 Dołączył: 18.09.2007 Skąd: Radom Ostrzeżenie: (0%) ![]() ![]() |
a2enmod rewrite tą komende wydajesz jako root??
instalowałeś to wszystko - Kod apt-get install apache2 php5 php-pear mysql-server-5.0 php5-mysql Cytat Podpowiem jednak iz mod_rewrite ni ma nic wspolnego z PHP i w phpinfo() nie znajdziesz nic ciekawego na ten temat... A Loaded Modules w phpinfo()??Jest dział apache2handler Kod etc/apache2/sites-available/default tutaj edytujesz ustawienia pozniej w terminalu jako root /etc/init.d/apache2 restart Wypróbuj Ten post edytował artur_dziocha 16.04.2009, 21:12:32 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 869 Pomógł: 53 Dołączył: 20.10.2003 Skąd: Przeworsk Ostrzeżenie: (0%) ![]() ![]() |
Nie znajdziesz modułu mod_rewrite w standardowym apache. Najlepiej jak zainstalujesz sobie xampp-a. Od razu masz tam phpmyadmin i GD.
-------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 952 Pomógł: 154 Dołączył: 20.01.2007 Skąd: /dev/oracle Ostrzeżenie: (0%) ![]() ![]() |
Kildyt -> mod_rewrite jest częścią źródeł Apache'a, więc ciężko, żeby go nie było... co najwyżej może być wyłączony, ale jest obecny w "standardowym" Apache. Xampp nie jest nikomu do szczęścia potrzebny, zwłaszcza pod Linuksem (a tego dotyczy temat). Czysty PHP też ma GD i się nie chwali, a instalacja phpMyAdmina to kwestia rozpakowania archiwum i zmiany nazwy jednego pliku... nic trudnego.
Wracając do tematu... pod systemami uniksowymi musisz patrzeć na kilka istotnych różnic: 1. W ścieżkach występują slashe i powinno się podczas programowania używać tylko ich. 2. Żadnych liter dysków. 3. Systemy uniksowe rozróżniają wielkość liter! Request.php oraz request.php to dwa różne pliki. 4. Inny system uprawnień. 5. Skrypt PHP będzie Ci się wykonywać z prawami jakiegoś użytkownika. Jeśli PHP doinstalowany jest do Apache'a jako moduł serwera, będzie on pracować na prawach serwera, a nie Twoich i objawi się to przy próbie stworzenia jakiegoś pliku przy PHP. Konieczne jest także nadanie odpowiednio dużych uprawnień, ale widzę, że z tym sobie poradziłeś na tyle, by skrypt zaczął się wykonywać. Rozwiązaniem jest FastCGI, ale pod Apache jest to cholernie ciężkie do skonfigurowania (wina leży w module mod_fastcgi, który jest jakiś lewy - próbowałem już co najmniej kilka razy i nigdy nie działało, tymczasem w Lighttpd wychodzi za pierwszym razem). Kwestie systemu plików nie tłumaczą do końca, dlaczego dostajesz błąd wywoływania metody na nieistniejącym obiekcie. W normalnym skrypcie to nie powinno mieć miejsca. Gdyby był problem z wczytaniem jakiegoś pliku, dostałbyś albo Fatal error z informacją o braku dostępu, albo jakieś ostrzeżenia, że nie można otworzyć pliku. Problem moim zdaniem leży więc gdzieś w tym, że Twój skrypt zawiera jakieś dziwne instrukcje, które bazują dość mocno na jakiejś właściwości Windowsa. Przez brak odpowiedniej obsługi błędów albo pominięcie jakiegoś warunku w warunkach uniksowych nie tworzy on jakiegoś obiektu i efekt widać. -------------------- Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 119 Pomógł: 0 Dołączył: 15.07.2003 Skąd: Grajewo Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 869 Pomógł: 53 Dołączył: 20.10.2003 Skąd: Przeworsk Ostrzeżenie: (0%) ![]() ![]() |
Kildyt -> mod_rewrite jest częścią źródeł Apache'a, więc ciężko, żeby go nie było... co najwyżej może być wyłączony, ale jest obecny w "standardowym" Apache. Xampp nie jest nikomu do szczęścia potrzebny, zwłaszcza pod Linuksem (a tego dotyczy temat). Czysty PHP też ma GD i się nie chwali, a instalacja phpMyAdmina to kwestia rozpakowania archiwum i zmiany nazwy jednego pliku... nic trudnego. No tak, teraz muszę płacić za swoją niewiedze. Dzięki za info. ![]() -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 18:23 |