Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Software-update: PHP 5.2.7

PHP is een zogenoemde hypertext preprocessor en wordt voornamelijk toegepast om dynamische content in de opmaaktaal html serverside te genereren. De software wordt veelal gebruikt in combinatie met het databaseprogramma Mysql, waarmee de dynamische content van websites en forums worden geserveerd. De ontwikkelaars van The PHP Group hebben versie 5.2.7 vrijgegeven en voorzien van de volgende aankondiging:

The PHP development team would like to announce the immediateavailability of PHP 5.2.7. This release focuses on improving the stability ofthe PHP 5.2.x branch with over 120 bug fixes, several of which are security related. All users of PHP are encouraged to upgrade to this release.

Security Enhancements and Fixes in PHP 5.2.7:
  • Upgraded PCRE to version 7.8 (Fixes CVE-2008-2371)
  • Fixed missing initialization of BG(page_uid) and BG(page_gid), reported by Maksymilian Arciemowicz.
  • Fixed incorrect php_value order for Apache configuration, reported by Maksymilian Arciemowicz.
  • Fixed a crash inside gd with invalid fonts (Fixes CVE-2008-3658).
  • Fixed a possible overflow inside memnstr (Fixes CVE-2008-3659).
  • Fixed security issues detailed in CVE-2008-2665 and CVE-2008-2666.
  • Fixed bug #45151 (Crash with URI/file..php (filename contains 2 dots)).(Fixes CVE-2008-3660)
  • Fixed bug #42862 (IMAP toolkit crash: rfc822.c legacy routine buffer overflow). (Fixes CVE-2008-2829)
Key enhancements in PHP 5.2.7 include:
  • Fixed several memory leaks inside the readline and sqlite extensions
  • A number of corrections relating to date parsing inside the date extension
  • Fixed bugs relating to data retrieval in the PDO extension
  • A series of crashes in various areas of code were resolved
  • Several corrections were made to the strip_tags() function in terms of < and <?XML handling
  • A number of bugs were fixed in extract() function when EXTR_REFS flag is being used
  • Added the ability to log PHP errors to the SAPI (Ex. Apache log) logging facility
  • Over 170 bug fixes.
For users upgrading from PHP 5.0 and PHP 5.1, an upgrade guide is available here, detailing the changes between those releases and PHP 5.2.7. For a full list of changes in PHP 5.2.7, see the ChangeLog.
Versienummer 5.2.7
Releasestatus Final
Besturingssystemen Windows NT, Windows 2000, Linux, BSD, Windows XP, macOS, OS/2, Solaris, UNIX, Windows Server 2003, Windows Vista, Windows Server 2008
Website PHP
Download http://www.php.net/downloads.php#v5
Licentietype Voorwaarden (GNU/BSD/etc.)

Door

Meukposter

36 Linkedin Google+

Bron: PHP

Update-historie

Meer historie

Reacties (36)

Wijzig sortering
Wat veel php bashing hier.

Veel slechte code van een bepaalde taal geeft al snel een neiging dat de taal slecht is terwijl het alleen de programmeur is! PHP is geen slechte taal meer. de 4.x.x tijd was erg. 5.2.x is gewoon een heel stuk beter en goed mee te werken.

ove de nieuwe versie (5.2.7) er zit een behoorlijke bug in met magic_quotes. if je die nou aan zet of niet hij is en blijft altijd uit: http://www.suspekt.org/20...-magic_quotes_gpc-broken/

Dus ergens volgende week (volgens die blog post) komt alweer PHP versie 5.2.8 om het op te lossen
En dan hoop ik dat ze die ook lekker altijd uit laten staan. Vertrouwen op die magic_quotes is gewoon pure nonsens. 8)7 :X
En dan hoop ik dat ze die ook lekker altijd uit laten staan. Vertrouwen op die magic_quotes is gewoon pure nonsens. 8)7 :X
Helemaal mee eens!
Gelukkig gaat dat hele magic_quotes_gpc uit PHP 6.
Ik ben daarom ook bang dat ze iets teveel uit PHP 6 hebben gebackport. Ik ben benieuwd hoe dat met 5.3 gaat dadelijk, want dat is bijna een soort van pre-6 versie.
PHP raad één dag na de release al weer af om deze update te installeren! Er is een erg hoog security issue gevonden m.b.t. magic quotes (kan niet ingeschakeld worden), waardoor de PHP ontwikkelaars hebben besloten deze 5.2.7 versie terug te trekken.

Voor diegene waarvoor dit te laat komt; er is een work-around, zoals aangegeven door de PHP ontwikkelaars:
For those who already have installed 5.2.7 can workaround the MQ bug by setting "filter.default_flags=0" in php.ini
Ga even ergens anders bashen over php.

Het (PHP, red) maakt miljoenen mensen elke dag blij door alle innovatieve en snel geprogrammeerde websites.
Zonder PHP had het internet er nu heel anders uitgezien..
Een simpele taal om te leren, en voor gevorderde programmeurs ook nog handig, wat wil je nog meer? moeilijke instap?

Met de komst van steeds beter wordende frameworks en betere OOP wordt het allemaal een stuk beter.
Lol, op welk vlak heeft PHP iets "nieuws" gebracht dan?
Buiten hordes van mensen die op het net wat scriptjes samen rapen en dan hun eigen software "schrijven" (copy-pasten).
PHP kan niks wat Perl/CGI 10 jaar daarvoor al niet deed.
PHP op zichzelf is verantwoordelijk voor een paar van de onveiligste software onderdelen die er circuleren op het web (PHP-Nuke, PHPbb en nog een paar tientallen andere onwijs slecht geschreven troep bundeltjes).
PHP heeft de drempel om te programmeren TE laag gemaakt.

[Reactie gewijzigd door phobosdeimos op 6 december 2008 23:49]

Wat heeft PHP te maken met slecht geschreven software?
De fout ligt bij de programmeur en niet bij de programmeertaal. Het komt waarschijnlijk doordat PHP een lage drempel heeft om ermee te beginnen, dat er veel slechte code aanwezig is. Maar is dit de fout van PHP? Of van de programmeurs?

Het is niet omdat de programmeur er weinig van begrijpt dat de fout bij de taal ligt die hij gebruikt, als je iets niet begrijpt grijp je naar het simpelste alternatief waar je iets mee kan bereiken. Dat is volgens mij de reden dat PHP zo populair is.

Ik ben ook ooit zo begonnen, maar ik ben verder blijven leren.
PHP is niet perfect, maar je kan goede software schrijven met PHP5.

[Reactie gewijzigd door maxi-pilot op 7 december 2008 09:50]

De drempel van PHP is te laag, dus er zijn te veel kneuzen die zich niet eerst verdiepen in de basisprincipes van het programmeren, maar gelijk maar beginnen met klooien, en er pas na een paar maanden achterkomen dat je ook nog dingen heb als functies (zodat je niet dezelfde code overhal hoeft te herhalen), of arrays of hash maps in plaats van losse variabelen voor elk wissewasje.

Er zijn wel talen die zijn bedoeld om klooienderwijs ermee om te leren gaan, maar PHP is niet zo'n taal. Evenmin zijn C/C++, Java, Python (helaas), Pascal en ga zo maar door zulke talen. Denk eerder aan iets als Logo.

Bottomline: als je PHP kan schrijven, betekent dit nog niet dat je erin kan programmeren. Vaak wordt dit echter wel aangenomen.

Maar terug naar het probleem, zoals ik het zie is het als volgt gegaan:
1) Van de OSS-kliek zijn er mensen geweest die ooit PHP aan de man hebben gebracht. Geen idee hoe precies, maar opeens wil iedereen het gebruiken.
2) Er komen stapels karige tutorials => PHP wordt laagdrempelig.
3) Programmeerleken gaan websites proberen te bouwen (vol met trage onderdelen en beveilingsgaten), en enkelen hiervan worden grote successen.
4) Bedrijven denken dat PHP hun een goudmijn kan brengen, dus zoeken ze massaal PHP-programmeurs => zie stap 1, want iedereen wil wel een baantje waarbij je met een 'laagdrempelige taal' websites moet opzetten.
5) PHP wordt het onderwijs (middelbare scholen, MBO, HBO, WO) ingeduwd door mensen die zien dat bedrijven het willen hebben, maar weten duidelijk niet hoe ze ermee moeten uitleggen hoe je moet programmeren.
Ik ben echt helemaal afgeknapt op PHP. Ik heb het gebruikt sinds 2000, maar ik vind het de laatste tijd steeds erger worden. Als developer van complexe PHP applicaties zit je vaak met meerdere PHP versies de boel te testen. Zo had ik een paar jaar geleden PHP 4.2, PHP 4.3, PHP 4.4 (dit was mijn normale "stable" PHP), PHP 5.1 en PHP 5.2 naast elkaar staan om de applicatie te testen. Dit was nodig voor enorme gedrags verschillen tussen de verschillende versie. Dus was ik genoodzaakt om de applicatie te testen op elke in gebruik zijnde PHP versie sinds een ENORME gedrags wijziging. Die wijzigingen waren niet tussen de major versies, maar heel vaak in de minors. Zo was er een verandering in de volgorde van cleanup aan het einde van een script tussen 5.1.1 en 5.1.2, en in 5.2 was het weer anders. Dat soort grappen van de PHP devs maakt ontwikkelen in PHP heel irritant. Gelukkig kan ik nu de 4 serie gewoon schrappen. Maar de toekomst van PHP is nu nog steeds enorm fragiel. En de devs maken ook gewoon volslagen idiote beslissingen. Zoals de namespace separator. Ze hebben voor de backslash gekozen omdat het makkelijker was voor de implementatie, en dat is gewoon een compleet verkeerde reden. Ontwikkeling van een taal gaat niet om wat makkerlijk is om te programeren, maar wat makkelijker is in het gebruik van de taal.
foo\bar\quux is gewoon achterlijk als fully qualified name, foo::bar::quux was gewoon een betere keuze.
Maar ook het continue uitstellen van naming conformation is een doorn in het oog.
PHP wordt niet designed, maar gehacked.
Je maakt je product zoals je het zelf programmeerd. in elke taal kan je zowel goeie als slechte producten maken ;). dus die serieuze ontwikkelaar moet dan maar wat meer naar zichzelf kijken inplaats van de taal de schuld te geven :P
Als je denkt dat de programmeertaal en omgeving geen enkele verantwoordelijkheid draagt in de kwaliteit van de uiteindelijke software, dan weet jij betrekkelijk weinig van software development.
Dat hangt er toch echt vanaf hoe je het bekijkt. Je kan ook stellen dat de taal waarmee je werkt een *gegeven* is (bijv. omdat je bent ingehuurd om een draaiende applicatie te onderhouden) waarmee je het zult moeten doen. Welke eventuele "verantwoordelijkheid" de ontwikkelaars van de door jou gebruikte tools (en programmeertalen vallen daar ook onder) is daarmee irrelevant geworden.
Voor zn taak is PHP anders helemaal niet slecht, en die taak is webdevelopment. Het probleem is alleen dat er een visie ontbreekt met de ontwikkeling. Ik wacht met spanning af wat ze met php6 gaan doen. De meeste nieuwe feature's van 5.3 stonden eerst geplanned voor 6. PHP 6 was/is de kans om met het verleden te breken, net zoals ze met python 3 doen. Laten we hopen dat ze bij Zend nog het licht gaan zien...
Sinds ik python heb ontdekt vind ik PHP steeds meer een butt taal, tis echt een bij elkaar geraapt zooitje.
Persoonlijk vind ik php een best aardige taal. zeker sinds dat je in php 5 OO kan programmeren. al is het nog niet kompleet maar je hebt zoveel talen die practisch gezien hetzelfde doen. een developer kan zijn eigen taal wel kiezen :P

Ik heb persoonlijk liever iets waar ik mee bekend ben en waar ik van weet wat het kan en doet. dan elk jaar in een andere taal programmeren die eigenlijk hetzelfde doet als de vorige taal die ik geleerd heb maar dan net wat anders :P
OOP is aan het verouderen, en ik zie het nog wel verdwijnen ook. En echt hard nodig is dat OO niet voor webontwikkeling. Als het toch alleen maar over database connections, database cursors, error handling, etcetera gaat, kan een webontwikkelingtaal (wat altijd een beperkte rol heeft) beter daarop toegespitst zijn. Dit zie je niet in PHP, simpelweg omdat het van oudsher een Perl clone is die makkelijker in Apache is te pluggen dan mod_perl.

'Objecten' die je uit databases trekt hoeven ook niet per se in een object; het scheelt IMHO niet in de leesbaarheid om het in "object-vorm" te schrijven ($object->member) in plaats van een dictionary (hash map) te gebruiken ($object['member']), zeker niet wanneer je variabelen gebruikt om naar members te wijzen ($object->$member vs. $object[$member]... die tweede is minder verwarrend, zou ik zeggen).

En als een developer zijn eigen taal kan kiezen, waarom is er dan nog geen taal die zich makkelijk laat schrijven (dus dat je zelf makkelijk een taal in elkaar kan schroeven)? Klinkt als een gat in de markt, mits developers hun eigen taaltjes duidelijk houden.

[Reactie gewijzigd door 164019 op 7 december 2008 20:40]

OOP is niet aan het verouderen en zal zeker ook niet verdwijnen. Wat wellicht wel begint af te lopen is het idee dat OOP de oplossing voor alles is.

Wat je omschrijft wat betreft leesbaarheid heeft trouwens niets met OOP te maken, in C bijvoorbeeld kan ook je OOP programmeren met wat gekunstel en dat spel je dan member(object, ....)

Talen waarmee je talen zelf kan schrijven zijn er wel, maar het is nog niet zo eenvoudig om zelf een taal te schrijven. Bovendien is het niet zo bevorderlijk voor het uitwisselen van code. Wat vaak wel wordt gedaan is een specifieke mini-taal ontwikkelen voor een bepaald domein (DSL == Domain Specific Language)
De koning van de schrijf-je-eigen-taal-programmeertaal is lisp, al bijna een halve eeuw oud...
(over OO):
Tja, als je het zo interpreteert, was OOP in PHP al vanaf de introductie van arrays al mogelijk.

(over DSLs):
Meer dan DSLs heb je niet nodig om software te bouwen, en ik denk zelfs dat het maar beter is om DSLs te gebruiken dan een general purpose-taal. Een framework om al die DSLs eenvoudig te maken zou wel erg van pas komen.

De leesbaarheid en uitwisselbaarheid van code hangt helemaal af van de organisatie van een project. Als je met je broncode ook gelijk je jargon meegeeft, kun iedereen het nog steeds even goed lezen en compilen als jijzelf. En het distribueren van zo'n taalspecificatie hoeft niet lastiger te zijn dan het verspreiden van header-files.

En naast Lisp zijn er nogal wat andere talen waarin je makkelijk DSLs kunt bakken (zoals bijvoorbeeld Haskell), maar dan zit je altijd nog tot op zekere hoogte vast aan een bepaald interpreteer-compileer-executeer-model. Het optimaliseren van zo'n DSL wordt dan een geweldige rotklus voor een compiler, als het al mogelijk is.
juist OOP is een bij elkaar geraapt zooitje..

Ik vind het zelf een fijne taal om iets in elkaar te zetten, maar het moet geen enorme website/organisatie zijn.. Voor middelgrote websites is het prima. Daarna zou PHP bij mij alleen de front-end taal worden, met een gecompileerde taal (C#/C/C++ afhankelijk van de mogelijkheden) voor de backend.
+1 wat mij betreft.

Ik ben ook afgeknapt op PHP en de stap naar python gemaakt. Het was (natuurlijk) even wennen. Maar uiteindelijk goed te doen. Ik kan iedereen aanraden PHP te laten vallen als een baksteen.

Deze oude screencast geeft een goede indicatie van de mogelijkheden van een alternatieve web applicatie omgeving. Het voornamelijk anti-Java, maar PHP komt er ook niet goed vanaf.

http://oodt.jpl.nasa.gov/better-web-app.mov

edit: verkeerde screencast, maar de eerstgenoemde is wel degelijk de moeite waard :P
juiste screencast: http://ia301129.us.archiv...covery_from_Addiction.mov

[Reactie gewijzigd door DrWolffenstein op 6 december 2008 20:51]

Cool :)
Dit is wel mijn eerste PHP release die ik zelf meemaak (zit pas net in PHP).
Maar ga hem direct downloaden!
Spaar je de moeite. Als beginnend programmeur (en als gevorderde ook) zul je zelden met dit soort bugs in aanraking komen. Op een productieserver zul je moeten kijken of de securityproblemen op jouw situatie van toepassing zijn. Zo nee, dan lekker laten draaien, als het werkt.
Zo, is dat normaal in de php community, om niet te updaten?

Waarschijnlijk gebruikt iedereen over 10 jaar nog alleen php4... |:(
Het verschil tussen php4 en php5 is een stuk groter dan tussen php5 en php5.x.x
PHP4 is EOL, dus als je dat niet migreert naar PHP5 ben je niet slim bezig.

De laatste PHP5 (5.2.6_2) is nog niet lek volgens portaudit (FreeBSD), dus updaten heeft lijkt mij ook niet veel zin tenzij je inderdaad tegen bepaalde bugs aanloopt of nieuwe features van 5.2.7 wil gebruiken.
Het heeft inderdaad best een tijdje geduurd voordat men van php 4 over ging stappen naar php 5.. Veel servers draaiden nog 4 waardoor je de nieuwe (OOP) functies van php 5 iet kon gebruiken.
Er zit een wereld van verschil tussen X.x.x naar X+1.x.x, X.x.x naar X.x+1.x en X.x.x naar X.x.x+1

Eerste moet je verzichtig mee zijn maar moet je gewoon op termijn doen. Tweede kan een stuk sneller en is aan te raden zodra hij bij X.x.3 ofzo komt en de derde hoef je alleen te doen als er lekken zijn gedicht of voor jou relevante bugs zijn gefixt.
Het is niet helemaal een kwestie van 'timing', zoals dtech impliceert.

De meeste releasenummers zijn in het formaat major.minor.fix (of hoe je het ook noemen wilt).

De major-versie wordt meestal alleen verhoogd als de architectuur achter de software significant verandert. Dit gebeurt bijvoorbeeld als de onderdelen van de software anders met elkaar gaan communiceren, of een onderdeel compleet is veranderd. Of, uiteraard, als de taal plotseling anders in elkaar steekt.

De minor-versie kan om meerdere redenen worden opgehoogd, maar het gaat altijd om dingen die 'meer dan alleen een fix, maar minder dan een verandering in de architectuur' zijn. Bijvoorbeeld als er een nieuwe module wordt ingebouwd, of als een implementatie van een bepaald onderdeel veel efficiënter is gemaakt, dat soort dingen.

De fix-versie wordt ten slotte verhoogd als er een (stapel) bugfix(es) is uitgevoerd (of andere kleine wijzigingen, zoals hier een update naar een andere versie van PCRE) en deze in een release wordt opgenomen.

In dit geval is het een bump van 5.2.6 naar 5.2.7, wat betekent dat dit een fixrelease is. Dus: wel nuttig en verstandig om te updaten, maar om het als een mijlpaal te beschouwen is zwaar overdreven.
Helaas wel... Heel veel hostingbedrijven installeren eenmaal een server en updaten nooit of zelden meer. Je komt nog heel veel PHP4 installaties tegen. Overigens geldt dat ook voor Apache. Ook die wordt slecht geupdate en gepatched.
Dat is in meerdere gevallen wel zo.
Maar updaten is toch altijd de moeite waard!

Zo had ik laatst last van een script, werkte gewoonweg niet! Ik zat echt heel lang te zoeken naar een oplossing. Maar ik heb de gewoonte om elke update te installeren, dit gedaan en opeens werkt mijn script! Dit betekent dat er gewoon blijkbaar een bug op mijn script aan het reageren was.

Maar met updates moet je ook heel voorzichtig zijn, die moeten compatiebel zijn met Apache, MySQL, ... onderling, anders kom je in heel grote problemen en mag je met alles opnieuw beginnen!
Maar met updates moet je ook heel voorzichtig zijn, die moeten compatiebel zijn met Apache, MySQL, ... onderling, anders kom je in heel grote problemen en mag je met alles opnieuw beginnen!
Lang leve package managers?
Nou zeg dat updaten heb ik ook weer snel afgeleerd. Zojuist geprobeerd PHP 5.2.6 naar 5.2.7 te upgraden... Ik had de .exe gebruikt en dit resulteerde in een foutmelding die melde dat er een script niet uitgevoerd mag/kon worden en dat de installatie vroegtijdig gestopt was. Resultaat: alle websites down....

Oplossing? Oude 5.2.6 package draaien en 5.2.7 overschrijven.

Geen idee of dit aan mij ligt of dat dit een bekend probleem is.
Resultaat: alle websites down....
Het lijkt alsof je windows draait op een PHP-production server, en je installeert met de .exe. Das niet bepaald het slimste wat je kan doen. Zelfs als ik een *NIX server had, zou ik het eerst testen in een vergelijkbare opstelling en eventueel een backup server neergezet.

Als het een PHP-production server is die windows draait: tenzij je echt een zeer goede reden hebt om windows te draaien, zou ik een linux-distro installeren en daar PHP op compilen of hem eventueel van de package manager af plukken.
Wat heeft PHP te maken met slecht geschreven software?
Gewoon, gelegenheid maakt de dief.

Python / Zope is bijvoorbeeld direct al een stuk veiliger doordat de programmeur in een bepaald korset wordt gedrukt.

Op dit item kan niet meer gereageerd worden.


Apple iPhone X Google Pixel 2 XL LG W7 Samsung Galaxy S9 Google Pixel 2 Far Cry 5 Microsoft Xbox One X Apple iPhone 8

© 1998 - 2017 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Hardware.Info de Persgroep Online Services B.V. Hosting door True

*