LINUX.ORG.RU

PHP 5.3.6

 , ,


0

1

17 марта вышел PHP 5.3.6.

В данном релизе устранено 5 уязвимостей:

  • Выход за допустимые границы памяти при обработке изображений со специально оформленным тегом в блоке EXIF-параметров.
  • Ошибка форматирования строки (format-string) в расширении Phar.
  • Целочисленное переполнение в функции shmop_read.
  • Переполнение буфера при указании большого значения в параметре «precision».
  • Нарушение границ памяти при использовании ZipArchive с опцией FL_UNCHANGED при обработке пустого ZIP-архива.

Кроме того, усилена безопасность в коде обработки протокола fastcgi в fpm SAPI.

Другие изменения:

  • Обновлены версии библиотек SQLite3 (3.7.4) и PCRE (8.11).
  • Добавлена возможность соединяться с сайтами по HTTPS через прокси-сервер, поддерживающий basic-метод аутентификации, используя stream_context/http/header/Proxy-Authorization.
  • Изменено значение serialize_precision по умолчанию с 100 на 17.
  • Устранена регрессия при обработке обратных слешей в open_basedir.

Также отмечается, что ветка 5.2 больше не поддерживается.

Полный список изменений

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

★★★★

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

Поэтому проект на bottle.py при получении из тарбола или меркуриала достаточно только запустить как python bottle.py, а чтобы только посмотреть на php-творение, нужно подготовить сервер, сделать все нужные настройки, и только потом запускать его.

Давай уже по поводу деплоймента не спорить? Я понял, что в bottle.py он быстрее происходит, чем в Django или в Yii. Но пытаясь вспомнить, сколько времени я трачу на деплоймент в месяц, прихожу вот к какому выводу: в последнем крупном проекте затратил я на него ну от силы день.

В это время входит настройка CentOS/RHEL, установка нужных системных пакетов и прочее из того, что делают все девелоперы. И только 5% всего этого времени уходит на деплоймент PHP-приложения.

Давай лучше затронем тему расширяемости приложения, написанного на bottle.py? В сравнении все с теми же Yii и Django.

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

> Нет-нет, без всякого bottle, пиши на голом питоне. Или слабо?

Зачем? Нет, не слабо вызвать встроенный http и вручную выдавать HTTP/1.X 200 OK\n\nHello, но я при этом себя буду очень php-шником чувствовать.

bottle.py - это ровно 1 файл, требования - стандартная библиотека php, его можно вместе с проектом распространять, если вне пакетного менеджера. Какой смысл превращать web-разработку в php-набивание-байтов?

Я уже говорил, что в php принято писать на чистом php, а на python - или на мелочи типа bottle.py и web.py для простых задач, или на монстре типа django для его задач, или набрать с каждой хари по удобному компоненту одним движением руки.

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

Поэтому проект на bottle.py при получении из тарбола или меркуриала достаточно только запустить как python bottle.py, а чтобы только посмотреть на php-творение, нужно подготовить сервер, сделать все нужные настройки, и только потом запускать его.

Статику лучше все равно отдавать при помощи nginx/lighttpd, а не при помощи bottle.py. Анонимус выше все верно сказал. Веб-сервер все равно нужен.

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

> Давай лучше затронем тему расширяемости приложения, написанного на bottle.py? В сравнении все с теми же Yii и Django.

Давай. Только сначала скажи, что из django я прямо таки принципиально не могу использовать в bottle.py.

Yii - вообще, на мой вкус, единственное светлое пятно в мире php, я его из git регулярно дёргаю на всякий случай.

Давай уже по поводу деплоймента не спорить? Я понял, что в bottle.py он быстрее происходит, чем в Django или в Yii. Но пытаясь вспомнить, сколько времени я трачу на деплоймент в месяц, прихожу вот к какому выводу: в последнем крупном проекте затратил я на него ну от силы день.

В мире существуешь не только ты, и не только твои задачи.

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

Ты пишешь чушь. В php принято работать так как удобно, а не «на чистом php», и если ты решил посравнивать языки, то сравнивай языки, а если фреймворки, то фреймворки, а не изворачйвайся.

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

> Статику лучше все равно отдавать при помощи nginx/lighttpd, а не при помощи bottle.py. Анонимус выше все верно сказал. Веб-сервер все равно нужен.

Нужен, конечно. Но не сразу. Сначала попробовать, а потом играть. Можно вообще просто завернуть в mod_proxy, а для статики кэширование нормальное или просто переопределение пути, nginx тут вообще красиво всё делает.

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

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

> Ты пишешь чушь. В php принято работать так как удобно, а не «на чистом php», и если ты решил посравнивать языки, то сравнивай языки, а если фреймворки, то фреймворки, а не изворачйвайся.

«Пешком можно залезть на гору, и сравнивать надо ноги с ногами, а колёса с колёсами». Но мы сравниваем скорость. Пешком можно залезть на гору, да, но в отношении скорости колёса всё таки лучше.

1. Начинающий на python будет писать на фреймворке. Просто по определению.

2. Начинающий, привлёчённый простотой хэлловорлда к php, будет писать на php в стиле хэлловорлда. Это по опыту. Если в php не будет простоты, то его и выбирать не будут, и выбирают его совсем не из-за того, что на нём есть клоны рельсов и синатры.

3. С ростом опыта человек обычно привязывается к тому стилю, к которому он привык, и поэтому большинство так и продолжают городить на php хэлловорлды и велосипеды.

4. Я сравниваю не php и python, а скорее php и bottle.py. Да, на php можно взять что-то готовое, на php есть большой выбор, зато сразу, быстро и удобно. Это как сравнивать mswindows и debian, 30000 троянов в открытом доступе, которых нужно ещё насобирать, а потом думать, как от них избавиться; против 30000 пакетов из коробки с восемью дисками.

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

> При этом httpd все равно запускается, так что не кукарекай.

Я скачал wordpress-mega-lite.tar.gz, там два файла, wordpress.py и bottle.py, я запустил python wordpress.py, и у меня приложение, сервер сам запустился. Я уже могу вордпрессить. Если мне нужно пересмотреть 10 вордпрессов, чтобы найти лучший ворпдресс, и вообще понять, нужен мне этот python, то это быстро и просто, и даже безо всяких внешних серверов.

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

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

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

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

> Сервер запустился, потому что был установлен, если бы он не был установлен, он бы запустился? Ты даже сам не понимаешь, что говоришь, когда утверждаешь, что сервер не нужен.

http://wiki.python.org/moin/BaseHttpServer

Есть в каждой инсталляции Python (не совсем уверен насчёт его работоспособности в версии для DOS). По крайней мере, у меня на «50 мбайтном linux on a businesscard» в 2003 году уже был.

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

Все с тобой ясно, php не осилил, перескочил на питоновский веб-фреймворк, потому что так показалось проще, при это сам питон тоже не знаешь, чем и объясняется твой отказ написать что-либо на голом питоне, банальный свитчер в общем, шума много, знаний - никаких.

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

Не переходите на личности. :)

По теме: тоже жду решения той задачи выше на чем-то другом, кроме PHP.

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

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

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

> Все с тобой ясно, php не осилил, перескочил на питоновский веб-фреймворк,

И? Мы не обо мне говорим, а об языке. В том числе, какой из них проще, или то, что php проще для начальной веб-разработки (а это основная причина его популярности) - это миф, и bottle.py при большей простоте даёт куда большую гибкость. А python даёт всей этой радости кучу библиотек, простой анализ репозитория показывает, что может python.

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

А вообще, я уже всё всем вот тут написал, поэтому пережёвывай: http://uuu.deb6.ru

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

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

Конечно. А ещё все дырки в php лично он сделал. И сервера php вчера тоже он взломал, чтобы бедные php разработчики вместо новой замечательной версии сидели и аудит делали.

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

> Не смеши меня, пожалуйста, этим «сервером».

Для посмотреть - хватит. А вообще - меняем run() на run(server='cherrypy'), и смотрим бенчмарки: http://slav0nic.org.ua/entry/141

Далее можно завернуть в proxy с кэшированием нужного так, как нужно. А можно выбрать любой другой способ, от wcgi до httpbaseserver, который есть всегда и везде.

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

> По теме: тоже жду решения той задачи выше на чем-то другом, кроме PHP.

cat tags.txt | sort | uniq -c

а нарисовать шаблон сможет sed.

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

>> По теме: тоже жду решения той задачи выше на чем-то другом, кроме PHP.

cat tags.txt | sort | uniq -c

а нарисовать шаблон сможет sed.

Если вам это тупо лень сделать, то запишем как слив с вашей стороны. Ваше право.

(Вывод: у вас полное неуважение к собеседнику и отсутствие целостности высказываний.)

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

Хотя предположу, что сейчас нас всех обзовут «тупыми пыхерами, которые недостойны ответа, о его величие, мага bottle.py». Ок. Всего хорошего.

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

> Если вам это тупо лень сделать, то запишем как слив с вашей стороны. Ваше право.

Машину мне помоешь? Или можно сразу записывать как слив с твоей стороны и неуважение ко мне?

(Вывод: у вас полное неуважение к собеседнику и отсутствие целостности высказываний.)

Вывод: от простых фактов превосходства средств python на php устроили какую-то словестную эквилибристику типа «а вот если вот так не сделаешь, значит это не победа». Юридическая победа по качеству не интересует, интересует фактическая. А факты - факты были все приведены, я даже не поленился и выписал все в отдельную тетрадочку (см. выше по треду).

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

> Всего хорошего. Мне с вами более не интересно спорить. Удачных выходных! :)

Дожили. «тупыми пыхерами, которые недостойны ответа, о его величие, мага bottle.py» уже даже машину помыть не могут. Как оскудела их квалификация.

kid_lester
()

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

anonymous
()

А зачем вообще нужен PHP?

Для больших проектов есть бигган - Java фреймверки. Нам нужно координировать кучу программистов, постоянно подстраивать систему под требования заказчика, обеспечить высокую производительность для процессинга, распределять и властвовать ресурсами. И нам все равно сколько на сервере памяти. Нас это не волнует. Мы просто покупаем еще один сервер. Его стоимость несравнима со стоимостью разработки.

Для проектов, которые не рискуют стать необъятными, но производительность архиважна есть Scala и Lift.

Для всего остального Python и фреймверки. Решаются любые задачи. В ногу выстрелить сложно.

Админам с бородой оставить Perl. Небородатым Python.

Зачем PHP?

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

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

Слилось PHP. Даже если бы python в этом треде предтставлял бот на python, оно всё равно бы не имело никаких шансов что-то противопоставить. Все примеры php-шников совершенно наглядны, видно где простой понятный краткий код, а где лапша, которая даже в экран не влазит.

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

>распределять и властвовать ресурсами.

Java


Ви ничего не напутали?

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

И вообще, если вместо предмета обсуждается чья-то личность, то это скорее всего означает только одно — что по самому предмету сказать нечего.

А кому больно охота в соревнованиях поучаствовать — переплюньте сначала это, не какой-то кусок, а полное рабочее законченное приложение: http://www.py-my.ru/post/4bfb3c691d41c846bc00003b

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

>но производительность архиважна есть Scala и Lift.

JVM


Вы ничего не напутали?

Для всего остального Python и фреймверки.

Вы ничего не напутали?
Ruby, .NET и иже смотрят на Вас с недоумением и немного с сочувствием

Зачем PHP?

Затем что вброс толст и слегка уныл

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

jvm кушает много памяти, но как числодробилка весьма быстра. И это давно известно.

python не молния, но быстр. И удобен. И все может.

net - зло

руби - а что руби? тормоз, но многим нравится.

Так вот, если net зло, а руби тормоз, наиболее очевидный выбор jvm или питон.

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

>Вы с erlang случайно не попутали?

Я не специалист по erlang. Но ситуация видимо аналогичная.

anonymous
()

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

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

Слмтрю вот на тебя (как на говно) и думаю: для троля слишком толст, для школоты - туп, хотя ник намекает на второе. Как зовут тебя, Лошадь безобразная?

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

> картина маслом :) только «сранные пыхари» и привели решение той задачи.

Которая до них ни у кого не возникало. Да и пример парсера чего-то — это только пример парсера, парсер можно и на qbasic с помощью MID$ и такой-то матери легко написать, в том числе и под указанную задачу. Реальное же приложение — это и брать данные, и хранить, и множество мелких нюансов, которые в среднем пыхокоде - это ворох лишних костылей, и именно они основная неприятность php.

Я вам привёл реальное законченное приложение — соревнуйтесь. Парсер же писать смысла нет, потому что это ровным счётом никому ничего не покажет, а писать его просто так всем лень.

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

Твое «реальное законченное приложение» ничего не умеет из того, что должен уметь вики-движок. Так что повторный слив защитан.

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

И что там с предыдущей задачей? Или ты только копипасту способен из себя выдавливать?

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

> И что там с предыдущей задачей? Или ты только копипасту способен из себя выдавливать?

Такое ощущение, что тебе в школе задали урок по облаку тэгов на python, поэтому ты тут и ходишь каждого встречного на слабо берёшь, чтобы кто-то тебе написал.

Какую копипасту? Что за бред?

Твое «реальное законченное приложение» ничего не умеет из того, что должен уметь вики-движок. Так что повторный слив защитан.

И что же именно он не умеет, из того, что должен уметь вики-движок. А, самое главое, где аналог на php, раз мы языки сравниваем, а не кто круче умеет на форуме ругаться.

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

Если мы сравниваем языки, реализуй то же самое, но без bottle. На голом питоне. А если ты способен на что-то большее, кроме как копипастить, то реализуй и ранее предложенную задачу, или слабо?

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

> Да и пример парсера чего-то — это только пример парсера, парсер можно и на qbasic...

Можно и на ассемблере, но разговор про пыху и пистон. А не про их фреимворки и тем более не про другие языки.

Парсер же писать смысла нет, потому что это ровным счётом никому ничего не покажет, а писать его просто так всем лень.

За-то ненаписаный парсер хорошой иллюстрирует фэйл пистона, ибо на нем даже такой профи как Вы не смог написать простейший парсер. А то факт, что кроме Вас тут еще сферическая толпа пистонщиков в вакууме должна быть (ведь это же Ъ-тру язык), но ее не видно, характеризует пистон как никому ненужное поделие для узкоспециализированных задачъ и подчеркивает эпичность фэйла.

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

> Если мы сравниваем языки, реализуй то же самое, но без bottle.

Я уже ссылку дал на BaseHTTPServer. Там даже пример есть, рабочий.

Правда, если ты не можешь понять объясняемую на русском языке мысль, что на голом python никто писать и не будет, будь он даже законченный пыхер, и это его большое достоинство, то и примера тем более понять не сможешь.

Нет причин писать на чистом python. И я говорю не про средство «python», а про средство «bottle.py», где, чтобы построить сайт-блог-что-то-подобное можно вообще не знать python, достаточно просмотреть tutorial_app и создать свои запросы и свои шаблоны. Соревнования меряния крутостью и преодоление искусственных трудностей можно оставить для младших классов средней школы, задачи должны решаться быстро, легко и приятно.

И когда на нижнем уровне bottle.py по всем показателям кроет голый php, клоны django/rails не дотягивают до оригинальов, и имеется столько средств-библиотек, хотелось бы узнать, какой смысл вообще ПИСАТЬ на php (хотя большинство php-кодеров ответят «у меня он уже есть в xampp.exe, одноклассники принесли, а ничего другого я не знаю и знать не хочу»).

Указанная задача — это задача не для bottle.py, поскольку bottle.py - это веб-каркас, это задача на python. При этом она без особых усилий решается и на python, и на php, и на basic, и с помощью busybox. Но разобрать набор тэгов - это одно, а сделать готовое отточенное решение - это другое, наличие визуализатора облака тэгов не означает, что вот тут они собираются неправильно, вот там нельзя их вручную изменять, вот там нет административного интерфейса и ещё куча шероховатостей - набор функций на php не даёт из них единого целого, а bottle хорошо клеит разные части, что самонаписанные, что уже готовые.

Тут скорее идеология даже разная, на php «как бы написать функцию для XXX», а на нормальных средствах «как бы лучше решить задачу XXX».

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

> Можно и на ассемблере, но разговор про пыху и пистон. А не про их фреимворки и тем более не про другие языки.

Разумно для развода на слабо. Для python есть в сотни раз больше готовых легко импортируемых средств, поэтому нужно что? Правильно, нивелировать это приемущества выкриками типа «так и любой дурак сможет», чем больших главных преимуществ лишить python, тем ему сложнее будет противостоять php. Можно ещё потребовать решить задачу на какой-нибудь микрореализации языка python, мотивируя, что это тоже python, и что мегапрограммеры должны уметь что угодно и на этом.

профи как Вы не смог написать простейший парсер

Ты уже помыл мне машину? Неужели и это для тебя слишком сложно. Хорошо, хотя бы носки мне постирай. Непостирание мне носков будет являть эпичнейший провал php по всем фронтам, ибо даже такой мегапрофи не может простых вещей - носки постирать.

Я не профи, я вообще не программист. Но как и они не люблю искуственных выдуманных трудностей только для того, чтобы их героически преодолевать.

Может быть ваша задача просто неуловимый джон — не написана потому, что никому не нужна? В это куда больше верится, чем во всемирный заговор разработчиков python.

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

> Ты уже помыл мне машину? Неужели и это для тебя слишком сложно. Хорошо, хотя бы носки мне постирай. Непостирание мне носков будет являть эпичнейший провал php по всем фронтам, ибо даже такой мегапрофи не может простых вещей - носки постирать.

Это мой фэйл, а не пыхи, или вам носки пистон стирает? А если крутость веб-языка измеряется возможностью постирать носки, то тогда натив си или асм лучше всех и закрыли полемику.

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

На, держи, фейличный ты наш.

#!/bin/sh

cat tags.txt | sort | uniq -c | awk '{ printf ("<a href=/tags/%s>%s</a> <b>%s</b> <br />\n", $2, $2, $1) }'

tags.txt

django
django
python
django
python
php
bash
debian
debian
anonymous
bottle
bottle
debian
bottle
bottle
bulk!

output

<a href=/tags/anonymous>anonymous</a> <b>1</b> <br />
<a href=/tags/bash>bash</a> <b>1</b> <br />
<a href=/tags/bottle>bottle</a> <b>4</b> <br />
<a href=/tags/bulk!>bulk!</a> <b>1</b> <br />
<a href=/tags/debian>debian</a> <b>3</b> <br />
<a href=/tags/django>django</a> <b>3</b> <br />
<a href=/tags/php>php</a> <b>1</b> <br />
<a href=/tags/python>python</a> <b>2</b> <br />

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

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

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

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

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

Да не парься ты вообще, возьми указанный выше shell-скрипт, для крутости замени awk на cut, и скажи, что это ещё круче чем python, авось прокатит.

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

>Я не профи, я вообще не программист.

Т.е. ты признаешь, что вся твоя писанина здесь, а также опеннете, а также где угодно еще, гроша ломанного не стоит.

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

> Это он питон так «знает» =)

Сделал бы на basic, но вот интерпретатора нет. А на sed - знаний не хватает, а было бы прикольно написать на чистом sed.

То есть, у вас не хватает на всю ораву анонимусов фактов даже против, по вашим словам, «незнайки питона»? опровергнуть вики не можете? опровергнуть простоту запуска и начальной разработки на bottle не можете? опровергнуть ничего из этого http://51t.ru/php.html не можете? Зато к тому, что вам домашнее задание никто делать не хочет, прицепились, как будто это разом опровергнет все или хотя бы какой-то один недостаток php.

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