LINUX.ORG.RU

PHP 5.5.12

 ,


0

1

Вышел корректирующий выпуск PHP 5.5.12.
Неполный список исправлений:

  • В расширении PHP-FPM устранена уязвимость CVE-2014-0185, позволяющая локальному пользователю, имеющему доступ к UNIX-сокету php-fpm, по умолчанию создаваемому с правами 0666, выполнить произвольный PHP-код с правами работающего пула процессов FastCGI.
  • libsqlite обновлён на версию 3.8.4.3
  • Исправлена ошибка fpassthru
  • Исправлена проблема с LDAP
  • Исправлена ошибка, из-за которой <xsl:include> не мог найти файлы, начинающиеся с file://
  • Исправлена ошибка, при которой stream_socket_server() создаёт неправильные абстрактные имена UNIX-сокетов
  • Исправлена ошибка № 66987 — Повреждение памяти в Fileinfo ext / bigendian
  • Исправлена ошибка № 66482 — Неизвестная запись 'priority' в php-fpm.conf
  • Исправлена ошибка № 66942 — Утечка памяти в openssl_seal()
  • Исправлена ошибка № 66952 — Утечки памяти в openssl_open()
  • Исправлена ошибка № 61019 — Недостаточно памяти на команде stream_get_contents

>>> Подробности

★★

Проверено: Shaman007 ()
Последнее исправление: Shaman007 (всего исправлений: 1)
Ответ на: комментарий от umren

с php обсуждать особо нечего, давно все обсосано и изведано, работает как часы

- работает, как часы!
- круто, конечно, но нам сервер был нужен не для того, чтобы время показывать

feofil
()
Ответ на: комментарий от swwwfactory

Ну и при чем здесь эрланг?

кортежи, списки, атомы

Зойчем это все?

патерн-матчинг

Да, хорошая вещь

хвостовая

какая разница от наличия хвостовой рекурсии, если оно все само компилиться в байт-код? Или ты хотел такой костыль как в clojure, когда нужно явно указывать что используется хвостовая рекурсия?

легковесные процессы

тут даже библиотеки, поставляемой с интепретатором нет, а ты о таком.

компиляция в бинарщину

Еще раз спрошу: зачем и как?

sventovit
()
Ответ на: комментарий от swwwfactory

ну, питониста сразу видно.

кортежи

неизменяемые списки, tuple что ли? в php их нет и наврядли будут, проблема высосана из пальца, т.к. потребности в них нет

списки

в питоне list? массивы не подходят? они в php универсальные

атомы

what?

патерн-матчинг

оно в питоне то есть? в двушке то точно нету, 3 не пользовался никогда, ну и приведите примеры где это будет полезно, я вот в отношении функциональщины тупой и не понимаю

горячая замена кода

так оно же не компилируется, меняй код в любом месте, вот тебе и горячая замена

хвостовая

я так понимаю речь о рекурсии, нет, в пхп этого лучше избегать, как и в питоне

легковесные процессы

hhvm

компиляция в бинарщину

это наврядли когда-то будет т.к. не является достоинством для «скриптового» языка

umren ★★★★★
()
Ответ на: Ну и при чем здесь эрланг? от sventovit

Еще раз спрошу: зачем и как?

после знакомства с этим штучками из коробки, трудно уже отвыкнуть. Попробовав хотя-бы один раз... Хорошо бы разработчикам языка попробовать эти прелести (уверен - им бы понравилось) конечно, может был-бы толк...

какая разница от наличия хвостовой рекурсии,

вкратце - элементарная проверка на вшивость. Без этого асинхронность и остальное будет суррогатом. Одно из оптимальных решений убрать из языка традиционные циклы, если это есть, то и хвостовая нормальная.

Есть близкий к этому вариант языка - elixir. Все собираюсь попробовать...

swwwfactory ★★
()
Ответ на: Ну и при чем здесь эрланг? от sventovit

компиляция в бинарщину
Еще раз спрошу: зачем и как?

Если об этом: как ты собираешься закрытые реализации делать? Для чего это другой вопрос - ну мало ли... По той-же причине что и «zencoder»

Как?

Сейчас есть apc (уже устарел), opcache. Запись в файл несложно реализовать. Фактически «zencoder» примерно так и работает. Есть подозрение, что в случае свободной бинарщины, zencoder останется не при делах... Плюс, «отравление» всего API мусором zend - это как раз из той оперы... Сейчас все еще чистят API...

swwwfactory ★★
()
Ответ на: комментарий от swwwfactory

zencoder

Извиняюсь, меня накрыло и я думал об исполняемых файлах.

sventovit
()
Ответ на: комментарий от umren

они в php универсальные

универсальность зло и немалое

оно в питоне то есть? в двушке то точно нету, 3 не пользовался никогда, ну и приведите примеры где это будет полезно, я вот в отношении функциональщины тупой и не понимаю

посмотри матчинг в эрланге - там все на этом построено. Еще никто от матчинга не отказывался...

я вот в отношении функциональщины тупой и не понимаю

а понять очень просто - параллельность возможна нормальная и безопасная только при этом в основном. Посуди сам (в простейшем случае): если цепочка операторов иммутабельна и не имеет явных зависимостей, то этот код можно выполнить параллельно

так оно же не компилируется, меняй код в любом месте, вот тебе и горячая замена

мне нужен сервер, который работает без остановки, но чтоб можно было его обновлять без проблем.

легковесные процессы

hhvm

В общем можно как растворимый кофе, но в целом даром не нужно - «зеленые» желательны на уровне самого языка. hhvm легко убьет язык и его индивидуальность,самобытность...

swwwfactory ★★
()
Ответ на: комментарий от hbars

perl рулит?, или C:\Program Files\итп. Не наезд. На чем тогда?

Да, perl рулит, но ты должен быть осилятором.

anonymous
()
Ответ на: комментарий от umren

патерн-матчинг

оно в питоне то есть?

было, но вроде не нативная реализация.

swwwfactory ★★
()
Ответ на: комментарий от umren

в питоне list? массивы не подходят? они в php универсальные

в то время когда многие, ради повышения эффективности переходят на типизированные массивы (смотри массивы int16 например в MDN).

В php есть SplFixedArray но это не то. Нужны списки (в первую очередь без символьных индексов, да вообще без индексов), родное hd, tail и т.д.

Жалкое подобие матчинга в подобии списков есть в языке это:

$a = [1, 2];
list($first, $next) = $a;

а надо что-то типа такого нативненько:

$seq = [1, 2, 3, 4, 5];
($hd|_$tail) = $seq;

swwwfactory ★★
()
Ответ на: комментарий от HFDKjenwf

В этих бенчмарках нет взаимодействий с базой данных или клиентами через вебсокеты.

только полные кретины типа джс-хипстоты могут ожидать разницы в «бенчмарках» io-bound задач в разных языках программирования.

val-amart ★★★★★
()
Ответ на: комментарий от swwwfactory

элементарная проверка на вшивость. Без этого асинхронность и остальное будет суррогатом

«асинхронность» (whatever that means to you) и хвостовая рекурсия (которая TCO) — абсолютно ортогональные и никак не связанные концепции. это как сказать что без нативных списков не бывает паттерн матчинга или итераторы необходимы для циклов.

val-amart ★★★★★
()
Ответ на: комментарий от val-amart

Ну говорю же - это суррогатное подобие.

...мне неизвестно что в $seq есть индексы и тем более длина $seq - знаю только что это список. Если он пустой - ошибка, если хотя-бы один элемент то ожидаемый ответ примерно такой: $hd === [1] и $tail === [] (в случае одного элемента)

swwwfactory ★★
()
Последнее исправление: swwwfactory (всего исправлений: 1)
Ответ на: комментарий от val-amart

«асинхронность» (whatever that means to you) и хвостовая рекурсия (которая TCO) — абсолютно ортогональные и никак не связанные концепции. это как сказать что без нативных списков не бывает паттерн матчинга или итераторы необходимы для циклов.

Ну это чисто мой маркер - для меня это работает.

swwwfactory ★★
()
Ответ на: комментарий от HFDKjenwf

Кроме того, на сколько мне известно, у РНР куча проблем с асинхронными вызовами,

Хейтеры такие забавные. Ради вас в темы про пыху и убунту захожу.

mysqlnd для всех баз, работающих поверх mysql, curl_multi для вебсокетов.

ForwardToMars
()
Последнее исправление: ForwardToMars (всего исправлений: 1)
Ответ на: комментарий от swwwfactory

мне нужен сервер, который работает без остановки, но чтоб можно было его обновлять без проблем.

Ты делаешь демоны на php? Делай несколько и перезапускай по одному (пока один перезапускается, запросы идут к другим), это намного надежнее, чем на лету код подменять.

ForwardToMars
()
Ответ на: комментарий от ForwardToMars

Ты делаешь демоны на php? Делай несколько и перезапускай по одному (пока один перезапускается, запросы идут к другим), это намного надежнее, чем на лету код подменять.

То-же мысль хотя придется повозиться с некоторой ре-активацией контекста процесса, но замена кода на лету элегантнее и очень желаема при разработке, да и вообще хотелки :)

Конечно, в быстро-живущих процессах есть свои прелести...

swwwfactory ★★
()
Ответ на: комментарий от swwwfactory

Ну говорю же - это суррогатное подобие.

это ты не понял моего кода. сейчас обьясню.

...мне неизвестно что в $seq есть индексы и тем более длина $seq - знаю только что это список.

это доступ к n-ому элементу списка по индексу, где -1 — последний элемент а 0 — первый.

In [1]: seq = ['a', 'b', 'c']

In [2]: seq[0]
Out[2]: 'a'

In [3]: seq[-1]
Out[3]: 'c'

Если он пустой - ошибка

In [6]: seq = []

In [7]: seq[0]
---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
<ipython-input-7-836209f6db12> in <module>()
----> 1 seq[0]

IndexError: list index out of range

если хотя-бы один элемент то ожидаемый ответ примерно такой: $hd === [1] и $tail === [] (в случае одного элемента)

это странный вариант поведения списка (логичнее что хед и тейл — один и тот же элемент), но его несложно реализовать в сабклассе.

val-amart ★★★★★
()
Ответ на: комментарий от val-amart

это ты не понял моего кода. сейчас обьясню.

просто показалось, что ты на php это привел

это странный вариант поведения списка (логичнее что хед и тейл > — один и тот же элемент), но его несложно реализовать в сабклассе.

этот вариант воспроизводится точно как в эрланге, хотя да странный конечно - один элемент из «башни», а не список с одним элементом, но так формальнее.

swwwfactory ★★
()
Последнее исправление: swwwfactory (всего исправлений: 2)
Ответ на: комментарий от ForwardToMars

Ох, да ладно. Вам везде хейтеры мерещатся? Я не начинал этот срач на счёт производительности, а лишь отметил, что лично мне, как сраному хипстеру на одном языке писать удобнее, чем на двух, посему PHP не нужен! :Ь

HFDKjenwf
()
Ответ на: комментарий от Deleted

В PHP6 обещали поддержку расширения mysql выкинуть, а поскольку на mysqli/PDO проекты переводить пока никто не чешется, если поспешить - ситуация будет примерно как с питоном.

MiniRoboDancer ★☆
()
Ответ на: комментарий от MiniRoboDancer

Ещё не все перевелись? Жуть какая %)

Deleted
()
Ответ на: комментарий от MiniRoboDancer

не видел ни одного проекта с mysql вместо mysqli или PDO, даже самые тухлые цмски не используют

umren ★★★★★
()
Ответ на: комментарий от HFDKjenwf

может и удобно, но явно не этот ваш б*гомерзский JS

zed_0xff
()

Это, конечно, замечательно, что господа исправляют утечки памяти и все эти, надеюсь, малочисленные баги, но пока не вижу смысла уходить от связки Scala + PostgreSQL на PHP + MySQL.

Ещё эти префиксы в именах методов...брр. Когда уже будут неймспейсы или модули?

m4n71k0r
()
Ответ на: комментарий от m4n71k0r

Неймспейсы в пхп есть с версии 5.3. Другое дело, что есть два «интерфейса» для стандартных методов - ооп и процедурный.

sventovit
()
Ответ на: комментарий от sventovit

Неймспейсы в пхп есть с версии 5.3. Другое дело, что есть два «интерфейса» для стандартных методов - ооп и процедурный.

PHP - фууу!!

Как-то я пытался разобраться в PHP досканально. Попытка понять концепцию языка вызвала у меня лютое отвращение к самому PHP, команде его создаталей и всем его поклонникам. Тогда я ясно понял почему к PHP часто приписывают приставку ujdyj- и программирование на нем называют php-быдлокодингом.

anonymous
()
Ответ на: комментарий от sventovit

Интересно, но зря разработчики сделали глобальное пространство. Это ошибка. Если уж стремятся к ООП, то надо следовать до конца, хотя идеальный ООП недостижим.

Кстати, а отказа от динамической в пользу утиной типизации не планируется?

m4n71k0r
()
Ответ на: комментарий от sventovit

кыш!

Да я еще давно «кыш» от ujdyj-PHP. Но это обстоятельство никак не влияет на его уродливость.

anonymous
()
Ответ на: комментарий от anonymous

Как-то я пытался разобраться в PHP доскАнально

все ясно

kto_tama ★★★★★
()
Ответ на: комментарий от katya_mama

Кто-то еще пишет на пыхе?

На пыхе пишут в Фейсбуке. И не только пишут, а пилят свою собственную ВМ, и собственный, притом весьма и весьма годный, диалект. Ясен пень, есть определенные проблемы при портировании, но с ними борются.

Так что пхпшники таки дожили до крутого ООП-языка, и крутой ВМ.

Macil ★★★★★
()
Ответ на: комментарий от sventovit

Ну я за строгую статическую типизацию всех языков (даже лиспа), а утиная - маленький шажок к совершенству Вселенной.

m4n71k0r
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.