Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> php4 i php5 równolegle jako moduł
scanner
post 24.11.2003, 22:39:26
Post #1





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




php 5.0.0 beta 2 startuje już jako php5_module. Jak powiedział BelMondo, teraz możn asie pobawić w rownoczesne startowanie "4" i "5" bez kombinowanie modul/cgi.

Probowalem to zrobić:
Cytat
LoadModule php4_module e:/tools/php4/sapi/php4apache2.dll
LoadModule php5_module e:/tools/php5/sapi/php4apache2.dll

DirectoryIndex index.html index.htm index.php index.php4 index.php5

AddType application/x-httpd-php4 .php4
AddType application/x-httpd-php5 .php5


copy php4/php.ini-recommended -> %WIN_DIR%
(jak mniemam oba php'y pójda na tym samym ini-file)

i teraz hmm..
obie dystrybucje maja php4ts.dll które oczywiście są różne.
teoretycznie powinno się skopiować tenże plik do %APACZE_DIR%/bin ale.. no właśnie.... jeden nadpisze drugi, a tak byc nie może..

to samo dotyczy libmysql.dll - sa dwa różne.

Czy ktoś już to robił i działa?
Przyznam, że bez tego mój wartszta jest lekko niedziałający - skrypty na zlecenie piszę pod czwórkę a chcę już wprawiać się w OOP dla piatki..


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
FiDO
post 24.11.2003, 22:52:30
Post #2





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%)
-----


Cytat
Czy ktoś już to robił i działa?
Przyznam, że bez tego mój wartszta jest lekko niedziałający - skrypty na zlecenie piszę pod czwórkę a chcę już wprawiać się w OOP dla piatki..

Zainstaluj jeden jako modul, drugi jako CGI...

Jeszcze dawno, dawno temu jak php5 nie ladowal sie jako php5_module obszedlem to jakos (niespecjalnie pamietam juz jak, ale grzebalem hexeditorem), ale wlasnie nadal pozostal problem nie do przeskoczenia, czyli php4ts.dll... Niestety dla obu php'ow sciezka poszukiwan jest dokladnie taka sama (sprawdzane FileMonitor'em), wiec nie mozna tego rozdzielic na osobne katalogi.
Pozostaje czekac, az wpadna na genialny w swej prostocie pomysl brania php4ts.dll z katalogu samego php.


--------------------
Brak czasu :/
Go to the top of the page
+Quote Post
scanner
post 25.11.2003, 00:18:22
Post #3





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




chcę mieć dwa moduły tongue.gif A taki jestem pazerny smile.gif
Na wszelki wypadek zapytałem tutaj:
http://www.faqts.com/knowledge_base/view.p.../26890/fid/1150


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
FiDO
post 25.11.2003, 01:59:05
Post #4





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 ja tez chcialem 2 moduly, ale nie wyszlo smile.gif
Moze znajdzie sie ktos swietlejszy kto zna jakis tajny sposob. winksmiley.jpg
Jak juz znajdziesz rozwiazanie to nie omieszkaj go tu napisac, chetnie poznam...


--------------------
Brak czasu :/
Go to the top of the page
+Quote Post
scanner
post 25.11.2003, 08:31:48
Post #5





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




No cóż. Szperając troszkę na http://www.zend.com znalazłem:
http://zend.com/phorum/read.php?num=3&id=2...=0&thread=26709

Natomiast na http://bugs.php.net znalazłem:
http://bugs.php.net/bug.php?id=22190
Błąd jest oznaczony jako Critical i niestety nie pozostało nam nic innego jak.. czekać..


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
FiDO
post 11.01.2004, 13:56:10
Post #6





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%)
-----


Ok, wiec przeczytalem w jakims topicu, ze w koncu zmienili php4ts na php5ts, czyli usuneli chyba najwieksza przeszkode w postawieniu obu wersji php jako modul na jednym apache'u.

Oczywiscie nie moglem tego nie sprawdzic. Tak jak sie spowdziewalem... dziala! 8)

Jest tylko jedno (a w zasadzie dwa) ALE. Nadal nie zmienili defnicji MIME-Type dla plikow php, ktora dla obu wersji pozostaje ta sama (application/x-httpd-php), co dosc skutecznie utrudnia koegzystencje obu php (akcje definiuje sie wlasnie po MIME-Type - w przypadku CGI nie jest to problemem, bo mozna zdefiniowac swoje).
Ale z tym problemem uporalem sie juz dawno... wiec i teraz nie sprawilo mi to klopotu. Jako ze ten MIME-Type nie jest zapisany w Apache'u tylko w module php i jest odczytywany podczas startu apache'a, to zatrudnilem ponownie hexeditora w poszukiwaniu ciagu znakow application/x-httpd-php. Oczywiscie takowy znalazlem i zamienilem na application/x-http-php5 (musi byc taka sama ilosc liter, choc jak bede mial dostep do VC++ to sprobuje zmienic w zrodlach i przekompilowac).

Proba wlaczenia apacha... zwis (apacha oczywiscie). Co jest grane? Ano przeciez php5 ma ta sama sciezke poszukiwan php.ini, wiec zaczal czytac konfiguracje php4. Niby nic zlego, bo prawie nic sie nie zmienilo, ale niestety extensions_dir wskazuje na "stare" rozszerzenia, ktore php5 niespecjalnie rozumie i robi psikusa winksmiley.jpg
Na szczescie i to jest zapisane w samym php, a konkretnie w php5ts.dll (ktory juz jest osobny dla php4 i php5 wiec mozna w nim pogrzebac). No wiec znowu bylo trzeba odpalic hexeditora i zmienic ciag php.ini na cos innego o tej samej ilosci liter (ja dalem ph5.ini). Teraz juz kazda wersja ma swojego php4ts, swoj MIME-Type i swoj php.ini, wiec jeszcze tylko male przystosowanie ph5.ini do opcji ktore mam w php4 i proba generalna..

Apache wystarowal, polowa sukcesu. Jeszcze tylko krotki test z phpinfo() na plikach o rozszerzeniach .php5 i .php i juz bylem swiadkiem apache'a smigajacego z dwoma php jako modul...


Dziekuje za uwage smile.gif

PS. jak ktos nie ma narzedzi, badz nie potrafi wyedytowac plikow binarnych hexeditorem to wystawiam gotowe pliki do podmiany ze snapshota sciagnietego dzisiaj kilka godzin temu :arrow: http://willow.iie.uz.zgora.pl/~ipatalas/php5.rar


--------------------
Brak czasu :/
Go to the top of the page
+Quote Post
scanner
post 13.01.2004, 18:09:30
Post #7





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




FiDO: normalnie aż sam sprawdzę smile.gif) Aleś mnie ucieszył - a najlepsze, ze jakoś mi uciekł ten Twój post do przeczytanych niezauważalnie...


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
FiDO
post 13.01.2004, 20:07:11
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%)
-----


Caly czas czekalem, az tu trafisz.. zaczynalem sie bac, ze straciles zainteresowanie topiciem winksmiley.jpg


--------------------
Brak czasu :/
Go to the top of the page
+Quote Post
scanner
post 13.01.2004, 23:03:19
Post #9





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Bynajmniej FiDO, bynajmniej.
Włąsnie końcże pisąc artykuł dla php.pl o instalacji Apache/php/MySQL (developerzy mogą go obejrzeć w CVSie w module articles) i taka dodatkowa solucja jak postawić tandem na pewno się w nim znajdzie smile.gif


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
sztosz
post 9.08.2004, 10:55:01
Post #10





Grupa: Zarejestrowani
Postów: 866
Pomógł: 32
Dołączył: 2.06.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


My mamy Boskiego FiDO a chłopaki z php się meczą. Dzięki wielkie!


--------------------
Go to the top of the page
+Quote Post
FiDO
post 9.08.2004, 19:57:32
Post #11





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%)
-----


Heh.. i tylko po to odswiezyles ten topic?

BTW ten sposob dziala na wersji finalnej? prawde mowiac nawet nie sprawdzalem, odrzucilem ten sposob, bo ciagle zmiany rozszerzen nie podobaly mi sie.

Teraz musze popracowac nad czyms innym.. Jeden i ten sam apache, ale na dwoch portach, jeden na php4, drugi na php5, zmiana rozszerzenia jest raczej uciazliwa, restartowac apacha tez nie zawsze mi sie chce. Przyjmuje zalozenie, ze konfig ma byc jeden, bede odpalal po prostu dwa razy apacha z roznymi ustawieniami. Moze to nie byc takie latwe (spodziewam sie juz kilku przeszkod) jak ten poprzedni sposob, ale powalcze. Chcialbym, zeby obylo sie tym razem bez uzycia hex edytora, tak aby bylo to w miare przystepne dla niewtajemniczonych, chociaz boje sie, ze moze sie nie udac...
Jak cos zdzialam to sie odezwe tutaj, mysle ze niejednemu sie przyda. Nie obiecuje jednak, ze bedzie to na dniach, bo mam tez inne zajecia, jak bedzie to bedzie smile.gif

---update:
uch.. posiedzialem wczoraj 15 minut i zrobilem, okazalo sie to duzo prostsze niz myslalem, bez jakiegokolwiek grzebania w plikach, wystarczy odpowiedni httpd.conf, szczegoly podam wieczorem.


--------------------
Brak czasu :/
Go to the top of the page
+Quote Post
sztosz
post 10.08.2004, 17:54:27
Post #12





Grupa: Zarejestrowani
Postów: 866
Pomógł: 32
Dołączył: 2.06.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Temat odświerzyłem bo byłem zostałem tu przekierowany winksmiley.jpg. Sbosób Fido do domowych testów jest dobry, ale czekam z utęsknieniem na lepsze rozwiązanie. biggrin.gif


--------------------
Go to the top of the page
+Quote Post
FiDO
post 10.08.2004, 23:01:46
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%)
-----


Jak sobie zyczysz, mam latwiejsze smile.gif

Moim celem bylo, aby zrobic mozliwie najmniejsza iloscia zmian w czymkolwiek, lacznie z jak najmniejsza iloscia kopiowanych plikow. Zupelnie "przypadkiem" wczoraj odkrylem pewna mozliwosc w apachu, ktora wszystko uproscila. Przegladalem sobie jakiegos conf'a z netu i zobaczylem uzycie dyrektywy LoadFile w jakims zupelnie innym kontekscie, oczywiscie czym predzej sprawdzilem czy to dziala tak jak mysle i na szczescie tak wlasnie bylo.
Wiec dyrektywa ta powoduje, ze mozemy sobie zaladowac dowolna biblioteke niezaleznie od jej sciezki, mozemy zaladowac np. php4ts.dll z katalogu samego php4, bez koniecznosci przenoszenia go do apache/bin. Dzieki temu pozbylem sie wszystkich plikow zwiazanych z php a apache/bin, a mialem ich tam troche. Teraz znowu jest porzadek a i upgrade do kolejnej wersji php sie znacznie upraszcza.
Wiec zaczynamy.. Cala zmiana polega na kilku linijkach w httpd.conf.
Oto one:
Kod
<IfDefine !_php5_>
 Listen 80

 LoadFile /usr/php/dlls/libmysql.dll
 LoadModule php4_module /usr/php/sapi/php4apache2.dll
 AddType application/x-httpd-php .php
</IfDefine>

<IfDefine _php5_>
 Listen 88

 LoadFile /usr/php5/ext/php_mbstring.dll
 LoadFile /usr/php5/libmysql.dll
 LoadModule php5_module /usr/php5/php5apache2.dll
 AddType application/x-httpd-php .php
 PHPINIDir /usr/php5/
</IfDefine>
# wszystkie inne dyrektywy Listen czy tez LoadModule phpX_module ..  nalezy usunac z httpd.conf, koniecznie!!

To co jest w pierwszym IF'ie wykonuje sie gdy odpalamy apacha z php4, a to co w drugim gdy odpalamy z php5 (pozniej o tym czym rozni sie samo odpalanie).
Co widzimy po kolei? Najpierw ustawienia portu, dla kazdej wersji inny, potem zaladowanie biblioteki libmysql.dll, ktora nie musi byc juz w C:\windows, apache\bin czy innym katalogu z %PATH%. Nastepnie dwie standardowe linijki ladujace modul do php4. Mozna dodac jeszcze PHPINIDir /sciezka/do/php4/ini/, ja akurat to pominalem, bo chce miec osobne ini do php jako modulu apacha i do wersji CLI, ktorej uzywam jako interpretera skryptow.
W drugim IF'ie dotyczacym php5 jest podobnie, z tym ze laduje dodatkowo jeszcze jedna biblioteke, od ktorej jest zalezne rozszerzenie php_exif.dll, ktore mam wlaczone. No i tutaj mam zmieniony katalog, z ktorego pobierany jest php.ini dla php5, bez tego nastapilby konflikt, bo sciezka poszukiwan php.ini jest taka sama w obu wersjach, a one nie sa kompatybilne (chocby dlatego, ze rozszerzenia z php5 nie pasuja do php4 i vice versa). To w zasadzie wszystko.. wypadalo by jeszcze na wszelki wypadek wrzucic php4ts.dll i php5ts.dll odpowiednio do katalogow z rozszerzeniami danej wersji php.

Pora wrocic do uruchamiania tego. To co napisze tyczy sie tylko WinNT/2k/XP/2k3.
A wiec wchodzimy do katalogu apache/bin z wiersza polecen (cmd.exe).
Teraz wykonujemy kolejno dwie instrukcje:
apache -D _php5_ -n Apache2php5 -k install
i
apache -n Apache2 -k install
Pierwsza instaluje usluge apacha'a z dodatkowym parametrem -D _php5_ , ktory to powoduje, ze jest ustawiana dyrektywa _php5_, co przydaje sie w configu do apacha (mozna w nim sprawdzac IF'ami czy dana dyrektywa zostala ustawiona, co tez wykorzystalem). Druga usluga to "zwykly" apache z php4.
Teraz mozna sprawdzic czy wszystko dziala odpalajac po kolei obie uslugi.
Opis instalacji uslugi dotyczyl Apache 2.x ale na 1.3 robi sie to bardzo podobnie, jesli nie tak samo..
Nie gwarantuje, ze to odrazu zadziala, u mnie w kazdym razie smiga pieknie ;] W razie problemow, piszcze z dokladnym opisem bledu i w ktorym miejscu sie on pojawia, postaram sie pomoc.

Jesli sie uda, jestescie szczesliwymi posiadaczami dwoch apachow chodzacych na roznych portach, teraz zeby sprawdzic czy dany skrypt dziala na php5 (lub odwrotnie) wystarczy do adresu skryptu dopisac odpowiedni port.


--------------------
Brak czasu :/
Go to the top of the page
+Quote Post
jackkill
post 7.09.2004, 18:16:19
Post #14





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 7.09.2004

Ostrzeżenie: (0%)
-----


Warto dodac, ze nalezy usunac lub zhaszowac linijke definiujaca port np.
Listen 80
Chyba zostalo to pominiete, a bez tego serwer bedzie wyszolony i nie odpali. Chociaż w sumie kazdy powinien sie tego domyslec.
Go to the top of the page
+Quote Post
FiDO
post 7.09.2004, 22:59:39
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%)
-----


Chyba jednak nie pominalem tego.. zobacz koncowke tego co umiescilem w [ CODE]
chociaz fakt faktem, ze malo to widac (bylem pewien, ze to gdzies napisalem, a przez 5 minut szukalem tego przed chwila smile.gif ), wiec moze to i dobrze ze napisales.


--------------------
Brak czasu :/
Go to the top of the page
+Quote Post
mikolus
post 8.09.2004, 09:20:58
Post #16





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 30.04.2003

Ostrzeżenie: (0%)
-----


Odnosnie tego listen, zrozumielaem to tak, ze szukac nalezy dyrektywy listen dotyczacej php, a ze takowej nie znalazlem, to nie zastanawialem sie dalej nad tym. Dopiero po nieudanej probie uruchomienia serwera skapowalem, ze chodzi o to, o co chodzi. Ogolnie fajny opis, dziala wysmienicie.


--------------------
Warsztat: Slackware Linux 10.1 / WinXP | Apache 2.0.53 | PHP 4.3.10 / PHP 5.0.3 | MySql 4.1.10 | VIM / Crismon Editor
http://www.mikolus.net
Go to the top of the page
+Quote Post
bela
post 21.11.2004, 00:28:45
Post #17


Administrator PHPedia.pl


Grupa: Developerzy
Postów: 1 102
Pomógł: 2
Dołączył: 14.09.2003

Ostrzeżenie: (0%)
-----


Kod
<IfDefine !_php5_>
Listen 80

LoadFile c:/gry/php/php4/dlls/libmysql.dll
LoadModule php4_module c:/gry/php/php4/sapi/php4apache2.dll
AddType application/x-httpd-php .php
PHPINIDir c:/gry/php/php4/
</IfDefine>

<IfDefine _php5_>
Listen 88

LoadFile c:/gry/php/php5/ext/php_mbstring.dll
LoadFile c:/gry/php/php5/libmysql.dll
LoadModule php5_module c:/gry/php/php5/php5apache2.dll
AddType application/x-httpd-php .php
PHPINIDir c:/gry/php/php5/
</IfDefine>


dopisałem to, zahaszowałem Listen, w monitorze apacha widze Apacha2php5, ale gdy klikam na start ukazuje sie błąd "The Requested Operation has been failed"

edit
uruchamiając przez cmd.exe apache z parametrem -D _php5_ jest dobrze co zrobic aby przez apache monitor uruchamiać ?

edit2
z php5 plik są wyswietlane jako pusta strona dry.gif

Ten post edytował bela_666 21.11.2004, 02:45:10


--------------------
Go to the top of the page
+Quote Post
slash12345
post 30.06.2006, 19:54:53
Post #18





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 21.04.2006

Ostrzeżenie: (0%)
-----


Windows nie jest dobrą platforma pod Apache/php. Na Linuxie łatwo da sie podpiąć PHP4 i PHP5 jako moduły. Na moim Ubuntu działają perfekcyjnie. W razie pytań - post.


--------------------
Kod
thewanderer@debian:~$ sudo apt-get dist-upgrade
Konieczne pobranie 666KB pakietów. Czy chcesz kontynuować? [T/n] nieeeeeeee
Go to the top of the page
+Quote Post
filip14
post 5.07.2006, 19:26:42
Post #19





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 5.07.2006

Ostrzeżenie: (0%)
-----


To ja poproszę o info jak uruchomić na platformie Linux/apache/mysql zarówno php4 jak i php5.
Dzieki

pozdrawiam
filip14
Go to the top of the page
+Quote Post
slash12345
post 11.07.2006, 18:19:05
Post #20





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 21.04.2006

Ostrzeżenie: (0%)
-----


Paczta ludzie! Paczta i dziwujta się, bo oto powstało php któren może współpracować z innym jako moduł!
Zapodaję wam link do owegóż php, do wersji 4 i 5 mogących działać razem jako moduły Apache (wersja Unix/Linux)
php 4
php 5

Instalujemy jak zwykle ale zamiast:
Kod
AddType application/x-httpd-php .php #to działało z jednym php

dajemy
Kod
AddType application/x-httpd-php4 .php4
AddType application/x-httpd-php5 .php .php5

EDIT: Numery wersji zostały też dołączone do typów MIME dotyczących źródeł php.

I tak właśnie mamy dwa równoległe php jako moduły, bez bawienia się w edycję .so i hexów.
Jeśli chcecie wziąć udział w inicjatywie łatwej instalacji php, pobierzcie te archiwa i zapewnijcie im mirrory. Z góry dziękuję!

Ten post edytował slash12345 14.07.2006, 21:04:17


--------------------
Kod
thewanderer@debian:~$ sudo apt-get dist-upgrade
Konieczne pobranie 666KB pakietów. Czy chcesz kontynuować? [T/n] nieeeeeeee
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: 18.06.2025 - 07:35