PDA

Bekijk Volledige Versie : Upgrade PHP4 naar PH5



snaaps
15/02/07, 00:20
Omdat wij wat problemen hebben met suphp, php4 en ph5 vraag ik me af of het veel problemen geeft waneer je php4 totaal verwijderd van de server.

Alleen PHP5 op de server is voor ons veel makelijker te beheren en aan te passen naar onze eigens wensen en die van de klanten.

Nu heb ik me laten vertellen dat sommige scripts niet of niet correct draaien onder php5.

Graag verneem ik jullie ervaringen hier over.

ErikKosters
15/02/07, 00:28
Hier sluit ik mij bij aan, ben het zelf ook van plan maar ben bang dat sites incorrupt gaan werken bij klanten.

FSCJasper
15/02/07, 00:29
Toevallig dat ook ik hierover aan het nadenken was. Ook ik wil het risico niet lopen dat enkele phpscripts weigeren te werken, vandaar dat hier nog PHP4 draait.

RayManZ
15/02/07, 01:19
enkele servers gedaan en geen problemen. Enkel een paar klanten welke nog register_globals gebruiken. Deze aangezet middels een .htaccess voor hun website.

Dominic
15/02/07, 01:46
Ik heb een paar maanden terug toevallig dit uitgezocht voor een klant.
En toen ook een FAQ entry gemaakt op onze website, aangezien het hele systeem nu op de schop ligt kan ik er niet zo 1,2,3 bij.

Ik zal m even opzoeken en weer benaderbaar maken!

Nou goed, ik zal er morgen verder naar zoeken:

Je kunt in ieder geval stellen dat websites die onder PHP4 draaien ook onder PHP5 draaien.
Als dit niet het geval is dan kun je bepaalde bestanden nog in compatibility mode laten draaien.
In elk script dat problemen geeft deze regel toevoegen:



ini_set('zend.ze1_compatibility_mode', '1');


Deze mode is alleen om te zorgen dat men nog objecten kan gebruiken zoals ze dit onder PHP4 deden.
Mensen die dus nog Register_Globals gebruiken hebben aan deze mode weinig.

gjtje
15/02/07, 09:20
Niemand kan garanderen dat het werkt, zit niet veel anders op dan proberen.

Wij kwamen er tijdens de ontwikkeling van een script achter dat er een verschil was waarin er met array waardes werd omgegaan. Het was een kleine aanpassing maar toch leverde het eerst wat vreemde resultaten op. ;)

Komto
15/02/07, 09:44
Wij zijn al maanden over, en hebben nog nooit iemand gehad waarvan iets niet werkte.
Al onze servers staan op php5, mysql5 en apache 2.

shuyg
15/02/07, 09:49
Installeer een apache/php configuratie op een andere poort en geef je klanten een maand (of twee) de tijd om te kijken of alles correct werkt.
Na die periode switch je de poorten. Klanten die dan nog problemen blijken te hebben, kunnen in noodgevallen nog een tijdje hun website vanaf de andere poort draaien.

ErikKosters
15/02/07, 10:21
Denk toch dat ik een aparte machine hiervoor aanschaf.

scenestar
15/02/07, 14:12
je kan ook gewoon beide tegelijkerteid gebruiken door middel van php4-cgi.

snel voorbeeld voor apache 2

Installeer eerst libapache2-mod-php5 en php4-cgi.
Open daarna /etc/apache2/apache2.conf

verander eerst
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml
naar
DirectoryIndex index.html index.htm index.shtml index.cgi index.pl index.php index.php4 index.xhtml
en voeg daarna
AddHandler php-script .php4
Action php-script /cgi-bin/php4

in de sectie met de AddType enAddHandler directives.

Gebruikers kunnen nu scripts onder php4 uitvoeren door in plaats van *.php *.php4 als exensie te gebruiken

xYnta
15/02/07, 14:46
Wij zijn ook nog niet over, we hebben wel een al een keer een dag upgrade gedaan om te kijken of veel klanten er last van zouden hebben. Die dag werden we overspoeld door tientallen mailtjes van klanten met klachten. Daarom draaien we nu de meeste servers met PHP4 en 2 servers met PHP 5. Zo kan er enigzins worden gekozen, we denken voorlopig nog niet aan een volledige upgrade naar PHP 5.

Wido
15/02/07, 14:52
Wij draaien nu bijna 1 jaar PHP5 op al onze hosting, ook alle nieuwe servers worden opgezet met Apache 2, PHP5 en MySQL5.

Ja, er zijn inderdaad klanten waarvan hun prehistorische scripts niet meer werken, maar die klanten zijn ook gelijk een lek in de veiligheid van je systemen, dus dan is de vraag of je dat wel wil?

Mensen die nog steeds register_globals nodig hebben moeten zich gaan afvragen of het software pakket dat ze gebruiken wel het juiste is en of het niet eens tijd is om te updaten?

Wij hebben de upgrade gedaan met 13.000 klanten en dat is allemaal tijdig aangekondigd (3 maanden van te voren), het aantal problemen viel daardoor aardig mee.

Peuk
15/02/07, 14:58
Wij draaien nu bijna 1 jaar PHP5 op al onze hosting, ook alle nieuwe servers worden opgezet met Apache 2, PHP5 en MySQL5.

Ja, er zijn inderdaad klanten waarvan hun prehistorische scripts niet meer werken, maar die klanten zijn ook gelijk een lek in de veiligheid van je systemen, dus dan is de vraag of je dat wel wil?

Mensen die nog steeds register_globals nodig hebben moeten zich gaan afvragen of het software pakket dat ze gebruiken wel het juiste is en of het niet eens tijd is om te updaten?Hier precies hetzelfde

xYnta
15/02/07, 16:25
Aanvulling: Register_globals staan bij ons per definitie uit, zorgt zoals eerder hierboven gemeld voor grootse problemen op het gebied van veiligheid. Echter heb ik niet dezelfde mening over het PHP 4 en PHP 5 verschil. Er zitten zat mensen tussen die bijv. een script hebben gekocht en verder geen technische kennis hebben, die mensen moeten ook degelijk een website kunnen draaien of in ieder geval de tijd hebben naar een passend alternatief te zoeken. Maar in het laatste geval kan je die mensen dan weer op kosten jagen, het blijft denk ik gewoon een kwestie van beleid.

Wij duperen onze klanten niet door op de bestaande servers PHP4 te draaien en op nieuwe servers over te gaan naar PHP5. Bestaande klanten die dan naar PHP5 wensen over te stappen kan je dan gewoon met een simpele transfer overzetten naar een andere server. Zo kan je het aantal servers met PHP4 steeds verder laten afnemen en zo dus geleidelijk een einde maken aan het gebruik van PHP4 en hoef je dus ook niet direct te updaten waardoor klanten vervolgens mogelijk in de problemen komen zoals wij bij een test upgrade wel hebben ervaren.

Wido
15/02/07, 16:27
Duperen is wel een erg groot woord. Als je een pakket bij een fatsoenlijke leverancier koopt, wordt het ook regelmatig bijgewerkt, dus zou het ook met PHP5 moeten werken.

xYnta
15/02/07, 16:30
Duperen is wel een erg groot woord. Als je een pakket bij een fatsoenlijke leverancier koopt, wordt het ook regelmatig bijgewerkt, dus zou het ook met PHP5 moeten werken.

True, maar er zijn voldoende mensen op het internet welke gewoon een simpele website willen opzetten en vervolgens een software pakket aanschaffen het door een vriend / kennis / wizkid laten installeren en via een admin of CMS systeem dingetjes gaan bijwerken. Die mensen hebben niet de kennis om dan omdat de ISP gaat updaten hun eigen pakket ook te upgraden.

Wido
15/02/07, 16:32
Zulke mensen valllen onder deze categorie: http://tweakers.net/nieuws/46333/Veel-websites-kwetsbaar-voor-hackaanvallen.html

Eenmaal je website installeren en er daarna niet meer naar om kijken is niet meer van deze tijd, je moet wel blijven updaten.

xYnta
15/02/07, 16:41
Klopt, en ik zeg ook niet dat je niet meer moet updaten. Maar de praktijk wijst anders uit. Veel scripts zoals Joomla, OSCommerce... scripts die toch regelmatig worden bijgewerkt en die ook door klanten frequent worden geupdate zijn ook hack gevoelig. Moeilijk om daar langsheen te werken, maar ik kan je standpunt wel begrijpen.

Echter vindt ik het toch alsnog niet nodig om klanten te verplichten om naar PHP5 te updaten als zij dit nog niet wensen. Waarom een gedwongen update als je ook beide versies kan spreiden en op die wijze langzaam PHP4 uit je systeem kan werken?

ErikKosters
15/02/07, 16:42
Toch kan ik begrijpen dat klanten niet hun website willen aanpassen. Sommige mensen steken eenmalig tijd in een systeem daarna willen ze er geen omkijken naar hebben.

Maar zoals hier werdt aangegeven PHP 4 of 5 als CGI draaien.. is dat wel verstandig? I.v.m. snelheid en dergelijke.

Wido
15/02/07, 16:43
Het is een keuze die je zelf moet maken, maar twee versies PHP draaien heeft ook weer zijn nadelen, PHP via CGI beduidend langzamer dan via een module.

Ook kan je via CGI geen aanpassingen maken aan PHP via een .htaccess file.

ErikKosters
15/02/07, 16:48
Is het mogelijk om PHP 4 en 5 tegelijk via een module te draaien dan (per gebruiker instellen). Ik heb hier nog niet echt naar om gekeken maar ben het wel van plan binnenkort.

Wido
15/02/07, 16:50
Nee, ik heb het wel eens getest, maar je moet daarvoor de source-code van PHP gaan hacken en dat liep bij mij niet helemaal vlekkeloos.