[debian] Meer dan 1 versie van PHP draaien

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • decramy
  • Registratie: December 2001
  • Laatst online: 07:36

decramy

root@birdie:~#

Topicstarter
Geen matches
Nu sarge uit is, willen we natuurlijk onze servers van woody naar sarge verhuizen. Bij sarge zit een andere versie van PHP en aangezien we een vrij oude applicatie draaien in PHP, willen we zeker weten dat die applicatie blijft draaien naar behoren.
Daarom zou ik het liefst 2 apaches met 2 verschillende PHP versies naast elkaar draaien.

Apache heb ik al zover om 2 servers op poort 80 te zetten, (apache-ssl en apache2) maar nu wil ik eigenlijk dat apache-ssl de woody-PHP versie gebruikt, en apache2 de sarge-PHP versie.

Weet iemand hoe dit mogelijk te maken?

20*375Wp met Enphase IQ7+ micro's | Stiebel Eltron HGE Water/Water WP 9kW | Tesla M3, powered by SmartEVSE | Servertje @ www.coloclue.net


Acties:
  • 0 Henk 'm!

  • GlowMouse
  • Registratie: November 2002
  • Niet online
Geen matches
Apache heb ik al zover om 2 servers op poort 80 te zetten
Is dat op verschillende IP adressen?

Acties:
  • 0 Henk 'm!

  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 17:07

SA007

Moderator Tweaking
Geen matches
Probeer die applicatie gewoon op de nieuwe versie, grote kans dat het werkt, want php is over het algemeen wel backwards compatible.

Plus als het niet werkt, is het waarschijnlijk toch te overwegen om 'm aan te passen dat het wel werkt.

Of 2 php versies erop gaat werken weet ik niet, want die willen namelijk nogal snel op vaste plekken gaan zoeken naar shared libs enzo, die bij beide anders zijn, dus dat word flink aanpassen van php, denk dat het script ervoor aanpassen minder werk en nuttiger is.

offtopic:
Maak een dynamisch animated icoon ofzo?

Acties:
  • 0 Henk 'm!

  • decramy
  • Registratie: December 2001
  • Laatst online: 07:36

decramy

root@birdie:~#

Topicstarter
Geen matches
GlowMouse schreef op maandag 27 juni 2005 @ 21:02:
[...]

Is dat op verschillende IP adressen?
JIJ gaat door voor de koelkast ;)
SA007 schreef op maandag 27 juni 2005 @ 21:08:
Probeer die applicatie gewoon op de nieuwe versie, grote kans dat het werkt, want php is over het algemeen wel backwards compatible.
We hebben het een tijdje gedraait, maar de organisatie (management) vind het niet verantwoord zomaar over te stappen...
Plus als het niet werkt, is het waarschijnlijk toch te overwegen om 'm aan te passen dat het wel werkt.
De applicatie is van dermate grootte, dat:
A) Het vinden van een fout veel tijd (dus geld) kost
B) Het oplossen tijd kost
C) Mocht er een fout zijn, is de klant ontevreden

Het is gewoon niet mogelijk fouten in productie te brengen.
Of 2 php versies erop gaat werken weet ik niet, want die willen namelijk nogal snel op vaste plekken gaan zoeken naar shared libs enzo, die bij beide anders zijn, dus dat word flink aanpassen van php, denk dat het script ervoor aanpassen minder werk en nuttiger is.
Het kan, door PHP zelf te compileren, echter zou ik het graag bij de .deb bestanden houden...

20*375Wp met Enphase IQ7+ micro's | Stiebel Eltron HGE Water/Water WP 9kW | Tesla M3, powered by SmartEVSE | Servertje @ www.coloclue.net


Acties:
  • 0 Henk 'm!

  • Gertjan
  • Registratie: Oktober 2001
  • Laatst online: 09-09 17:11

Gertjan

mmmm, beer...

Matched: php4, php5
Ik heb hier PHP4 en PHP5 naast elkaar draaien, op dezelfde Apache. Ik heb PHP4 uit de Debian repository geinstalleerd, en PHP5 zelf gecompileerd. PHP5 moet dan als CGI draaien; beide versies 'gewoon' werkt niet naast elkaar volgens mij. Wellicht kan dotdeb.org je aan .deb bestanden helpen, anders zul je hem zelf moeten maken voor PHP5 (of een andere versie van 4).
Succes ieg.
om welke versies van php gaat het eigenlijk?

Acties:
  • 0 Henk 'm!

  • decramy
  • Registratie: December 2001
  • Laatst online: 07:36

decramy

root@birdie:~#

Topicstarter
Matched: php4, php5
Ali_Illegali schreef op maandag 27 juni 2005 @ 21:20:
Ik heb hier PHP4 en PHP5 naast elkaar draaien, op dezelfde Apache. Ik heb PHP4 uit de Debian repository geinstalleerd, en PHP5 zelf gecompileerd. PHP5 moet dan als CGI draaien; beide versies 'gewoon' werkt niet naast elkaar volgens mij. Wellicht kan dotdeb.org je aan .deb bestanden helpen, anders zul je hem zelf moeten maken voor PHP5 (of een andere versie van 4).
Succes ieg.
om welke versies van php gaat het eigenlijk?
Als we idd php4 en php5 zouden draaien zou het al een stuk makkelijker zijn. libphp4.so en libphp5.so will do the trick

Het betreft hier dus 2 versies van PHP4: 4.3.10-15 (nieuw) en 4.1.2

Zoals aangegeven wenst de hogere hand dus dat we 2 versies van PHP naast elkaar draaien. Op zich is dat wel mooi, kunnen we meteen een performance meting doen.

20*375Wp met Enphase IQ7+ micro's | Stiebel Eltron HGE Water/Water WP 9kW | Tesla M3, powered by SmartEVSE | Servertje @ www.coloclue.net


Acties:
  • 0 Henk 'm!

  • igmar
  • Registratie: April 2000
  • Laatst online: 03-09 22:58

igmar

ISO20022

Matched: php4, php5
decramy schreef op maandag 27 juni 2005 @ 21:25:
Als we idd php4 en php5 zouden draaien zou het al een stuk makkelijker zijn. libphp4.so en libphp5.so will do the trick
Dat gaat dus niet werken : 2 PHP versies als .so / buildin gaat niet werken. Verplicht CGI dus, of een versie compilen.

Acties:
  • 0 Henk 'm!

Verwijderd

Matched: php4, php5
Zo doe ik het nu:

1x apache1 met php4 op poort 80 (gewoon de .deb gebruiken voor apache)
1x apache2 met php5 op poort 8080 (gewoon de .deb gebruiken voor apache2!)

Alles komt binnen op poort 80 dus in apache de gewenste domeinen rewriten naar apache2.

Werkt perfect!

Acties:
  • 0 Henk 'm!

Verwijderd

Matched: php4, php5
SA007 schreef op maandag 27 juni 2005 @ 21:08:
Probeer die applicatie gewoon op de nieuwe versie, grote kans dat het werkt, want php is over het algemeen wel backwards compatible.
php5 is absoluut niet backwards compatible met php4!! Ze zijn overgestapt van call by value naar call by reference (of net andersom :-) ). Het zou kunnen dat je applicatie gewoon werkt, maar het zou ook kunnen dat het niet werkt. In dit geval niet zo relevant want het gaat om 2x versie 4, maar voor de volledigheid ...

Acties:
  • 0 Henk 'm!

  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 17:07

SA007

Moderator Tweaking
Matched: php4, php5
nou, laat ik het zo zeggen, ik ben zelf met eist van 400+ scripts een paar weken geleden overgestapt naar php5, en op een paar kleine dingen na (die eigelijk fout waren, maar geaccepteerd werden door php4) werte alles perfect (zegmaar 395 van de 400 werkte direct)

Ben in totaal < 30 minuten bezig geweest met alles aanpassen naar php5 (scripts+apache+rest).

Daarom zeg ik dat je waarschijnlijk korter bezig bent met het overzetten van alle scripts dan dat je bezig bet met 2 apache's met 2 versies van php naast elkaar laten draaien en dat ze elkaar niet in de weg zitten.

En je script overzetten naar een nieuwere versie is zoiezo een goed idee, want als je blijft hangen bij een oude versie raakt op een gegeven moment die versie zo oud dat je er niks mee kan, en dan zit je in 1x met een HELE hoop kosten om het over te zetten.

Plus dat je zegt dat het 2x php4 is, zie ik al totaal geen problemen, en je zegt zelf al dat het script onder de nieuwere versie werkt...

Acties:
  • 0 Henk 'm!

  • Steven
  • Registratie: December 2000
  • Laatst online: 05-07 21:17
Geen matches
Totdat je echter classes had gebruikt; dan moet je ineens een stukje meer gaan vervangen helaas. Soms heb je namelijk bewust kopien van classes en some bewust references. Nu is het dus altijd een reference.

Acties:
  • 0 Henk 'm!

  • Gertjan
  • Registratie: Oktober 2001
  • Laatst online: 09-09 17:11

Gertjan

mmmm, beer...

Matched: php4, php5
SA007 schreef op dinsdag 28 juni 2005 @ 14:35:
nou, laat ik het zo zeggen, ik ben zelf met eist van 400+ scripts een paar weken geleden overgestapt naar php5, en op een paar kleine dingen na (die eigelijk fout waren, maar geaccepteerd werden door php4) werte alles perfect (zegmaar 395 van de 400 werkte direct)
Dat waren dan waarschijnlijk geen applicaties die gebruik maakten van de 'object-georienteerde' functies van PHP4. Die zijn namelijk in PHP5 zoveel veranderd, dat ik me niet voor kan stellen dat zo'n applicatie gewoon blijft werken.
Kijk voor de belangrijkste verschillen bijvoorbeeld eens op http://php5.bitflux.org/php-eb1/toc.php. De complete reference voor OOP in PHP5 is te vinden op http://docs.php.net/en/language.oop5.html (zoals je ongetwijfeld wist :) )

Tot zover offtopic...

Acties:
  • 0 Henk 'm!

Verwijderd

Matched: php4
decramy schreef op maandag 27 juni 2005 @ 21:25:
Het betreft hier dus 2 versies van PHP4: 4.3.10-15 (nieuw) en 4.1.2

Zoals aangegeven wenst de hogere hand dus dat we 2 versies van PHP naast elkaar draaien. Op zich is dat wel mooi, kunnen we meteen een performance meting doen.
Ik heb nog nooit twee PHP versies op Debian naast elkaar gehad , maar als je update naar Sarge, zal PHP automatisch worden geupgrade, je kunt de huidige PHP versie op hold zetten, maar dan blijf je op 4.1.2 hangen.

Nadeel daarvan is, dat je geen security's updates meer krijgt. Ik weet niet of de applicatie vanaf Internet bereikbaar is, maar als je over een jaar gehackt wordt, omdat er een gat in je PHP zat, ben je verder van huis. Voor Woody heb je nog meer als 11 maanden security's updates, je hoeft nu nog niet naar Sarge upgraden, volgens heb je tijd genoeg om de applicatie te testen. Is die PHP applicatie in huis ontwikkeld of extern, ik zou de ontwikkelaars vragen of een upgrade van PHP problemen kan opleveren Ik upgrade m'n Woody servers nog niet naar Sarge, dat moet ik goed voorbereiden, vooral omdat ik gebackporte versies van PHP en Mysql gebruikt, die gaan er af voor dat ik upgrade . In ieder geval een full backup, voordat ik begin. Zodat ik terug kan en eventueel opnieuw kan beginnen.

php.net heeft ook een mailinglist - http://www.php.net/mailing-lists.php - , vraag daar of de upgrade van PHP4 4.1.2 naar PHP 4.3.10-15 problemen gaat opleveren.

Acties:
  • 0 Henk 'm!

Verwijderd

Matched: php4, php5
Toevallig nog pas geleden op Debian php4 en php5 naast elkaar laten draaien.
PHP5 moet inderdaad als cgi draaien anders lukt het nooit.

Ben even de link kwijt die me op de goede weg deed belanden, maar dit zijn de stappen die ik heb doorlopen. Source php5 gedownload en gecompiled:
code:
1
2
3
./configure --prefix=/usr/local --with-mysql=/usr/include/mysql/ \
--enable-xslt --with-xml --with-xsl --enable-magic-quotes --enable-track-vars \
--with-config-file-path=/etc/php5 && make && make install

Of welke configure opties je dan ook wilt gebruiken.

Daarna symlink aangemaakt:
code:
1
ln -s /usr/local/bin/php /usr/lib/cgi-bin/php5

Kopieer de php.ini
code:
1
cp php.ini-recommended /etc/php5/php.ini

mod_actions activeren in apache (als ie al niet aanstond)
code:
1
/usr/sbin/apache-modconf apache enable mod_actions

httpd.conf aanpassing gemaakt:
code:
1
2
3
4
<Directory /var/www/php5scripts/>
        AddHandler php-script .php
        Action php-script /cgi-bin/php5
</Directory>
Pagina: 1