![]() |
![]() ![]() |
![]() |
![]()
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.. -------------------- |
|
|
![]()
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 :/
|
|
|
![]()
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
![]() ![]() Na wszelki wypadek zapytałem tutaj: http://www.faqts.com/knowledge_base/view.p.../26890/fid/1150 -------------------- |
|
|
![]()
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
![]() Moze znajdzie sie ktos swietlejszy kto zna jakis tajny sposob. ![]() Jak juz znajdziesz rozwiazanie to nie omieszkaj go tu napisac, chetnie poznam... -------------------- Brak czasu :/
|
|
|
![]()
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ć.. -------------------- |
|
|
![]()
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 ![]() 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 ![]() 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 :/
|
|
|
![]()
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ę
![]() -------------------- |
|
|
![]()
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
![]() -------------------- Brak czasu :/
|
|
|
![]()
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 ![]() -------------------- |
|
|
![]()
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!
-------------------- |
|
|
![]()
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 ![]() ---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 :/
|
|
|
![]()
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
![]() ![]() -------------------- |
|
|
![]()
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
![]() 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 :/
|
|
|
![]()
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. |
|
|
![]()
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 ![]() -------------------- Brak czasu :/
|
|
|
![]()
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 |
|
|
![]()
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 ![]() Ten post edytował bela_666 21.11.2004, 02:45:10 -------------------- |
|
|
![]()
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 |
|
|
![]()
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 |
|
|
![]()
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 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.06.2025 - 07:35 |