Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem ze ścieżkami w apahce 2.0
Forum PHP.pl > Forum > Serwery WWW > Apache
spenalzo
Mam następujuący problem:
po zainstalowaniu foxserva 3 zainstalował się nowy apache 2 i od tej pory pokazuje się błąd 404 przy próbie wywołąnia skryptu poprzez link w takim formacie strona.php/zmienna1/zmienna2/ - co zrobić? Jak przekazuję w normalny sposób to działa.
spenalzo
Tak patrzyłem trochę w nowy i stary plik httpd.conf i nadal nic nie mogę do niczego dojść.
Co mam dodać aby można było otwierać linki w takiej postaci? A może w apache2 nie jest to dostępne?
kurtz
Hej
Cytat
Mam następujuący problem:
po zainstalowaniu foxserva 3 zainstalował się nowy apache 2 i od tej pory pokazuje się błąd 404 przy próbie wywołąnia skryptu poprzez link w takim formacie strona.php/zmienna1/zmienna2/ - co zrobić? Jak przekazuję w normalny sposób to działa.
Tez mam tego typu p[roblem - zauzywalem ze dotyczy to 1) instalacji apache 2.0 na windows 2) niektorych wersji.
Przykra niespodzianka bo z 1.3.x takich problemow nie bylo.


Pozdrawiam
FiDO
Ja na 2.0.46 (Win) nie mam tego problemu.
spenalzo
Ja mam 2.0.39 na WinXP i jest dupa!
Naprawde nie chce mi się poprawiać dziesiątek stron w celu zmiany linków angrysmiley.gif
kurtz
Hej
Cytat
Ja mam 2.0.39 na WinXP i jest dupa!
Naprawde nie chce mi się poprawiać dziesiątek stron w celu zmiany linków :evil:
No to
1) zainstaluj nowsza wersje i sprawdz
2) dodaj w skryptach warunek - if costam ladne linki else inaczej - bedziesz mial bardziej uniwersalnie.

Przy okazji bedziesz mial wszystko bardziej uniwersalnie ;)

Pozdraw
spenalzo
Cytat
2) dodaj w skryptach warunek - if costam ladne linki else inaczej - bedziesz mial bardziej uniwersalnie.

Uniwersalne to już jest - wszystkie linki były przekazywane w ten sposób:
[php:1:f8bf931d8a]<?php
// plik config.php
$__page="http://localhost/costam/strona.php/";

// inne pliki
echo "<a href="".$__page."dzial/strona/">Link</a>";
?>[/php:1:f8bf931d8a]
więc wymyśliłem sobie, że wystarczy uaktualnić zmienną $__page na np.
[php:1:f8bf931d8a]<?php
// plik config.php
$__page="http://localhost/costam/strona.php?";
?>[/php:1:f8bf931d8a]
i od razu jest mniej linków do przerabiania w plikach - tylko te, które mają przekazywane jeszcze jakieś inne zmienne metodą GET. Ale to nie jest dobre rozwiązanie, muszę coś wymyśleć.
Póki co, korzystam ze starego foxserva 1 :-)
kurtz
Hej
Cytat
Uniwersalne to już jest - wszystkie linki były przekazywane w ten sposób:
[php:1:56fb3f81b2]<?php
// plik config.php
$__page="http://localhost/costam/strona.php/";

// inne pliki
echo "<a href="".$__page."dzial/strona/">Link</a>";
?>[/php:1:56fb3f81b2]
więc wymyśliłem sobie, że wystarczy uaktualnić zmienną $__page na np.
[php:1:56fb3f81b2]<?php
// plik config.php
$__page="http://localhost/costam/strona.php?";
?>[/php:1:56fb3f81b2]
i od razu jest mniej linków do przerabiania w plikach
mh i wlasnie mniejwiecej takie tez byly ustalenia na II SD ;)


Pozdrawiam
FiDO
Wczoraj kompilowalem sobie apache'a na linuxie i dosc mocno wczytywalem sie w opcje konfiguracji przed kompilacja. Jedna z opcji odpowiadala wlasnie za obsluge takich linkow, wiec pewnie w coniektorych kompilacjach windowsowych zapominaja o tym smile.gif
A Ty moglbys sie w koncu przemoc i zainstalowac normalnie apache'a a nie jakies foxservy tongue.gif
Kopiujesz tylko swojego starego httpd.conf i chyba nawet nic nie bedziesz musial grzebac.
spenalzo
Cytat
A Ty moglbys sie w koncu przemoc i zainstalowac normalnie apache'a a nie jakies foxservy tongue.gif
Kopiujesz tylko swojego starego httpd.conf i chyba nawet nic nie bedziesz musial grzebac.

Strasznie jestem leniwy, no nie? :-) Ale widzę, że będę się musiał kiedyś wysilić.
scanner
Cytat
moglbys sie w koncu przemoc i zainstalowac normalnie apache'a a nie jakies foxservy tongue.gif
Ja się za to dzisiaj zabrałem w robocie na WinNT4:
apache_2.0.47-win32-x86-no_ssl.msi - OK - instalator tongue.gif
mysql-4.0.14a-win.zip - OK - instalator tongue.gif
php-5.0.0b1-Win32.zip - ktoś ma gotowca, żeby nie przekopywac się przez plik INSTALL ? (jestem leniwcem - jak Sid z Epoki smile.gif
FiDO
Cytat
Strasznie jestem leniwy, no nie? :-) Ale widzę, że będę się musiał kiedyś wysilić.

"Co sie odwlecze to nie uciecze", czy jak to tam lecialo winksmiley.jpg
Pewie zrobisz to dopiero gdy sam stwierdzisz, ze na problemy zwiazane z obecnym stanem poswieciles juz tyle czasu, ze zdazylbys kilka razy tego apache'a recznie zainstalowac winksmiley.jpg
Cytat
Ja się za to dzisiaj zabrałem w robocie na WinNT4:  
apache_2.0.47-win32-x86-no_ssl.msi - OK - instalator  
mysql-4.0.14a-win.zip - OK - instalator

Tak szczerze to jedyne co mi sie w tym nie podoba, to to ze ma instalator biggrin.gif Ja wiem.. zawsze nalezalem do mniejszosci winksmiley.jpg
Osobiscie wole sam rozpakowac i recznie wszystko zrobic, przynajmniej wiem co gdzie i jak. A instalatory te utrudniaja znacznie robienie update'ow tych serwerow (moja konfiguracja nie nalezy do standardowych, przez co instalator tylko mi miesza...).

Cytat
php-5.0.0b1-Win32.zip - ktoś ma gotowca, żeby nie przekopywac się przez plik INSTALL ?

Gotowca apropo czego? Chodzi Ci o to, co gdzie skopiowac, zeby wszystko hulalo? A moze podac tez przepis na symultaniczne dzialanie dwoch php na 1 apache'u (np. rozszerzenie .php5 obslugiwane przez php5, reszta php4)?
Napisz co konkretnie chcesz wiedziec to, o ile nie zapomne (a skleroze mam nieziemska biggrin.gif), postaram sie jutro Ci cos naskrobac.
scanner
Cytat
Cytat
php-5.0.0b1-Win32.zip - ktoś ma gotowca, żeby nie przekopywac się przez plik INSTALL ?
Gotowca apropo czego? Chodzi Ci o to, co gdzie skopiowac, zeby wszystko hulalo?
No ta... jak to mawiali starożytni rosjanie "nawet bogowie popełniają błedy", hihi.
Kwestia jest taka, że w robocie mi się kręci za duzo ludzi i co chwilę ktoś coś chce, a to mnie skutecznie rozprasza. Gotowiec w moim przypadku: Ktore pliki z dystrubucji php gdzie skopiować i które pliki wyedytować, aby wszystko hulało.
spenalzo
Cytat
Cytat
Strasznie jestem leniwy, no nie? :-) Ale widzę, że będę się musiał kiedyś wysilić.

"Co sie odwlecze to nie uciecze", czy jak to tam lecialo winksmiley.jpg

"Co masz zrobić dzisiaj, zrób jutro. Co masz zrobić jutro zrób pojutrze, a będziesz miał dwa dni wolnego" - bardziej tą zasadą się kieruje jeżeli chodzi o wszystkie instalacje, update, backupy (niestety też, już się raz zemściło). No ale widzę pewną poprawę, bo zaczyna mi się coraz więcej rzeczy chcieć - np. ściągnąłem foxserv 3.0, bo przez 2 lata używałem jedynki.
Nie, nabijam się tylko - po prostu wolę, że jak czegoś nie umiem dobrze zrobić, to niech to zrobi instalator, przynajmniej działa. Bo co próbowałem coś zmienić/poprawić w konfiguracji apache'a to kończyło sie to reinstalacją całego pakietu, przywrócenie pliku zapasowego nic nie dało.
FiDO
Cytat
"Co masz zrobić dzisiaj, zrób jutro. Co masz zrobić jutro zrób pojutrze, a będziesz miał dwa dni wolnego" - bardziej tą zasadą się kieruje jeżeli chodzi o wszystkie instalacje, update, backupy (niestety też, już się raz zemściło).

I jak dalej bedziesz stosowal ta metode to pewnie jeszcze nie raz sie zemsci winksmiley.jpg

Cytat
Bo co próbowałem coś zmienić/poprawić w konfiguracji apache'a to kończyło sie to reinstalacją  całego pakietu, przywrócenie pliku zapasowego nic nie dało.

No to musiales w takim razie dziabnac cos jeszcze, nie ma cudow, zeby nie dzialalo na orginalym cfg, jesli tylko w nim ryles.
Swoja droga to fajna zabawa uczenie sie konfiguracji apache'a smile.gif Ja jeszcze ze 2-3 miechy temu jedyne czesci cfg ktore rozumialem to te ogolne typu ServerRoot, virtual hosty i wiedzialem jeszcze co dodac, zeby php dzialalo, az pewnego dnia stwierdzilem, ze z taka niewiedza to ja zyc nie moge i poczytalem co nieco smile.gif
Cytat
Gotowiec w moim przypadku: Ktore pliki z dystrubucji php gdzie skopiować i które pliki wyedytować, aby wszystko hulało

Sam sie z tym meczylem, wiec wiem o czym piszesz, niektoryz pisali, ze wystarczylo podmienic katalogi starego php na nowego php5 i dzialalo, u mnie tak nie poszlo i ladnych kilka godzin zmarnowalem (w sumie nie tak znowu zmarnowalem, bo sie nauczylem czegos nowego) na zamkniecie tego na ostatni guzik.
Tak jak pisalem, jesli nie zapomne (I'll do my best ;]) to na jutro bedzie opisik.
scanner
Cytat
Cytat
Ktore pliki z dystrubucji php gdzie skopiować i które pliki wyedytować, aby wszystko hulało
(...) niektoryz pisali, ze wystarczylo podmienic katalogi starego php na nowego php5 i dzialalo (...)
Osobiście wywaliłem foxserva i wyczyściłem dysk i rejestr z tego co po nim jeszcze zostało, a co znalazłem.
FiDO
Ok, wiec tak, duzo nie bede pisal, tylko wkleje Ci jak ja to sobie rozpisalem, nie powinienes miec problemu z odczytem:
Kod
=========== Module ==============



--- httpd.conf ---

LoadModule php5_module d:/usr/php5/sapi/php4apache2.dll

AddType application/x-httpd-php .php

--- eof ---



php4ts.dll -> %APACHE%/bin

iconv.dll -> %APACHE%/bin

libmysql.dll -> %APACHE%/bin



php.ini |-> %APACHE%/bin

        |-> %APACHE%

        -> %WINDIR%



============= CGI ===============



--- httpd.conf ---

ScriptAlias /php5/ /usr/php5/

AddType application/x-httpd-php .php

Action application/x-httpd-php /php5/php.exe

--- eof ---



libmysql.dll -> %PHP5%

iconv.dll -> %PHP5%

Pliki iconv.dll i libmysql.dll sa w %php%/dlls
Oczywiscie libmysql.dll kopiujesz tylko w wypadku, gdy chcesz korzystac z mysql (dodatkowo musisz "odkomentowac" odpowiedni extension)
Konfiguracji php.ini nie bede juz tlumaczyl, bo ta poza kilkoma nowymi opcjami, nie rozni sie od php4.
Nie wiem czy o czyms nie zapomnialem, ale chyba nie, jakbys mial jakis problem, pisz.
scanner
OK.
Apache założył na głowę pióropusz z piór ptaka php. Teraz tylko musze mu wsadzić toporek MySQL do ręki. Idę zatem do php.ini i szukam frazy "mysql".
Czytam:
Cytat
;Windows Extensions
;Note that MySQL and ODBC support is now built in, so no dll is needed for it.
;
Ale wbrew pozorom dostaję:
Cytat
Fatal error: Call to undefined function: mysql_connect() in D:PrivateWebServerApacheApache2htdocsscannermodulesmod.database.mysql.php on line 17
Co teoretycznie by się zgadzało z tym, co na forum wyczytałem, ze php5 nie ma wbudowanego jednak supportu dla MySQL-a. No to zatem trzeba dodać:
Cytat
extension=libmySQL.dll
Restart Apacha skutkuje czymś takim:
Cytat
Unknown(): Invalid Library (maybe not a php library) 'kibmySQL.dll'
Zatem która biblioteka będzie "valid" ? Bo np. php_mysql.dll nie mam na dysku nigdzie...
KaMeLeOn
Cytat
[...] Zatem która biblioteka będzie "valid" ? Bo np. php_mysql.dll nie mam na dysku nigdzie...

"valid" jest php_mysql.dll w katalogu extensions...
Jeśli nie masz w dystrybucji, ściągnij aktualną z http://snaps.php.net
scanner
Cytat
"valid" jest php_mysql.dll w katalogu extensions...Jeśli nie masz w dystrybucji, ściągnij aktualną zhttp://snaps.php.net
No własnie tak mi cos brakowało. Zaraz potestuję w domu - tu też przed chwila (na XP Pro) wykopałem FoxServa za drzwi.
___
A w głośniczkach "Groove Coverage"
scanner
Zassałem:
:arrow: php5-win32-200308011430.zip - latest jaki był.
Znalazłem:
:arrow: php_mysql.dll i skopiowałem do %APACHE%/bin
Dodałem do php.ini:
Cytat
; Directory in which the loadable extensions (modules) reside.
extension_dir = "D:ToolsWebServerphp5extensions"


Restart Apacza i....

Ale ten dll na pewno w tym miejscu jest angrysmiley.gif
KaMeLeOn
Cytat
:arrow: php_mysql.dll i skopiowałem do %APACHE%/bin

Gdzie? Do /php5/extensions :!:
scanner
w php5extensions to on byl - dostałem go ze snapshotem. Profilaktycznie z extensions skopiowałem do apachebin
KaMeLeOn
Cytat
w php5extensions to on byl - dostałem go ze snapshotem. Profilaktycznie z extensions skopiowałem do apachebin

Instalujesz jako moduł czy CGI?
scanner
Jako moduł.
Snapshota zaktualizowałem do tego z godziny 18.30
____
Temat zamknięty.
Rozwiązanie: nadpisanie istniejącego libmysql.dll w %APACHE%/bin
____
Jestem szczęśliwym posiadaczem Apache2 + MySQL4 + PHP5 na WinXP
KaMeLeOn
Szczerze mówiąc to zauważyłem, że PHP5 doskonale sobie radzi bez przegrywania jakichkolwiek plików (nawet php.ini)...
Wystarczy dobrze ustawić ścieżkę w Apache'u (dla modułu jak i dla CGI).
Cytat
Jestem szczęśliwym posiadaczem Apache2 + MySQL4 + PHP5 na WinXP

To teraz doinstaluj jeszcze PHP4... :wink:
scanner
Cytat
To teraz doinstaluj jeszcze PHP4... :wink:
Po co?
PHP4 mam na zdalnym serwerze smile.gif
FiDO
Nie bylo mnie jeden dzien i juz burda winksmiley.jpg
Przeciez wyraznie w mojej rozpisce masz napisane, ze trzeba skopiowac libmysql.dll do apache'a (jest jeszcze wiele miejsc gdzie mozna, chocby do windowsa, ale ja wybralem taka)

Cytat
Wystarczy dobrze ustawić ścieżkę w Apache'u (dla modułu jak i dla CGI).

A mozesz tak ze szczegolami?? Jakie sciezki masz na mysli??
scanner
FiDO: ja tam miałem tego dll'a, ale widocznie jakąś starszą wersję smile.gif
Teraz sobie grzecznie snapshoty php co wieczor zasysam smile.gif
KaMeLeOn
Cytat
A mozesz tak ze szczegolami?? Jakie sciezki masz na mysli??

A proszę Cię bardzo... Mówimy o PHP5, bo PHP4 sobie nie radzi...
CGI
Cytat
DirectoryIndex index.php5
ScriptAlias /php5/ "DYSK:/ścieżka do php5/"
AddType application/x-httpd-php5 .php5
Action application/x-httpd-php5 /php5/php.exe

moduł Apache'a
Cytat
LoadModule php5_module "DYSK:/ścieżka do php5/sapi/php4apache2.dll"
DirectoryIndex index.php5
AddType application/x-httpd-php .phtml .php

Nic nigdzie nie trzeba kopiować, wszystkie pliki są u mnie w katalogu php5. Nawet php4ts.dll nie ruszałem bo przecież mam też PHP4. Zastanawiałem się jak rozwiązać problem php.ini, ale rozwiązanie przyszło samo... nawet go nie ruszałem z katalogu. Jeśli biblioteki nie będą chciały ruszyć to związane jest to tylko z błędnym ustawieniem "extensions_dir". Oczywiście nie można zainstalować PHP4 i PHP5 obu jako CGI albo jako moduł. Musimy wybrać co ma być jak zainstalowane.
FiDO
Cytat
[...]
Nic nigdzie nie trzeba kopiować, wszystkie pliki są u mnie w katalogu php5. Nawet php4ts.dll nie ruszałem bo przecież mam też PHP4. Zastanawiałem się jak rozwiązać problem php.ini, ale rozwiązanie przyszło samo... nawet go nie ruszałem z katalogu. Jeśli biblioteki nie będą chciały ruszyć to związane jest to tylko z błędnym ustawieniem "extensions_dir".

No dokladnie tam mam poustawiane i php_mysql.dll nie widzi libmysql.dll, a php.exe czy php4ts.dll nie widzi iconv.dll, oba brakujace pliki sa w %php%/dlls, chyba ze i ten katalog nalezy dodac do extensions??

Cytat
Oczywiście nie można zainstalować PHP4 i PHP5 obu jako CGI albo jako moduł. Musimy wybrać co ma być jak zainstalowane.

Obu jako modul nie mozna ze wzgledu na php4ts.dll, kazdy ma swoje a w przypadku modulu sciezki szukania sa takie same, wiec oba php znalazlyby tego samego dll, innych przeszkod nie widze, badz juz je ominalem, jak uda mi sie jakos ominac ta to fajnie bedzie.
A jesli chodzi o 2xCGI to wydaje mi sie ze da rade to zrobic, bo ja jak mam jako CGI zainstalowane php5, to zadne jego pliki nie sa w katalogu innym niz jego wlasny, wiec nie ma zadnych konfliktow. Jesli z php4 jest podobnie, a pewnie jest, to nie widze przeszkod, zreszta sprawdze to sobie.


-- ok sprawdzilem smile.gif
Tak jak myslalem, php4 rowniez hula ze wszystkimi plikami tylko w swoim katalogu. Jak bede w domu to jeszcze upewnie sie, ze oba php pojda, ale nie widze przeciwwskazan.
FiDO
Sprawdzilem, 2xCGI na jednym Apache'u smiga, az milo popatrzec smile.gif
Za to pod linuxem nie moge w zaden sposob tego zrobic :/ Ani CGI + CGI, ani CGI + moduł, ze o modul + modul nie wspomne...
Jak probuje 2 moduly to mam segmentation fault apache'a, a jak z CGI to otrzymuje dziwny error w logach apache'a.
Fo
hmm mnie natomiast php4 zamontowany jako modul chodzi ladnie .. a php5 zamontowane jako cgi tez ladnie do momentu kiedy chce php5 ozenic z mysql ... niestety ale u mnie przy tym samym snapshocie nie dziala mysql z php5 .... call to undefinied function ... i ti samo co u scannera tyle tylko ze u mnie nie podzialalo nadpisanie istniejacego libmysql.dll ... mhm i co ja moge z tym zrobic ?

moj httpd.conf a raczej jego fragment :
Cytat
LoadModule php4_module c:/apache/php4/sapi/php4apache2.dll  

AddType application/x-httpd-php .php .php3 .php4 .phtml

ScriptAlias /php5/ /apache/php5/  
AddType application/x-httpd-php5 .php5
Action application/x-httpd-php5 /php5/php.exe
nie testowalem tego jako cgi + cgi bo ... wole modul + cgi :wink:
tylko co ja moge z tym zrobic zeby to wkoncu chodzilo ? hmm
Fo
hah mniam udalo mi sie ozenic php5 z mysql... smile.gif
nie mialem php_mysql.dll w php5/dlls ... ale lol

nio scanner sie chwalil to ja teraz tez sie pochwale...

jestem szczęśliwym posiadaczem apache 2 + php4 + php5 + mysql 4 smile.gif
FiDO
To ja mam wiecej, bo jeszcze PgSQL 7.3.4 tongue.gif
Pozatym cala ta kombinacja jeszcze z Apache 1.3.27 mi smiga.
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.