[size="3"]Вышел PHP 4.4.9, последний релиз серии PHP 4.4.x. Первая альфа версия PHP 5.3[/size]
Анонсирован релиз PHP 4.4.9 (прошлый релиз 4.4.8 вышел в январе), в котором исправлены ошибки влияющие на стабильность работы и устранено несколько уязвимостей. Это последний релиз в ветке PHP 4.4.x, для которой больше не будут выпускаться исправления проблем безопасности, всем пользователям рекомендуется перейти на использование PHP 5.
Изменения:
* Библиотека PCRE обновлена до версии 7.7.
* Устранена возможность переполнения буфера в функции memnstr().
* Исправлена возможность вызова краха при вызове функции imageloadfont(), при указании некорректного шрифта
* Устранена возможность обхода ограничений open_basedir через расширение curl
* Параметр mbstring.func_overload, установленный в .htaccess, теперь имеет глобальное влияние
Кроме того, выпущена первая альфа версия PHP 5.3. Релиз ожидается в сентябре или октябре.
В PHP 5.3 будет представлено:
* значительное увеличение производительности. Например при сравнении одного из снапшотов php 5.3 и последнего стабильного релиза, было замечено увеличение производительности Drupal на 20%, Qdig на 2%, typo3 на 30%, wordpress на 15%, xoops - на 10%.
* namespaces - изолированные от остального кода пространства имен для классов, функций и констант.
* "late static binding" - привязка к вызываемому классу, вне контекста наследования (возможность получить имя класса, вызванного для выполнения статического метода);
* mysqlnd - новый MySQL драйвер, работающий напрямую с MySQL, без использования libmysql;
* __callStatic
* поддержка OpenID
* user.ini с привязкой к директориям наподобие .htaccess,
* XSLT профайлинг
* многоплатформенный getopt()
* поддержка Sqlite3
* опционально включаемый циклический сборщик мусора
* Новый синтаксис для определения строковых блоков, ограниченная поддержка GOTO, оператор "?:".
[size="3"]Web Optimizer - решение для автоматического ускорения сайтов на PHP[/size]
Не так давно российской группой веб-технологов был разработан продукт для автоматического ускорения клиентской части любого PHP-сайта - Web Optimizer. Скорость загрузки большинства сайтов на 80-90% зависит от задержек, вносимых клиентской частью - самой HTML-страницей и всеми объектами, которые на ней расположены. В последнее время активно обсуждаются, проверяются и внедрятся методики для оптимизации процесса загрузки страницы и ускорения ее в несколько (иногда в 10-20) раз.
Web Optimizer находится на переднем плане клиентских технологий и позволяет автоматически применить все самые современные методы для ускорения сайтов (в том числе gzip, объединение файлов, CSS Sprites, data:URI, кэширование на клиентском и серверном уровне, параллельные загрузки, "ненавязчивую" и "отложенную" загрузку и многое-многое другое). Конкретные результаты применения Web Optimizer приведены в сравнительной таблице. Для реальных сайтов зафиксировано ускорение от 3 до 7 раз.
Продукт достаточно прост в установке (она занимает минимум действий и времени, подробное руководство), при этом обладает несколькими десятками настроек, которые позволят тонко сбалансировать необходимые улучшения для сайта.
Исходный код Web Optimizer открыт всем желающим и распространяется в рамках свободной лицензии MIT.
http://www.opennet.r...shtml?num=23238 (http://www.opennet.ru/opennews/art.shtml?num=23238)
[size="3"]Вышел релиз PHP 5.2.11 с исправлением 4 уязвимостей[/size]
Доступно обновление PHP 5.2.11 с исправлением 75 ошибок и устранением четырех уязвимостей.
Исправления, связанные с безопасностью:
* Исправлена ошибка в функции php_openssl_apply_verification_policy, дающая возможность подтвердить валидность некорректного сертификата;
* Устранена проблема с отсутствием проверки корректности передаваемого через функцию imagecolortransparent() цветового индекса;
* Добавлены дополнительные проверки в код обработки EXIF полей в изображениях;
* Устранена ошибка, приводящая к краху при передаче некорректного режима в функцию popen;
Некоторые из важных исправлений:
* Устранено регрессивное изменение в модуле cURL, мешающее сбросу буфера при выводе результатов через файловый дескриптор;
* Ряд исправлений в правилах проверки корректности email адреса (FILTER_VALIDATE_EMAIL);
* Функция wordwrap() некорректно обрабатывала строку, обрывая ее по символу конца строки;
* Передача некорректных параметров через функцию ldap_read() приводило к краху;
* Функция mb_convert_encoding() не воспринимала шестнадцатеричное кодирование html-элементов;
* Устранен крах при попытке поиска без условий через imap_search;
* К краху приводило закрытие в imap потока, открытого с флагом OP_PROTOTYPE;
* Устранена утечка памяти в коде DateTime.
Выход PHP 5.3.1 ожидается в ближайшее время.
http://www.opennet.r...shtml?num=23469 (http://www.opennet.ru/opennews/art.shtml?num=23469)
[size="3"]SolarPHP: Первый стабильный релиз фреймворка [/size]
(http://lh3.ggpht.com/_kEdvtvwWAnM/SmOUsfJid9I/AAAAAAAAADM/DkuuDSOo9Z4/php-19.png)
Вышел (http://mailman-mail5.webfaction.com/pipermail/solar-talk/2010-March/004655.html) первый стабильный релиз SolarPHP 1.0 (http://solarphp.com/), нового фреймворка и набора библиотек для разработки web-приложений на языке PHP. SolarPHP выступает в роли конкурентов таким фреймворкам, как Zend Framework (http://framework.zend.com/), Symphony (http://www.symfony-project.org/), Yii (http://www.yiiframework.com/), Lithium (http://rad-dev.org/lithium), Flow3 (http://flow3.typo3.org/) и Cakephp (http://cakephp.org/), и по заявлению разработчиков значительно опережает (http://paul-m-jones.com/?cat=27) их по производительности. Исходные тексты фреймворка распространяются в рамках лицензии BSD.
SolarPHP поддерживает (http://www.solarphp.com/project/about) такие методы разработки, как MVC (Model View Controller), подстановку зависимостей (Dependency Injection), ленивую загрузку (Lazy Load), Query Object и т.д. Система поддерживает автоматические средства управления пользовательскими сессиями, встроенную защиту от атак CSRF, XSS и SQL injection, механизмы расширенной фильтрации поступающих от пользователя данных. Поддерживается возможность аутентификации с использованием LDAP, TypeKey, database, htpasswd и других механизмов.
Дополнительно отмечается полная поддержка локализации, наличие специального наследуемого класса с определением конфигурации. Для организации кеширования в SolarPHP поддерживаются такие системы, как memcache, APC и XCache. Все функции и классы SolarPHP реализованы в изолированном пространстве имен, что дает возможность без проблем смешивать код с другими фреймворками.
via opennet (http://www.opennet.ru/)
[size="3"]Начало тестирования PHP 5.4 [/size]После двух лет разработки началось (http://www.php.net/index.php#id2011-06-28-1) альфа-тестирование новой ветки интерпретатора языка программирования PHP 5.4, в которой добавлены новые языковые конструкции и удалены устаревшие возможности. Ветка 5.4 не обеспечивает полную совместимость на уровне API и конфигурации, поэтому может потребоваться модификация приложений и серверных настроек (например, удалена поддержка Safe mode и register_globals). Представленная версия позиционируется только для начального тестирования и ознакомления с новыми возможностями. Разработка ветки PHP 5.4 еще не завершена, а API не стабилизирован. Через 4 недели планируется второй альфа-выпуск.
Разработка PHP 5.4 ведется в рамках нового регламента подготовки релизов, подразумевающего плановую подготовку выпусков через фиксированные промежутки времени с оформлением тестовых версий в процессе разработки. В соответствии с новым регламентом, значительные релизы PHP, содержащие новшества, будут выходить раз в год, а время поддержки новой ветки составит три года. Более подробно с особенности нового регламента можно познакомиться в данном обзоре (http://www.opennet.ru/opennews/art.shtml?num=30752).
Из изменений (http://www.php.net/releases/NEWS_5_4_0_alpha1.txt) можно отметить:
- Возможности, удаленные по причине их устаревания:
- Прекращение поддержки всех опций, связанных с режимом "Safe mode";
- Прекращение поддержки синтаксиса "break/continue $var"
- Удаление конфигурационных опций register_globals, define_syslog_variables, highlight.bg, session.bug_compat42, session.bug_compat_warn, y2k_compliance, allow_call_time_pass_reference и register_long_arrays;
- Удаление функций session_is_regisitered(), session_registered() и session_unregister().
- Увеличение производительности (https://wiki.php.net/rfc/performanceimprovements) и оптимизация потребления памяти в Zend Engine. Работа по оптимизации проведена большая, улучшений очень много и они затрагивают различные части внутренностей PHP. Например, в тесте bench.php производительность PHP возросла на 19%, а в тесте micro_bench.php на 26%. При оценке скорости выполнения реальных приложений (c использованием акселератора APC) отмечается ускорение работы CMS typo3 на 6%, WordPress на 8%, drupal на 2%, xoops на 14% и scrum на 13%;
- Поддержка языковой конструкции "Traits (https://wiki.php.net/rfc/horizontalreuse)", предназначенной для организации повторного использования объектов без изменений существующих объектов;
- Поддержка разыменования массивов (https://wiki.php.net/rfc/functionarraydereferencing) (например, возвращающую массив функцию можно использовать как "func()['key']");
- Интеграция (https://wiki.php.net/rfc/dtrace) поддержки системы динамической трассировки DTrace;
- Перемещение встроенного расширения ext/sqlite во внешний каталог PECL (изменение не касается sqlite3, поддержка которого будет по прежнему встроена);
- Для сборки PHP 5.4 требуется установка пакета autoconf 2.59 или более новой версии (рекомендуется Autoconf 2.60+). Расширены возможности сборки для unix-подобных систем, например, теперь можно одновременно собрать несколько бинарных SAPI из PHP и внешних SAPI-модулей;
- Увеличена производительность парсинга запросов в FastCGI;
- В $_SERVER['REQUEST_TIME'] теперь передается время с указанием микросекунд;
- Изменено значение по умолчанию для опции "default_charset", вместо ISO-8859-1 теперь указано UTF-8;
- По умолчанию активирован режим поддержки многобайтовых кодировок (php больше не нужно специально собирать с опцией "--enable-zend-multibyte"). Для выключения поддержки в php.ini добавлена директива zend.multibyte;
- Возвращена поддержка замыкания "$this";
- Добавлена возможность косвенного вызова методов через массив;
- Добавлена поддержка использования ссылок на объекты при рекурсивном вызове serialize();
- Добавлены новые функции: http_response_code(), header_register_callback();
- Увеличена производительность функции unserialize();
- Добавлена поддержка "stream metadata API: в класс stream_metadata();
- Разнообразные улучшения отмечаются почти во всех стандартных расширениях;
# opennet.ru (http://www.opennet.ru/opennews/art.shtml?num=31035)
[size="3"]Разработчики PHP планируют упразднить классическое расширение ext/MySQL [/size]Филип Олсон (Philip Olson) в списке рассылки разработчиков PHP предложил (http://marc.info/?l=php-internals&m=131031747409271&w=2) план, согласно которому пользователей уведомят о том, что использование стандартного классического расширения ext/MySQL не приветствуется из-за соображений безопасности. Впоследствии это расширение можно будет вообще исключить из поставки.
План состоит из следующих пунктов:
- Упразднение использования ext/MySQL в документации, начиная с сегодняшнего дня;
- Возможное добавление флага E_DEPRECATED к функциям этого расширения, начиная с PHP 5.5/6.0;
- Добавление примеров использования функций pdo_mysql, а также примеров использования подготовленных запросов (prepared statement);
- Улучшение документации для pdo_mysql и mysqli;
- Создание документа "Ситуация с MySQL", которая отвечает на все вопросы.
Предложение в целом получило поддержку. Разработчики указывают (http://marc.info/?l=php-internals&m=131073409831187&w=2) на серьёзные недостатки классических функций доступа к mysql:
- Плохая поддержка хранимых процедур;
- Нет поддержки подготовленных запросов (http://en.wikipedia.org/wiki/SQL_injection#Parameterized_statements) (parameterized statements);
- Нет поддержки SSL-шифрования;
- Не поддерживается сжатие;
- Нет полной поддержки всех кодовых страниц.
# opennet.ru (http://www.opennet.ru/opennews/art.shtml?num=31197)
[size="3"]Для PHP будет подготовлена обвязка к GTK+ и GNOME, использующая интроспекцию GObject[/size]Представлена (http://bergie.iki.fi/blog/php_and_gobject_introspection/) инициатива по созданию нового расширения к PHP 5.3+ с реализацией возможности создания графических интерфейсов с использованием библиотеки GTK+. В отличие от ранее доступного расширения php-gtk (http://gtk.php.net/), новый проект предоставляет объектно-ориентированный API и базируется на использовании интроспекции GObject (https://live.gnome.org/GObjectIntrospection), что позволяет организовать прозрачный доступ к полной функциональности GTK+ и сопутствующих библиотек GNOME. Авторы инициативы предлагают профинансировать лиц, заинтересованных в продолжении развития проекта gobject-for-php (https://github.com/indeyets/gobject-for-php), в рамках которого не доведена до конца ранее предпринятая попытка использования интроспекции GObject для языка PHP.
В настоящее время биндинги на базе интроспекции GObject уже подготовлены (https://live.gnome.org/GObjectIntrospection/Users) для таких языков, как Python (https://live.gnome.org/PyGObject), Javascript (https://live.gnome.org/Gjs), Ruby (http://wiki.github.com/mvz/ruby-gir-ffi) и Java (https://live.gnome.org/JGIR), имеется (http://blogs.kde.org/node/4444) даже биндинг для библиотеки Qt.
# opennet.ru (http://www.opennet.ru/opennews/art.shtml?num=31311)
[size="3"]Тестирование второй бета-версии PHP 5.4 [/size]Началось (http://www.php.net/index.php#id2011-10-26-1) тестирование второй бета-версии языка программирования PHP 5.4. В новой ветке добавлены новые языковые конструкции и удалены устаревшие возможности. Подробнее о новшествах можно прочитать в анонсе первой бета-версии (http://www.opennet.ru/opennews/art.shtml?num=31864).
По сравнению с первой бета-версией исправлена (http://www.php.net/releases/NEWS_5_4_0_beta2.txt) большая порция ошибок, расширен вывод предупреждений об использовании несовместимых аргументов, улучшена производительность тернарного оператора ("?:"), в ситуации когда на выходе возвращается массив.
# opennet.ru (http://www.opennet.ru/opennews/art.shtml?num=32139)
[size="3"]Доступен кандидат в релизы PHP 5.4 [/size]Представлен (http://www.php.net/index.php#id2011-11-11-1) кандидат в релизы языка программирования PHP 5.4, который ознаменовал заморозку добавления улучшений и изменений, не связанных с исправлением ошибок, и переход к финальному тестированию. В новой ветке добавлены новые языковые конструкции и удалены устаревшие возможности. Подробнее о новшествах можно прочитать в анонсе первой бета-версии (http://www.opennet.ru/opennews/art.shtml?num=31864).
По сравнению с прошлой тестовой версией исправлено 14 ошибок (http://www.php.net/releases/NEWS_5_4_0_RC1.txt). Добавлена возможность обращения к членам классов с созданием отдельного экземпляра класса ("(new Foo)->bar()"). При преобразовании массива в строку теперь выводится предупреждение.
# opennet.ru (http://www.opennet.ru/opennews/art.shtml?num=32280)