Uruchamianie PHP 4 i PHP 5 na jednym serwerze, for Windows |
Uruchamianie PHP 4 i PHP 5 na jednym serwerze, for Windows |
6.08.2004, 19:49:50
Post
#1
|
|
Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław |
Wiele razy pojawiał się temat tego, jak tego dokonać, to znaczy jak umożliwić odpalenie tych 2 wersji php na jednym serwerku.
Jak się okazuje, problem nie jest łatwy, i choć ponoć jest kilka sposobów na jego rozwiązanie - nie są to rzeczy łątwe do zrobienia. W związku z tym bardzo ucieszyło mnie pojawienie się pakietu, który omija ten problem odrobinę inaczej - tj. na zasadzie przełączania się na tą drugą wersję php. Umiejętność taką posiada pakiet wampserver (składający się domyślnie z Apache 1.3.31, php 5.0.0 and MySQL 4.0.18.) po zainstalowaniu dodatku PHP4 ADD-ON Pakiet jest przeznaczony dla użytkowników windowsów, i sprawdza się bardzo dobrze jako serwerek to testowania własnych skryptów, szczególnie w okreśie przejściowym z PHP4 na PHP5. Gorąco polecam -------------------- "Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
|
|
|
6.08.2004, 23:29:36
Post
#2
|
|
Grupa: Zarejestrowani Postów: 405 Pomógł: 1 Dołączył: 19.09.2003 Skąd: Lublin Ostrzeżenie: (0%) |
Ciekawa koncepcja z tym serverem...
Ja natomiast zastosowałem się do porad FiDO z tego tematu. Działa jak burza: Apache/2.0.49 (Win32) php/4.3.7 php/5.0.0RC3 Nurtuje mnie tylko pytanie jak to jest z instalacją dwóch wersji php pod jakimś systemem Unix-owym. Ja nigdy nie próbowałem, ale niedługo będę musiał i zastanawiam się czy ktoś nie ma jakichś doświadczeń. -------------------- Rozwój cywilizacji informatycznej to wyścig między programistami, którzy wytwarzają coraz łatwiejsze
programy użytkowe dla idiotów, a światem produkującym coraz lepszych gatunkowo idiotów. Blog: Małolepszy.info |
|
|
11.08.2004, 21:07:52
Post
#3
|
|
Grupa: Przyjaciele php.pl Postów: 1 717 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Wolsztyn..... Studia: Zielona Góra Ostrzeżenie: (0%) |
Jojo: tez za jakis czas bede sie podejmowal tego wyzwania, gdybys byl pierwszy i Ci sie uda, to napisz, w przeciwnym wypadku ja napisze
DevY: mozesz mi jakos po krotce opisac na jakiej zasadzie dziala ów przełączanie miedzy wersjami php ? Niezbyt mam mozliwosc sprawdzenia na kompie przy ktorym siedze tego pakietu, a na dyskietke to on raczej nie wejdzie.. ---edit: Jojo: udalo mi sie Robilem analogicznie do tego co napisalem tutaj http://forum.php.pl/index.php?showtopic=78...ndpost&p=121363 Oczywiscie pomijajac instalowanie uslugi i inne windowsowe rzeczy. Nie trzeba sie na linuxie martwic o sciezki do php.ini. Ja skompilowalem sobie oba pehapy w osobnym katalogu (/usr/local/php4 i /usr/local/php5), kazdy czyta php.ini ze swojego wiec nie trzeba sie o to martwic. Pozatym zadnych innych cudow nie robilem, zadzialalo odrazu. -------------------- Brak czasu :/
|
|
|
4.09.2004, 11:52:49
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 4.09.2004 Ostrzeżenie: (0%) |
Na linuxie(rh fedora) php4+php5 mozna tez odpalic w pare sposobow. np. dwa apache kazdy na innym porcie lub php5 wkompilowany jako modul cgi .Ja chcialem aby pliki z rozszerzeniem .php byly kompilowane przez kompilator php4 , .php5 -> php5.
Skomilowalem php5 jako cgi i smiga na jednym apachu php4 i php5.To chyba najlepsze rozwiazanie jakie udalo sie znalesc Pozdrawiam |
|
|
4.09.2004, 18:48:59
Post
#5
|
|
Grupa: Przyjaciele php.pl Postów: 1 717 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Wolsztyn..... Studia: Zielona Góra Ostrzeżenie: (0%) |
To jest najprostsze rozwiazanie ale ma swoja wade.. nie mozna w latwy sposob sprawdzic czy dany skrypt lub nawet caly serwis zadziala na php5, musialbys zmieniac rozszerzenia wszystkich plikow. Rozwiazanie z dwoma osobnymi portami wydaje sie byc do tego lepsze, poniewaz przechodzenie miedzy wersjami php staje sie banalne i szybkie.
-------------------- Brak czasu :/
|
|
|
21.12.2004, 10:53:22
Post
#6
|
|
Grupa: Zarejestrowani Postów: 172 Pomógł: 0 Dołączył: 22.09.2002 Skąd: Gorzów Wlkp Ostrzeżenie: (0%) |
Witam.
Stanąłem przed tym samym problemem ale na Apache'u postawionym na FreeBSD w wersji 5.x - Apache z lini 1.3.x. Co ciekawsze chciałem to zrobić nie w taki sposób, że PHP4 będzie chodziło jako moduł a PHP5 jako CGI - zamiana portów też mnie nie satysfacjonowała... chciałem aby obydwie wersje php chodziły jako moduł(ze względu na zmienne środowiskowe). Poszperłame w sieci i znazłem ciekawy artykuł w jaki sposób osiągnąc to co chciałem zrobić. Niestety moje męki nic przyniosły skutku chociaż robiłem wszystko zgodnie z opisami... Na czym polegał sposób - otóż podobnie jak FIDO - z tym że korzystając z dobrodziejstwa UNIX'a i możliwości szybkiej kompilacji źródełek - pozmieniałem mime-typ PHP5 z x-httpd-php na x-httpd-php5... podobnie zrobilem z php_value, php_admin_value itd... sama zmiana zadzialala, gdyz udalo mi sie odpalic serwer www ktory parsowal pliki .php5 za pomoca x-httpd-php5 - ale jak dodam modul od PHP4 wszystko zaczyna sie sypac... Moze ktos z was probowal to osiagnac pod systemem Unixowym i wie jak temu zaradzic, lub co moze byc przyczyna bledow - dodam ze serwer potrafi sie uruchomic po zahashowaniu linijek AddModule i pozostawieniu LoadModule - ale nie parsuje plikow ani .php ani .php5. Wpadlem tez na pomysl aby zamiany mime-type dokonac takze dla PHP4 i dzis bede probowal to zrobic - napsize jak mi poszlo... dzieki za kazda wskazowke pozdrawiam anas |
|
|
3.05.2005, 21:12:38
Post
#7
|
|
Grupa: Zarejestrowani Postów: 548 Pomógł: 2 Dołączył: 19.07.2003 Ostrzeżenie: (0%) |
witam ...
no i mam problem ... podobno wszyscy wiedzą jak zrobić php5 jako cgi tylko chcą jako moduł ... otóż nie wszyscy ... nie wychodzi mi w żaden sposób ... kawałek z mojego httpd.conf Kod # For php 4 do something like this: i wszystko niby cacy ale jednak nie ... serwer parsuje php - jako 4 - poprawnie [wyświetla się php info z poprawnymi wartościami - php.ini i inne] ale jak dam plik php5 to wywala #400 - bad request - albo ściąganie pliku - który okazuje się plikiem tekstowym z ... errorem 400 ... już nie wiem co zrobić ... macie jakieś sugestie LoadModule php4_module "c:/work/php4/sapi/php4apache2.dll" AddType application/x-httpd-php .php # For php 5 AddType application/x-httpd-php5 .php5 Action application/x-httpd-php5 "c:/work/php5/php-cgi.exe" progamy: apache 2.0.54 php 4.3.11 php 5.0.4 pozdrawiam -------------------- Computer games don't affect kids; I mean if <span style="font-weight: bold;">Pac Man</span> affected us as kids,we would all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music.
|
|
|
4.05.2005, 01:46:42
Post
#8
|
|
Grupa: Przyjaciele php.pl Postów: 1 717 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Wolsztyn..... Studia: Zielona Góra Ostrzeżenie: (0%) |
Musisz dodac ScriptAlias'a
Kod ScriptAlias /php5/ c:/work/php5/
Action application/x-httpd5-php /php5/php-cgi.exe -------------------- Brak czasu :/
|
|
|
4.05.2005, 07:24:51
Post
#9
|
|
Grupa: Zarejestrowani Postów: 548 Pomógł: 2 Dołączył: 19.07.2003 Ostrzeżenie: (0%) |
witam ...
myślałem że to alias do patha do php ... dodałem ale nadal nie działa ... wyskakuje dialog sciągania pliku ... pozdrawiam -------------------- Computer games don't affect kids; I mean if <span style="font-weight: bold;">Pac Man</span> affected us as kids,we would all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music.
|
|
|
4.05.2005, 09:28:38
Post
#10
|
|
Grupa: Przyjaciele php.pl Postów: 1 717 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Wolsztyn..... Studia: Zielona Góra Ostrzeżenie: (0%) |
Nie zgubiles gdzies AddType'a po drodze? Bo jego brak dla danego rozszerzenia moglby powodowac probe sciagniecia pliku...
U siebie sprawdzalem na takim cfg: Kod ScriptAlias /php5/ /usr/php5/ AddType application/x-httpd-php5 .php5 Action application/x-httpd-php5 /php5/php-cgi.exe i wszystko smiga jak nalezy z i bez php4 rownolegle. Sprobuj moze najpierw odznaczyc wszystkie opcje dotyczace php4, zeby dzialalo Ci samo php5. A najlepiej to wystaw swojego httpd.conf'a i daj linka (tylko nie wklejaj do posta...), moze cos innego naknociles -------------------- Brak czasu :/
|
|
|
4.05.2005, 15:29:33
Post
#11
|
|
Grupa: Zarejestrowani Postów: 362 Pomógł: 0 Dołączył: 18.02.2004 Skąd: Knurów Ostrzeżenie: (0%) |
Cytat(FiDO @ 2004-09-04 19:48:59) To jest najprostsze rozwiazanie ale ma swoja wade.. nie mozna w latwy sposob sprawdzic czy dany skrypt lub nawet caly serwis zadziala na php5, musialbys zmieniac rozszerzenia wszystkich plikow. Rozwiazanie z dwoma osobnymi portami wydaje sie byc do tego lepsze, poniewaz przechodzenie miedzy wersjami php staje sie banalne i szybkie. Można, Wystarczy stworzyć plik .htaccess z treścią: Kod <Files *.php>
ForceType application/x-httpd-php5 </Files> |
|
|
4.05.2005, 16:21:20
Post
#12
|
|
Grupa: Zarejestrowani Postów: 548 Pomógł: 2 Dołączył: 19.07.2003 Ostrzeżenie: (0%) |
Cytat(FiDO @ 2005-05-04 09:28:38) Sprobuj moze najpierw odznaczyc wszystkie opcje dotyczace php4, zeby dzialalo Ci samo php5. A najlepiej to wystaw swojego httpd.conf'a i daj linka (tylko nie wklejaj do posta...), moze cos innego naknociles witam ... a co tam jest do naknocenia php5 i php4 działają jak są same ... php5 przestaje działać jak zmienie application/x-httpd-php na application/x-httpd-php5 ... już wtedy nie parsuje pliku fragment z działającego confa Kod ScriptAlias /php/ "c:/work/php5/" AddType application/x-httpd-php .php Action application/x-httpd-php "/php/php-cgi.exe" zmieniam na Kod ScriptAlias /php5/ "c:/work/php5/" AddType application/x-httpd-php5 .php5 Action application/x-httpd-php5 "/php5/php-cgi.exe" i przestaje działać ... plik index.php5 wywala ekran ściągania pliku :| całego konfiga nie będe wystawiał bo nie ma sensu ... w porównaniu z defaultowym zmieniłem tylko port nasłuchu z 80 na inny, serwer roota, może coś tam jeszcze ... ale nawet jak dałem defaultowy to była kapa ... może ta wersja jest jakaś nie teges pozdrawiam -------------------- Computer games don't affect kids; I mean if <span style="font-weight: bold;">Pac Man</span> affected us as kids,we would all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music.
|
|
|
5.05.2005, 01:00:10
Post
#13
|
|
Grupa: Przyjaciele php.pl Postów: 1 717 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Wolsztyn..... Studia: Zielona Góra Ostrzeżenie: (0%) |
No ciekawe.. nie powiem..
Sam PHP5 ale na application/x-httpd-php5 tez nie dziala? Co do wersji to jak widzisz mam prawie identyko.. jutro jak znajde czas to zrobie upgrade apacha, zeby byla pelna zgodnosc i wtedy jeszcze raz zobacze. Aha.. jeszcze jedno.. zajrzyj do error.log'a od apacha zaraz po wywolaniu w przegladarce pliku .php5, moze bedzie tam cos co bedzie moglo pomoc. -------------------- Brak czasu :/
|
|
|
5.05.2005, 22:58:00
Post
#14
|
|
Grupa: Zarejestrowani Postów: 548 Pomógł: 2 Dołączył: 19.07.2003 Ostrzeżenie: (0%) |
witam ...
to był sam php5 ... i działa jako cgi ale jak tylko zmienie na application/x-httpd-php5 to przestaje :| ... już nie wiem co zrobić ... a miało być takie strasznie łatwe ... pozdrawiam -------------------- Computer games don't affect kids; I mean if <span style="font-weight: bold;">Pac Man</span> affected us as kids,we would all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music.
|
|
|
7.05.2005, 15:09:12
Post
#15
|
|
Grupa: Przyjaciele php.pl Postów: 1 717 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Wolsztyn..... Studia: Zielona Góra Ostrzeżenie: (0%) |
No bo to jest latwe.. specjalnie zainstalowalem sobie nowego apacha (czyli juz wszystko w takiej samej wersji jak Ty masz), dodatkowo wrzucilem domyslny config apacha z httpd.conf.default, zeby nie bylo, ze cos mialem dziwnego wykombinowanego. Jedyne co zmienilem to DocumentRoot'a oraz dodalem te 3 linie do php i dzialalo zarowno na x-httpd-php5 jak i na domyslnym typie.
Sprawdzales logi czy nic tam nie ma ciekwego ? -------------------- Brak czasu :/
|
|
|
7.05.2005, 19:51:16
Post
#16
|
|
Grupa: Zarejestrowani Postów: 548 Pomógł: 2 Dołączył: 19.07.2003 Ostrzeżenie: (0%) |
witam ..
nieeeeeeeeeeee no nie wiem co jes ... chyba magic ... albo config który przychodzi z apachem jest uwalony albo już nie wiem co ... zrobiłem tak jak FiDO ... wziąłem default.conf dopisałem moduł z 4 i path do 5 jako cgi i poszło za pierwszym razem ... szkoda że wywaliłem ten zły conf ... chciałbym się dowiedzieć co robiłem źle ... thx za pomoc FiDO już smiga ... pozdrawiam -------------------- Computer games don't affect kids; I mean if <span style="font-weight: bold;">Pac Man</span> affected us as kids,we would all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music.
|
|
|
17.05.2005, 17:30:54
Post
#17
|
|
Grupa: Zarejestrowani Postów: 401 Pomógł: 0 Dołączył: 18.04.2003 Skąd: Trójmiasto Ostrzeżenie: (0%) |
@Odnosnie montazu na platformach Linux
juz duuuzo czasu minelo od chwili kiedy ten temat zaistnial ale mysle ze z problemem dalej ludzie sie borykaja, mnie udalo sie to zrobic na jednym apache2, bez zdanej zabawy z typami mime, kodem zrodlowym, bez zgrzytow. niewiem jak to jest, czasem poprostu 0,5 na stole wszystko upraszcza . Niedlugo zamierzam wszystko spisac w jedna calosc i zarzucic tutaj na forum serwerowym - mam tutaj na mysli kompletna instalacje apache2+CGI+php4+php5+mysql+postgresql. A tymczasem borem lasem podam moze to jak udalo mi sie osiagnac to czego chcialem : Cytat("httpd.conf") DirectoryIndex index.html index.php index.php4 index.php5 index.pl index.cgi #php4 support LoadModule php4_module modules/libphp4.so AddType application/x-httpd-php .php AddType application/x-httpd-php .php4 #php5 support AddType application/x-httpd-php5 .php5 ScriptAlias /php/ "/usr/local/php5/bin/" Action application/x-httpd-php5 "/php/php" chyba najkrotsze i najprostsze rozwiazanie jesli chcemy miec to wszystko na jednej puszce ( u mnie apache2 ) bez zadnej zabawy z mod_proxy, bez zadnej zabawy z typami mime w zrodlach, poprostu czysto : montaz php4 statycznie jako modul ( ./configure --with-apxs2=/usr/local/apache2/bin/apxs ) i php5 jako CGI ( --enable-fastcgi --enable-force-cgi-redirect , BEZ --with-apxs2=/usr/local/apache2/bin/apxs ) niewiem tylko jak tutaj wyglada sprawa z dostepnoscia zmiennej srodowiskowej $_SERVER - ale pracuje caly czas nad tematem i jezeli de facto bedzie z tym problem ( gdzies tu na forum widzialem podobny temat o php4+php5 jako moduly chyba na dwoch apache ) to byc moze za jakis czas naskrobie i taka wersje ktora bedzie taktowala o dwoch apache i dwoch php ( php4+php5 ) - tak zeby wszystko smigalo jeszcze lepiej. pozdro ya edit: nie bardzo sie znam na samym php - ja tu tylko montuje co trzeba :] ale phpinfo(); ladnie wyswietla wszystkie zmienne $_SERVER chyba ze patrze na to co nie jest istotne, wtedy prosze o sprostowanie Ten post edytował Fo 17.05.2005, 17:47:02 |
|
|
17.05.2005, 19:28:30
Post
#18
|
|
Grupa: Zarejestrowani Postów: 172 Pomógł: 0 Dołączył: 22.09.2002 Skąd: Gorzów Wlkp Ostrzeżenie: (0%) |
Hej.
Jezeli chodzi o to rozwiazanie - zrobic to mozna bez problemu, ale raczej borykamy(lub borykam) sie ze zrobieniem tego jako dwa moduly... w czym rzecz, a no w tym, ze chodzi nie tylko o zmienna $_SERVER, ale takze wykonywanie skryptow z prawami uzytkownikow... kilka rzeczy sklada sie na to, ze wskazana na serwerach u mnie w firmie jest wersja jako modul, nie w otoczce CGI. Udalo mi sie to osiagnec poprzez przekierowywanie wewnetrzne PROXY + mod_rewrite do wykrywania wywolan skrypto z roszerzeniem .php5... -> ale nie dziala to rewelacyjnie - chociaz dziala. Kolejna sprawa to czy nie zastanawial sie ktos z was jak np. dac userowi mozliwosc przelaczania sie pomiedzy wersjami php dla wybranych VHOSTow? Chodzi mi o to, aby np. user w htaccess okresla z ktorej wersji php skorzysta, albo lepiej, na sztywno w konfiguracji vhosta to ustalac - oczywiscie jako moduly, a dwa zeby sie nie gryzly, na porcie 80 all rzecz jasna pozdrowka anas |
|
|
17.05.2005, 21:15:12
Post
#19
|
|
Grupa: Zarejestrowani Postów: 401 Pomógł: 0 Dołączył: 18.04.2003 Skąd: Trójmiasto Ostrzeżenie: (0%) |
@anas : zaglebiam sie wlasnie w makulature : http://httpd.apache.org/docs-2.0/mod/core.html#ifdefine
- niewiem, czy tego moze probowales ? bo w sumie mialo by to na pierwszy rzut oka rece i nogi - jak rozszerzenie jest php lub php4 to zaladowywuje sie modul php4_module a jak php5 no to php5_module, tylko skolei jeszcze troszeczke za bardzo niewiem jak sie w to konkretnie wgryzc ... hmm |
|
|
5.07.2005, 20:18:07
Post
#20
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 1 Dołączył: 5.07.2005 Ostrzeżenie: (0%) |
czesc. ja tez probuje zrobic na 1 apache php 4.x i 5.x na raz. chcialem zrobic 2 moduly, ale nawet jak zmienialem source php 4.x odpowiednio na inne x-httpd- itd to mi sie apache wieszał. ale nie o to chodzi. skoro nie da sie 2 modułów to mam php5.x jako moduł a 4.x jako cgi wiec trzeba.
uprzedzam ze 1 raz instalowałem php jako cgi... AddType application/x-httpd-php54php4 ScriptAlias /php/ "/usr/local/php4bin/" Action application/x-httpd-php4"/php/php" wszystko ładnie ... ale serwer zwraca dla .php4 internat server error 500. Czy jest cos co powinienem wiedziec o uruchamianiu php jako cgi zeby to zaczeło działac? log apache mówi premature end of the script headers: /usr/php4-cgi/bin/php z góry dzieki za pomoc. Cytat Kolejna sprawa to czy nie zastanawial sie ktos z was jak np. dac userowi mozliwosc przelaczania sie pomiedzy wersjami php dla wybranych VHOSTow? Chodzi mi o to, aby np. user w htaccess okresla z ktorej wersji php skorzysta, albo lepiej, na sztywno w konfiguracji vhosta to ustalac - oczywiscie jako moduly, a dwa zeby sie nie gryzly, na porcie 80 all rzecz jasna a nie da sie tego umieszczajac recznie lub tez nakazujac userom umieszczenie ForceType application/x-httpd-php5 w .htacces? Ten post edytował naox 5.07.2005, 20:41:21 |
|
|
Wersja Lo-Fi | Aktualny czas: 27.09.2024 - 04:49 |