Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> Uruchamianie PHP 4 i PHP 5 na jednym serwerze, for Windows
DeyV
post 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..."
Go to the top of the page
+Quote Post
Jojo
post 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
Go to the top of the page
+Quote Post
FiDO
post 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 smile.gif

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 smile.gif 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 :/
Go to the top of the page
+Quote Post
magaf
post 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
Go to the top of the page
+Quote Post
FiDO
post 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 :/
Go to the top of the page
+Quote Post
anas
post 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
Go to the top of the page
+Quote Post
orson
post 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 winksmiley.jpg ... nie wychodzi mi w żaden sposób ... kawałek z mojego httpd.conf
Kod
# For php 4 do something like this:
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"
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 questionmark.gif

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.
Go to the top of the page
+Quote Post
FiDO
post 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 :/
Go to the top of the page
+Quote Post
orson
post 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 biggrin.gif ... 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.
Go to the top of the page
+Quote Post
FiDO
post 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 smile.gif


--------------------
Brak czasu :/
Go to the top of the page
+Quote Post
matid
post 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>
Go to the top of the page
+Quote Post
orson
post 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 smile.gif

witam ...

a co tam jest do naknocenia questionmark.gif 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 questionmark.gif
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.
Go to the top of the page
+Quote Post
FiDO
post 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.. smile.gif

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 :/
Go to the top of the page
+Quote Post
orson
post 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.
Go to the top of the page
+Quote Post
FiDO
post 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 :/
Go to the top of the page
+Quote Post
orson
post 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 exclamation.gif 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.
Go to the top of the page
+Quote Post
Fo
post 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 cool.gif . 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 exclamation.gif )

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 winksmiley.jpg

edit: nie bardzo sie znam na samym php - ja tu tylko montuje co trzeba :] ale phpinfo(); ladnie wyswietla wszystkie zmienne $_SERVER smile.gif chyba ze patrze na to co nie jest istotne, wtedy prosze o sprostowanie winksmiley.jpg

Ten post edytował Fo 17.05.2005, 17:47:02
Go to the top of the page
+Quote Post
anas
post 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
Go to the top of the page
+Quote Post
Fo
post 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
Go to the top of the page
+Quote Post
naox
post 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
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 29.03.2024 - 00:54