5.3.4
http://svn.php.net/repository/php/php-s ... 5_3_4/NEWS
http://www.php.net/ChangeLog-5.php#5.3.4
09 Dec 2010, PHP 5.3.4
- Upgraded bundled Sqlite3 to version 3.7.3. (Ilia)
- Upgraded bundled PCRE to version 8.10. (Ilia)
- Security enhancements:
. Fixed crash in zip extract method (possible CWE-170).
(Maksymilian Arciemowicz, Pierre)
. Paths with NULL in them (foo\0bar.txt) are now considered as invalid. (Rasmus)
. Fixed a possible double free in imap extension (Identified by Mateusz
Kocielski). (CVE-2010-4150). (Ilia)
. Fixed NULL pointer dereference in ZipArchive::getArchiveComment.
(CVE-2010-3709). (Maksymilian Arciemowicz)
. Fixed possible flaw in open_basedir (CVE-2010-3436). (Pierre)
. Fixed MOPS-2010-24, fix string validation. (CVE-2010-2950). (Pierre)
. Fixed symbolic resolution support when the target is a DFS share. (Pierre)
. Fixed bug #52929 (Segfault in filter_var with FILTER_VALIDATE_EMAIL with
large amount of data) (CVE-2010-3710). (Adam)
- General improvements:
. Added stat support for zip stream. (Pierre)
. Added follow_location (enabled by default) option for the http stream
support. (Pierre)
. Improved support for is_link and related functions on Windows. (Pierre)
. Added a 3rd parameter to get_html_translation_table. It now takes a charset
hint, like htmlentities et al. (Gustavo)
- Implemented feature requests:
. Implemented FR #52348, added new constant ZEND_MULTIBYTE to detect
zend multibyte at runtime. (Kalle)
. Implemented FR #52173, added functions pcntl_get_last_error() and
pcntl_strerror(). (nick dot telford at gmail dot com, Arnaud)
. Implemented symbolic links support for open_basedir checks. (Pierre)
. Implemented FR #51804, SplFileInfo::getLinkTarget on Windows. (Pierre)
. Implemented FR #50692, not uploaded files don't count towards
max_file_uploads limit. As a side improvement, temporary files are not opened
for empty uploads and, in debug mode, 0-length uploads. (Gustavo)
Les points à retenir :
- La version 8.10 de PCRE qui apporte un changement au niveau de l'utf-8 (avec une nouvelle option) (j'expliquerai ce qu'il faut modifier pour les regex marche partout)
- Le support de stat pour le protocole zip
- le follow_location activer par default pour toute ouverture http
- le bug 51176 annulé
- IntlDateFormatter::format (datefmt_format) accepte un object DateTime en timestamp
- RegexIterator::REPLACE marche enfin !!! (ça na jamais marcher) (j'ai fais la demande pour modifié le patch parce que ça allait être bizarre, la c'est OK)
- Meilleurs support de PHP-FPM
(je suis déçu y'a pas ma demande d'ajout pour SplFileObject::fputcsv ni celle de l'ajoute de la classe Transliterator pour Intl (visiblement faut la documenter, faut tout faire sois même...

) pourtant les tickets sont clos depuis un moment

)
Pour la version 8.10 de PCRE :
PCRE dépend de la locale, nous en s'en rend pas trop compte mais par exemple \w avec l'option
u, prendra aussi les accents alors que normalement non c'est la locale qui fait que ca marche, sur une machine ou la locale serait en anglais ça ne fonctionnerai pas, c'est pour ca qu'un nouvelle option a été créer PCRE_UCP (Unicode Property Table), en la rajoutant elle prendra bien en compte les accents peu importe la locale, (mal)heureusement l'option c'est intégré dans l'option
u donc pas de nouvelle option au niveau PHP, mais si on veux l'utilisé seule c'est avec (*UCP) par exemple (*UCP\w)
Pour RegexIterator::REPLACE :
replacement est une propriété de RegexIterator et malheusement c'est pas dans la paramètre du __construct donc on pourra pas faire de l'imbriquer (mais tant mieux dans fond)
un petit exemple simple
$a = new ArrayIterator(array('test1', 'test2', 'test3'));
$i = new RegexIterator($a, '/^(test)(\d+)/', RegexIterator::REPLACE);
$i->replacement = '$2:$1';
print_r(iterator_to_array($i));
/*
Array
(
[0] => 1:test
[1] => 2:test
[2] => 3:test
)
*/