ugrás a tartalomhoz

Három egyszerű lépés a PHP 4 és PHP 5 együttes futtatására

pp · 2004. Már. 18. (Cs), 06.14
Sokakban felmerülhet az igény, hogy az új PHP 5 fordítót használják. Mivel az új rendszer nem teljesen kompatibilis a régivel ezért vannak olyan alkalmazások, amik nem futnak jól az új rendszeren. Felmerül tehát az igény, hogy legyen egy olyan szerverünk, mely mindkét verziót képes értelmezni. Ezt egy egyszerű huszárvágással fogjuk elérni, ami három lépésből áll.

1. Újrafordítjuk nyilvános Apache szerverünket proxy támogatással.

2. Fordítunk egy új árnyék szervert amiben a PHP 4 modulként fut.

3. Összekapcsoljuk a két szervert.

Első lépés

A fordítás során a ./configure futtatásakor adjuk hozzá a parancssorhoz az --enable-module=proxy kapcsolót.

Második lépés

Fordítsunk egy új Apache szervert, valami ilyen konfigurációval:

./configure --enable-module=so --prefix=/usr/local/apache_php4 --enable-module=rewrite

Ennek az új szervernek a httpd.conf állományában állítsuk be a következőt:

Listen 127.0.0.1:8080

Harmadik lépés

Az éles szerver httpd.conf állományában vegyünk fel egy új virtuális szervert:

<VirutalServer *>

Servername php4.coggeshall.org

DocumentRoot /dev/null

ProxyPass / http://localhost:8080/

</VirtualServer>

A trükk itt a ProxyPass direktíva, mely arra utasítja az éles szerverünket, hogy minden az adott aldomainra (php4.coggeshall.org) érkező kérést irányítson át az árnyékszerverünkre.

Ennyi, kész is vagyunk.

Forrás: http://wiki.coggeshall.org/Main/RunningPHP4AndPHP5Concurrently
 
1

Re: Három egyszerű lépés a PHP 4 és PHP 5 együttes futtat

Anonymous · 2004. Már. 18. (Cs), 12.56
Windowshoz egy tipp: tegyunk fel apache1-est es 2-est az egyikhez a php4-et a masikhoz a php5-ot, es valamelyiket inditsuk masik porton (pld 8080)
2

Re: Három egyszerű lépés a PHP 4 és PHP 5 együttes futtat

Bártházi András · 2004. Már. 18. (Cs), 15.09
A cikkből én azt vettem ki, hogy főleg szerverekre gondolt a szerzője. Fejlesztési környezetnek *szerintem* akár két ugyanolyan webszerver is megfelel, külön portokon elindítva.
3

windowson

ene · 2004. Már. 21. (V), 15.14
en windows platformon fejlesztek, a php4 modulkent fut, es szeretnem megoldani, hogy a php5 parsert hasznalja ha .php5 a kiterjesztese a fajlnak. kerestem a neten, hatha talalok ra megoldast, de sajna nem talaltam semmit. tudna valaki segiteni?
4

Windowson

Bártházi András · 2004. Már. 21. (V), 15.21
Dénes által beküldött megoldás, vagyis PHP 4 modulként, PHP 5 CGI-ként (vagy fordítva), nem segít?
5

emlekeim szerint az linuxos m

ene · 2004. Már. 21. (V), 15.28
emlekeim szerint az linuxos megoldas volt. vagy tevedek? es ha jol tudom, akkor windows alatt nem tudom modositani a php.ini helyet. vagy ebben (is) tevedek? :)
6

CGI és PHP.ini

Hojtsy Gábor · 2004. Már. 21. (V), 15.55
Könnyen emészthető doksit nem találtam neked, de a 'Linuxos' tipp modul es CGI együttes futásra Windowson is áll. A PHP.ini elérési útját illetően itt tájékozódhatsz:

http://lxr.php.net/source/php-src/main/php_ini.c#262

Az LXR egyébként is nagyon hasznos, ha nem tudsz valamit :) Itt látod, hogy többek között a Registryben is meg lehet adni, a PHPRC környezeti változóban is, meg aztán keresi a default (windows) könyvtárban is, de ezek neked mind nem jók, mert külön könyvtárat akarsz. Akkor marad az aktuális munkakönyvtár (CGI odavált, ahol a PHP script fut), illetve a PHP bináris könyvtára, ami CGI-nek mindenképpen jó lehet.

Ezen kívül az is látszik a kódban, hogy SAPItól függően is keres ini fileokat, ami azt jelenti, hogy a modulnak külön úgy elnevezett ini filet adhatsz (php-apache.ini, php-cgi.ini)...

Mi kell még? :) Persze a fent részletezett dolgok a legújabb PHP forrásra vontkoznak, hogy a te PHP 4-ed mit tud, ahhoz még egy kis verzió figyelés is kell, amire szépen képes az LXR, irány felfedezni :))