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

Door , , 17 reacties
Bron: PHP, submitter: LuCarD

Het ontwikkelteam achter PHP, de PHP Hypertext Preprocessor, heeft een nieuwe versie in de 4.x-tak van deze HTML-embedded scripting taal uitgebracht. Het gaat om versie 4.4.0 en deze lost onder andere een ernstige geheugen-corruptieprobleem op. Daarnaast zijn ook nog een lading minder ernstige bugs verholpen. Het volledige changelog ziet er als volgt uit:

Changelog for version 4.4.0
  • Added man pages for "phpize" and "php-config" scripts.
  • Added support for .cc files in extensions.
  • Added the sorting flag SORT_LOCALE_STRING to the sort() functions which makes them sort based on the current locale.
  • Changed sha1_file() and md5_file() functions to use streams instead of low level IO.
  • Fixed memory corruptions when using references in a wrong way.
  • Fixed memory corruption in pg_copy_from() in case the as_null parameter was passed.
  • Fixed memory corruption in stristr(). (Derick)
  • Fixed bug #32685, Fixed bug #29423 (Segfault when using assignment by reference within function).
  • Fixed bug #33242 (Mangled error message when stream fails).
  • Fixed bug #33222 (segfault when CURL handle is closed in a callback).
  • Fixed bug #33214 (odbc_next_result does not signal SQL errors with 2-statement SQL batches).
  • Fixed bug #33210 (relax jpeg recursive loop protection).
  • Fixed bug #33200 (preg_replace(): magic_quotes_sybase=On makes 'e' modifier misbehave).
  • Fixed bug #33150 (shtool: insecure temporary file creation).
  • Fixed bug #33072 (Add a safemode/open_basedir check for runtime save_path change).
  • Fixed bug #33070 (Improved performance of bzdecompress() by several orders of magnitude).
  • Fixed bug #33057 (Don't send extraneous entity-headers on a 304 as per RFC 2616 section 10.3.5).
  • Fixed bug #33019 (socket errors cause memory leaks in php_strerror()).
  • Fixed bug #33017 ("make distclean" gives an error with VPATH build).
  • Fixed bug #33013 ("next month" was handled wrong while parsing dates).
  • Fixed bug #32974 (pcntl calls malloc() from a signal handler).
  • Fixed bug #32944 (Disabling session.use_cookies doesn't prevent reading session cookies).
  • Fixed bug #32936 (http redirects URLs are not checked for control chars).
  • Fixed bug #32932 (Oracle LDAP: ldap_get_entries invalid pointer).
  • Fixed bug #32904 (pg_get_notify() ignores result_type parameter).
  • Fixed bug #32813 (parse_url() does not handle scheme-only urls properly).
  • Fixed bug #32810 (temporary files not using plain file wrapper).
  • Fixed bug #32802 (General cookie overrides more specific cookie).
  • Fixed bug #32800, Fixed bug #32830 (ext/odbc: Problems with 64bit systems).
  • Fixed bug #32773 (GMP functions break when second parameter is 0).
  • Fixed bug #32742 (segmentation fault when the stream with a wrapper is not closed).
  • Fixed bug #32730 (ext/crack.c fails to compile with cracklib-2.8.3).
  • Fixed bug #32670 (foreach() does not issue warning on unset array arg).
  • Fixed bug #32699 (pg_affected_rows() was defined when it was not available).
  • Fixed bug #32682 (ext/mssql: Error on module shutdown when called from activescript).
  • Fixed bug #32647 (Using register_shutdown_function() with invalid callback can crash PHP).
  • Fixed bug #32591 (ext/mysql: Unsatisfied symbol: ntohs with HP-UX).
  • Fixed bug #32589 (Possible crash inside imap_mail_compose, with charsets).
  • Fixed bug #32587 (Apache2: errors sent to error_log do not include timestamps).
  • Fixed bug #32567 (ext/gmp fails to compile in threadsafe mode).
  • Fixed bug #32538 (ext/swf/swf.c does not compile with gcc-3.4.x or newer).
  • Fixed bug #32530 (chunk_split() does not append endstr if chunklen is longer then the original string).
  • Fixed bug #32491 (File upload error - unable to create a temporary file).
  • Fixed bug #32311 (mb_encode_mimeheader() does not properly escape characters).
  • Fixed bug #32245 (xml_parser_free() in a function assigned to the xml parser gives a segfault).
  • Fixed bug #32116 (mysql compressed connection doesn't work under windows).
  • Fixed bug #31887 (ISAPI: Custom 5xx error does not return correct HTTP response message).
  • Fixed bug #31583 (php_std_date() uses short day names in non-y2k_compliance mode).
  • Fixed bug #31213 (Sideeffects caused by fix of bug Fixed bug #29493).
  • Fixed bug #30052 (Crash on shutdown after odbc_pconnect()).
  • Fixed bug #29975 (memory leaks when set_error_handler() is used inside error handler).
  • Fixed bug #29944 (Function defined in switch, crashes).
  • Fixed bug #29338 (unencoded spaces get ignored after certain tags).
  • Fixed bug #28605 (Need to use -[m]ieee option for Alpha CPUs).
  • Fixed bug #28377 (debug_backtrace is intermittently passing args).
[break]De volgende downloads zijn beschikbaar:
*PHP 4.4.0 Complete Source Code (tar.bz2)
*PHP 4.4.0 Complete Source Code (tar.gz)
*PHP 4.4.0 zip-bestand
*De Windows installer is op dit moment nog niet beschikbaar
Moderatie-faq Wijzig weergave

Reacties (17)

Probeer PHPA eens; werkt als een trein, op hetzelfde principe als Zend Optimizer: http://www.php-accelerator.co.uk/

(nb: op dit moment is die site ogenschijnlijk moeilijk of niet bereikbaar)
Dat project lijkt als zo'n 2 jaar dood, vraag me af of het samen met 4.4.0 wel goed werkt?
http://eaccelerator.net/

Wat recenter, werkt perfect met php5, ik neem aan dat het met deze versie ook perfect zal werken of er binnen enkele dagen een update zal verschijnen.
eAccelerator 0.9.3 werkt idd prima op 4.4.0. De oude Turck mmcache werkt voor het eerst bij deze versie niet meer bij mij, bij 4.3.11 nog goed.
Niet dus... Ik gebruik het al heel lang voor mijn site (+- 120.000 pageviews per dag) en tot nu toe (lees php 4.3.9) heeft het altijd goed meegewerkt. Vanaf nu is het schluss blijkbaar. Hoe dan ook, ik heb net even die eAccelerator geinstalleerd, we zullen snel genoeg weten of dat ook zo goed is ;)

edit: Na een week wil ik jullie de resultaten niet onthouden:
De load van mijn systeem is 15 20% omhoog gegaan, evenals de memory usage, bij ongeveer gelijke bezoekersaantallen. Niet dat ik het extreem erg vind, want zonder zou het nog een pak erger zijn, maar ik zou liever hebben dat php accelerator werkt voor 4.4.0 wat mij betreft.
Aan zowel PHPA als eaccelerator heb je geen zak als je toevallig een zend encoded applicatie hebt en die op php 4.4.0 wilt draaien...die zal net zo incompatible zijn als de optimizer van zend zelf...

Alleen als je zelf (gratis) wilt encoden is dat een leuke oplossing... je hebt dan overigens ook nog turck mmcache als optie.....

Wil je echt heftige optimalisatie moet je eens kijken naar zend platform...
Ik draai eaccellerator niet om encoded applications te draaien, zoveel zijn dat er niet, maar het geeft zoiezo wel een erg flinke boost. Vooral bij grotere php applicaties aangezien daar niet constant alle libraries etc geparsed moeten worden. Run maar eens wikimedia met & zonder accellerator, je zal het verschil wel merken.
Heeft iemand anders ook problemen met Zend Optimizer na het upgraden PHP? Ik kan namelijk geen Optimizer gebruiken omdat PHP aangeeft dat Optimizer out of date is en dat ik een nieuwe moet downloaden. Terwijl ik de laatste versie heb (2.5.10). :?
PHP 4.4.x heet zo (en dus niet 4.3.x) omdat er wijzigingen in sommige API's zijn, waardoor modules dus niet meer goed werken totdat ze worden aangepast.

Dikke kans dat er binnenkort een nieuwe Zend Optimizer komt voor versie 4.4.x van PHP
Het oplossen van bugs in de 4.* tak is natuurlijk fijn, maar ik denk dat men beter kan investeren in het beter compatible maken van versie 5, of het ontwikkelen van software waarmee problemen in scripts die alleen met de oudere versies werken kunnen worden opgelost.
Hierbij een bescheiden poging tot een toelichting op het ontwikkelingsproces van PHP (maar ook legio andere grote open source projecten zoals bijv de Linux kernel of MySQL db server).

Door de PHP Foundation worden momenteel 2 takken van PHP ontwikkeld, PHP 4 als stabiele tak (zoals MySQL 4) en PHP 5 als ontwikkelingstak (zoals jawel MySQL 5).
Bij de Linux kernel is 2.6 al enige tijd stabiel bevonden, maar ook daar zijn nog diverse distributies met een 2.4 kernel (die ook nogsteeds wordt geupdate) te vinden.

De ontwikkelingstak is vooral voor ontwikkelaars die vast kennis willen maken met de nieuwe functionaliteit, maar nog niet stabiel genoeg bevonden voor "mission-critical use" (zoals bij een hosting provider).

Het kan werkelijk jaren duren voordat sommige gebruikers/bedrijven over stappen op de nieuwere versies, vaak (lees vrijwel altijd) brengen nieuwe versies dusdanige wijzigingen met zich mee dat bestaande applicaties grondig geevalueerd (lees grotendeels herschreven/gereviewed) moet worden alvorens deze in gebruik genomen kan worden.

Het merendeel van de hosting providers draait (voor zover ik weet) nog MySQL 3, simpelweg omdat het ding inmiddels zo stabiel is als een huis.
Er zal dus ook nog wel geruime tijd overheen gaan voordat PHP 5 in deze tak van sport geintroduceerd wordt.

Daarom worden er dus ook nog bugs voor deze versies gefixed, zeker de memory corruption bug was duidelijk voldoende de moeite waard om gesquashed te worden.
Ik heb 4.4.0 op me server gezet en het draait een stuk beter dan versie 4.3.11. Het weergeven van de pagina's gaat een stuk sneller.
weet iemand hoe je kan upgraden? ik bedoel is het gewoon apache stoppen,, files uit de zip over de oude heen gooien en klaar?
ja dat klopt ja, t hoeft toch niet zo moeilijk :) Als de rechten nog maar goed staan (de gebruiker als wie Apache draait moet toegang hebben tot de DLL's.
en natuurlijk even controlen of de php.ini niet aangepast is... nu denk ik dat dit niet zo waarschijnlijk is, maar het kan natuurlijk altijd.

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True