URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 87859
[ Назад ]

Исходное сообщение
"Корректирующие выпуски PHP 5.4.10 и 5.3.20"

Отправлено opennews , 20-Дек-12 20:41 
Представлены (http://php.net/index.php#id2012-12-20-1) корректирующие выпуски интерпретатора языка программирования PHP - 5.4.10 и 5.3.20, в которых устранено 19 ошибок (http://php.net/ChangeLog-5.php), не связанных с безопасностью, но устраняющих некоторые серьёзные проблемы со стабильностью. Из исправленных проблем можно отметить крах в процессе работы сборщика мусора, низкая производительность функции date() и переполнение буфера в коде модуля FPM.

Разработчики напоминают, что  ветка 5.3.x подходит к концу своего жизненного пути, в связи с чем пользователям рекомендуется заранее спланировать обновление своих систем. Начиная с марта 2013 года в ветке 5.3.x будут исправляться только критически проблемы безопасности.


URL: http://php.net/index.php#id2012-12-20-1
Новость: https://www.opennet.ru/opennews/art.shtml?num=35660


Содержание

Сообщения в этом обсуждении
"Корректирующие выпуски PHP 5.4.10 и 5.3.20"
Отправлено Аноним , 20-Дек-12 20:53 
Сколько процентов скриптов поддерживают только 5.2.x?

"Корректирующие выпуски PHP 5.4.10 и 5.3.20"
Отправлено kuraga , 20-Дек-12 21:05 
When storing '015700' microseconds in a Datetime object,
Datetime::format('u') returns '015699'. This behavior is critical when
I use optimistic locking.

----
$datetime = Datetime::createFromFormat('u', '015700');
$datetime->format('u'); // => '015699'
----

Datetime objects hold microseconds as "double" type in C.
'015700' is held as 0.015699999999999998679. Datetime::format('u')
calls floor() and it returns .015699.
-----

PATCH

- case 'u': length = slprintf(buffer, 32, "%06d", (int) floor(t->f * 1000000)); break;
+ case 'u': length = slprintf(buffer, 32, "%06d", (int) floor(t->f * 1000000 + 0.5)); break;

Клевое исправление бага!


"Корректирующие выпуски PHP 5.4.10 и 5.3.20"
Отправлено Andrey Mitrofanov , 20-Дек-12 21:13 
> - case 'u': length = slprintf(buffer, 32, "d", (int) floor(t->f * 1000000));
> break;
> + case 'u': length = slprintf(buffer, 32, "d", (int) floor(t->f * 1000000
> + 0.5)); break;
> Клевое исправление бага!

Откройте для себя... математику!

Они все http://stackoverflow.com/questions/485525/round-for-float-in-c сделали для себя из имеющегося froor() отсутствующий round(). "Клёва", да? Ну-ну.


"Корректирующие выпуски PHP 5.4.10 и 5.3.20"
Отправлено Аноним , 21-Дек-12 01:07 
Именно! Настоящие программисты оперируют датой и временем исключительно в строковом виде.

"Корректирующие выпуски PHP 5.4.10 и 5.3.20"
Отправлено Аноним , 20-Дек-12 21:11 
Куда они все время спешат?! Не все еще к 5.3 привыкли, а ей уже пора сказать до свидания. Но если новый регламент будет эффективен, то ветка PHP 5.4 задержится подольше. Интересно, что они обычно поддерживают две ветки, причем обе всегда помечены как стабильные.

Интересно почему за все время существования проекта ни кто не создал форк


"Корректирующие выпуски PHP 5.4.10 и 5.3.20"
Отправлено Аноним , 20-Дек-12 22:42 
а что в этом такого плохого? обновитесь до 5.4, просто не использовать функции которые deprecated. Не вижу в этом ничего зазорного

"Корректирующие выпуски PHP 5.4.10 и 5.3.20"
Отправлено all_glory_to_the_hypnotoad , 20-Дек-12 23:36 
ну как же, мордокника сделала форк

"Корректирующие выпуски PHP 5.4.10 и 5.3.20"
Отправлено Аноним , 21-Дек-12 01:57 
Они сделали не больший форк чем допустим pypy - форк питона.

"Корректирующие выпуски PHP 5.4.10 и 5.3.20"
Отправлено all_glory_to_the_hypnotoad , 21-Дек-12 19:45 
дебил, это не форк, а альтернативная реализация. pypy который

"Корректирующие выпуски PHP 5.4.10 и 5.3.20"
Отправлено Аноним , 21-Дек-12 09:05 
> Интересно почему за все время существования проекта ни кто не создал форк

Форки делают, если, например, не согласны с политикой разработчиков, хочется добавить фич, которые не берут в майнлайн. Но такая ситуация для пхп выглядит дико, поскольку его любят совсем за другое - можно хотя бы вспомнить то, что это потомок не менее мощного Perl. Так что тем, кому требуются фичи и вообще грамотно спроектированный язык, проще уйти на что-нибудь другое


"Корректирующие выпуски PHP 5.4.10 и 5.3.20"
Отправлено Аноним , 21-Дек-12 15:02 
> потомок не менее мощного Perl

Это как вырезанная опухоль - потомок человека.


"Корректирующие выпуски PHP 5.4.10 и 5.3.20"
Отправлено GentooBoy , 21-Дек-12 00:24 
Как я понял
5.4.10 - бета версия
5.3.20 - вот что это за версия хз ? Как её обозвать 13 ошибок.

"Корректирующие выпуски PHP 5.4.10 и 5.3.20"
Отправлено Adui , 21-Дек-12 01:24 
5.3 - Legacy versions
5.4 - Stable version
5.5 - Development version

"Корректирующие выпуски PHP 5.4.10 и 5.3.20"
Отправлено terr0rist , 21-Дек-12 13:48 
> Разработчики напоминают, что ветка 5.3.x подходит к концу своего жизненного пути

скорее РНР подходит к концу своего жизненного пути.

Новость от 21.12.2017:
"Состоялся релиз РНР 6.0. Он основан на кодовой базе Python 2.0, но с сохранением синтакиса РНР. В версии 7.0 (по оптимистичным прогнозам, через 20 лет) мы планируем полностью перейти на синтаксис Python, а сейчас пока объявляем синтаксис РНР deprecated. Напоминаем, что ветки РНР 5.23, 5.24, 5.25 и выше подошли к концу своего жизненного цикла, так и не появившись."