Sziasztok! hogyan tudnék én egyszerre 2 különböző verziójú php-t feltenni a gentoomra, és eselect-el váltani köztük??? php-5.3 és php 5.2-t akarok.
fejlesztéshez kéne, szóval nem baj, ha az apache vagy az egyikkel megy, vagy a másikkal. én a slotoknál elakadtam :S illetve ugye ha új php verziót teszek, akkor újra kell pörgetni az xdebug-ot, és a memcached-et is, meg valami érthetetlen okoknál fogva a cups-ot is :D (legalábbis függőség a portage szerint) szóval lehet hogy valami olyasmi is kéne, hogy ugyanazon verziójú packageből legyen fenn 2, csak az egyik az egyik php-hoz, a másik a másikhoz legyen linkelve.
minden segítséget megköszönnék!
- 5046 megtekintés
Hozzászólások
érdekel.
Nálam külön apache is van fent archlinuxon, az egyik /opt/lampp alatt. De jobb lenne egy szebb megoldás is :)
- A hozzászóláshoz be kell jelentkezni
Egyszeru, fapados, am mukodo megoldas: chroot.
Ha nekem egy adott szoftverbol mas verzio kell, mint a disztrib defaultja, vagy ket utkozo verzio egyszerre, akkor felhuzok egy chrootot, es felteszem oda. Nagyjabol 5-10 perc alatt meg is van.
- A hozzászóláshoz be kell jelentkezni
Egyik megoldás a suPHP, és cgi-ként futtatod az egyes verziokat.
Vagy mókuskodsz a handlerekkel apache konfigba, és a VirtualHost, vagy valami fuggvenyeben mas MIME-típust rendelsz a .php-hez. Így egy verzio futhat modulkent. De eccerre csak egy php modul lehet betoltve az apache-ba, legalabbis így remlik...
Üdv,
---
fincsi
- A hozzászóláshoz be kell jelentkezni
pont ezaz, hogy a gentoo eselect-je pont erre van. java virtual machine-t is tudok váltani. és van php-select is, csak nem tudom külön slot-ba tenni a másik php verziót :S ez valami nagyon homlokra csapós dolog lesz szerintem :D
a chrootnál még egyszerűbb egy szkriptet írni, ami váltja a php bináris, meg a tőle föggő sókra mutató linkeket. én valahogy a portage-be jobban bízok, mint a magam hekkelte cuccokba.
ez az apache configolós cgis út is egyszerűnek tűnik, az apache confját már úgyis agyonhekkeltem :D
esetleg tudnál valami példát idepastelni?
- A hozzászóláshoz be kell jelentkezni
chroottal kapcsolatban: en inkabb bizom egy chrootban mint osszehackelt scriptben. chrootban is siman hasznalhato portage, stb. tobb helyet foglal, ellenben gyorsan megvan, mukodik, problema megoldva, imo. Biztos lehetne szebben is, de eleve egy szoftverbol ket verziot feltelepiteni nem szep, igy ezutan szepitgetni szerintem mar teljesen felesleges :)
(egyebkent debianon egy chroot telepites kb ebbol all: install -d /chroot/blah; debootstrap stable /chroot/blah; chroot /chroot/blah; ezen belul apt-get install minden-ami-kell; es done, megvan par perc alatt)
- A hozzászóláshoz be kell jelentkezni
miért nem forgatsz php forrásból, és rakod külön könyvtárba, aztán amelyik kell, azt a vhost-ban behúzod
pl /usr/src/php5.2 && /usr/src/php5.3
- A hozzászóláshoz be kell jelentkezni
ez nagyon szomorú.....
most akkor vagy 2 napig hekkelem, hogy /usr/src-ben legyenek források, minden link oda mutasson ahova kell, megforgatom ugyanúgy forrásból az xdebug-ot,
a memcached-et stb stb, és pakolászok, a végére lehet hogy még a /etc/php-ba is linkelgetek egy kicsit... már csak váltani nehézkes :D
vagy: CGI, namost ez az út nálam addig tartott, hogy beadtam a concurentmodphp use flaget, és széthalt a phpm, ráadásul ugyanúgy nem akar más php verziónak slot-ot csinálni :S
írta is a warningot mielött fordította, hogy ha nem megy, akkor vess magadra :D ez a flag amúgy arra lenne jó, hogy egyszerre tudjon 2 különböző php verziót indítani az apache.
vagy: nekiállok chrootolni... ha jól értem, csinálok egy könyvtárat, minden sónak teszek oda linket, majd bechrootolok, dobok rá lampot, és onnan indítom az apache-ot...
ráadásul eddig ez vezet :S
ez tényleg ilyen bonyolult???
- A hozzászóláshoz be kell jelentkezni
chroot letrehozasa nem kene bonyolult legyen - en egy jo distrotol elvarnam, hogy fel lehessen rakni chrootba is.
De ha ezt alapbol nem tamogatja, akkor fogod es szepen atmasolsz mindent egy konyvtaron belulre (/dev, /sys, /proc es hasonlok kivetelevel), kiirtod esetleg ami nemkell, chroot oda, felmountolod /dev, /sys, /proc, es megvagy. Szal kulon eszkoz nelkul sem egy nehez dolog.
Persze nem lesz szep es tiszta, minimalis, de fejleszteshez ki a fenet erdekel ugy oszinten?
- A hozzászóláshoz be kell jelentkezni
Kéne valami olyan, mint ruby-hoz az rvm. Lehet, hogy megcsinálom, híres leszek és több munkám lesz :)
- A hozzászóláshoz be kell jelentkezni
Csak egy gondolat kísérlet. Ha sikerült lefordítani a két php-t, akkor elsőként be kell tölteni mind a két verziót modulként az apache indulásakor. De hogy tesz különbséget a handler, hogy melyik php-t melyik modullal interpretálja?
Üdv:
Dw.
"Jegyezze fel a vádhoz - utasította Metcalf őrnagy a tizedest, aki tudott gyorsírni. - Tiszteletlenül beszélt a feljebbvalójával, amikor nem pofázott közbe."
- A hozzászóláshoz be kell jelentkezni
phpfarm
http://cweiske.de/tagebuch/Introducing%20phpfarm.htm
fastcgi
http://cweiske.de/tagebuch/Running%20Apache%20with%20a%20dozen%20PHP%20…
Tyrael
- A hozzászóláshoz be kell jelentkezni
najó.. csak fejlesztésre jó, gentoo specifikus, de végülis ez lett:
az ebuild-el gyártottam php binárist a /var/tmp/portage -be, majd a /usr/lib64/apache2/alternate könyvárat létrehoztam, oda linkeltem a libphp5.so-t majd átírtam az apache confot, hogy ezt tőccse be. ennyi :S
ha valaki tud értelmes megoldást, még mindig kiváncsi vagyok azért....
- A hozzászóláshoz be kell jelentkezni
leforgatod kézzel, aztán 1.0-tól 5.3-ig mindet használhatod, akár párhuzamosan is. Normális esetben is fél nap munka.
- A hozzászóláshoz be kell jelentkezni