Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> php4 i php5 równolegle jako moduł
scanner
post
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..
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
FiDO
post
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%)
-----


Jak sobie zyczysz, mam latwiejsze (IMG:http://forum.php.pl/style_emoticons/default/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.
Go to the top of the page
+Quote Post

Posty w temacie
- scanner   php4 i php5 równolegle jako moduł   24.11.2003, 22:39:26
- - FiDO   Re: php4 i php5 równolegle jako moduł   24.11.2003, 22:52:30
- - scanner   chcę mieć dwa moduły A taki jestem pazerny Na ws...   25.11.2003, 00:18:22
- - FiDO   No ja tez chcialem 2 moduly, ale nie wyszlo Moze ...   25.11.2003, 01:59:05
- - scanner   No cóż. Szperając troszkę na http://www.zend.com z...   25.11.2003, 08:31:48
- - FiDO   Ok, wiec przeczytalem w jakims topicu, ze w koncu ...   11.01.2004, 13:56:10
- - scanner   FiDO: normalnie aż sam sprawdzę ) Aleś mnie uciesz...   13.01.2004, 18:09:30
- - FiDO   Caly czas czekalem, az tu trafisz.. zaczynalem sie...   13.01.2004, 20:07:11
- - scanner   Bynajmniej FiDO, bynajmniej. Włąsnie końcże pisąc ...   13.01.2004, 23:03:19
- - sztosz   My mamy Boskiego FiDO a chłopaki z php się meczą. ...   9.08.2004, 10:55:01
- - FiDO   Heh.. i tylko po to odswiezyles ten topic? BTW te...   9.08.2004, 19:57:32
- - sztosz   Temat odświerzyłem bo byłem zostałem tu przekierow...   10.08.2004, 17:54:27
- - FiDO   Jak sobie zyczysz, mam latwiejsze Moim celem byl...   10.08.2004, 23:01:46
- - jackkill   Warto dodac, ze nalezy usunac lub zhaszowac linijk...   7.09.2004, 18:16:19
- - FiDO   Chyba jednak nie pominalem tego.. zobacz koncowke ...   7.09.2004, 22:59:39
- - mikolus   Odnosnie tego listen, zrozumielaem to tak, ze szuk...   8.09.2004, 09:20:58
- - bela_666   Kod<IfDefine !_php5_> Listen 80 Loa...   21.11.2004, 00:28:45
- - slash12345   Windows nie jest dobrą platforma pod Apache/php. N...   30.06.2006, 19:54:53
|- - filip14   To ja poproszę o info jak uruchomić na platformie ...   5.07.2006, 19:26:42
- - slash12345   Paczta ludzie! Paczta i dziwujta się, bo oto p...   11.07.2006, 18:19:05
- - Fo   witam, a cóż to za magiczny sposób, którego ...   16.07.2006, 01:26:32


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

 



RSS Aktualny czas: 7.12.2025 - 16:53