Июн 08

8 июля 1995 года Расмус Лердорф (Rasmus Lerdorf) анонсировал выход первого релиза PHP. Небольшая выдержка из его сообщения в конфе comp.infosystems.www.authoring.cgi:

Announcing the Personal Home Page Tools (PHP Tools) version 1.0.
These tools are a set of small tight cgi binaries written in C.

Краткий перевод заметки на sitepoint.com.

Изначально сокращение PHP обозначало “Personal Home Page”. Расмус начал этот проект в 1994. PHP был написан на C и предназначался для замены некоторых скриптов на Perl, которые использовались на его домашней странице. Некоторые уже настолько стары, что ещё помнят CGI-программирование на Perl – весёлого было мало. Нельзя было встраивать код в HTML и разработка была медленной.

Расмус добавил свой интерпретатор форм и другие библиотеки, включая библиотеки для работы с базами данных. PHP 2.0 родился в этот день 15 лет назад. (Примечание переводчика: Вот тут я немного не понял. Исследования вики проекта не дал каких-нибудь положительных результатов – новости начинаются с 1998 года) 6 июня 1998 года вышла версия 3.0. Парсер был полностью переписан Анди Гутмансом (Andi Gutmans) и Зивом Сураски (Zeev Suraski). Они и сменили имя проекта на “PHP: Hypertext Preprocessor”, которое осталось и по сей день.

Критики говорили что PHP 3.0 был небезопасным, имел ужасный синтаксис и не соответствовал стандартам кодирования (например отсутствовала парадигма ООП). Некоторые из этих замечаний актуальны до сих пор. Несмотря на это, PHP был элегантен и позволял выполнять веб разработки очень легко.

PHP 4.0 вышел 22 мая 2000 года. Была добавлена простейшая объектно-ориентированность и исправлены некоторые ошибки безопасности. PHP 4.0 получил очень большую популярность и до сих пор установлен на некоторых хостингах. Популярные системы, такие как WordPress и Drupal до сих пор совместимы с PHP 4.0, несмотря на то что его поддержка давно прекращена.

Ну и наконец, PHP 5.0, который вышел 13 июля 2004 года. Язык наконец-то получил нормальную реализацию объектно-ориентированного подхода, были исправлены многие ошибки и улучшена производительность.

PHP может быть установлен практически на любую ОС, он установлен на очень многих серверах. Не важно что вы думаете о языке, PHP представляет полноценные возможности для server-side programming и разработки веб-приложений последние 15 лет. И всё ещё впереди.
Конец перевода

Язык фактически бурно развивался и получил признание как раз в то время, когда я учился в Одесском Политехе. Как это ни прискорбно, но за все пять лет обучения (с 1995 по 2000) нам никто ни разу не упомянул его – до сих пор обидно что мы учились во время бурного роста IT-технологий, а проучились чуть ли не на ЕС ЭВМ.

Мар 26

Группа разработки PHP объявила о выходе первого релиз-кандидата для PHP 5.3.0 (PHP 5.3.0RC1). Этот релиз является завершающей фазой основных улучшений для ветки 5.X, который содержит большое количество новых особенностей, исправления ошибок и усовершенствования безопасности.

Основные новые возможности ветки PHP 5.3 :

Из релиза также исключены несколько расширений и унифицировано использование внешних API. Обратите особое внимание, чтобы не возникали ошибки несовместимости при переходе на данный релиз:

Все пользователям, особенно тем, кто до сих пор пользуется более ранними версиями PHP 5 настоятельно рекомендуется переходить на PHP 5.3.0, который полностью заменяет ветку 5.2.

Полный список изменений PHP 5.3.0 смотрите в CVS – NEWS.
Некоторые изменения:

  • Обновлён встроенный sqlite до версии 3.6.11.
  • Обновлён встроенный libmagic до 5.00
  • Добавлена константа LIBXML_LOADED_VERSION (использует текущая версия libxml2
  • Добавлен флаг JSON_FORCE_OBJECT для json_encode()
  • Добавлена поддержка для кодировки CP850 в расширении mbstring.
  • Исправлена ошибка #47664 (get_class возвращал NULL вместо FALSE).
  • Исправлена ошибка #47593 (interface_exists() возвращал false кога использовались абсолютные пути в пространстве имён
  • Исправлена ошибка #47549 (get_defined_constants() возвращал неправильный массив категорий)
  • Исправлена ошибка #47329 (сбой в сборщике мусора)
  • Исправлена ошибка #47243 (OCI8: сбой при выключении Windows)
  • Исправлена ошибка #47085 (rename() возвращала true даже если файл, имя которого было заданоe в PHAR, не существовал
  • Исправлена ошибка #46623 (OCI8: phpinfo не показывал ORACLE_HOME
  • Исправлена ошибка #46347 (parse_ini_file() не поддерживал маску *
  • Исправлена ошибка #16035 (OCI8: oci_connect вызывал ошибку в памяти без указанного ORACLE_HOME
  • Исправлена ошибка #15988 (OCI8: sqlnet.ora не читалась старыми библиотеками Oracle

Там же можно увидеть что уже во всю идёт работа над PHP 5.3.0RC2. На момент написания статьи уже было исправлено 5 ошибок, найденых в PHP 5.3.0RC1.

Фев 27

Вышел новый релиз PHP 5.2.9. По информации с официального сайта этот релиз фокусируется на улучшении стабильности ветки PHP 5.2.x – исправлено более 50 ошибок, некоторые из них относятся к безопасности. Всем пользователям PHP рекомендуется обновится до новой версии.

Улучшения безопасности и исправления в PHP 5.2.9:

  • Исправлена проблема безопасности в imagerotate () – цвет фона не проходил проверку с не truecolour изображениями.
  • Исправлен сбой при извлечении zip-архивов если был указан относительный путь к файлам или директориям.
  • Исправлен поведение explode() с пустой строкой (отрицательная длинна).
  • Исправлена ошибка доступа к памяти при передаче некорректной строки в json_decode().

Кроме того были добавлены новые возможности и исправлены следующие ошибки:

  • Добавлен необязательный флаг типа сортировки для array_unique(). По-умолчанию SORT_REGULAR.
  • Исправлена ошибка#45996 (libxml2 2.7 вызывал ошибку при передаче символьных данных в xml_parse()).
  • Многочисленные исправления в расширении mbstring.
  • Исправлена ошибка #44336 (Улучшена производительность сравнения UTF-8 строк в pcre).
  • Исправлена ошибка #46699 (Сбой xml_parse если парсер не мог определить пространство имен).
  • Исправлена ошибка #46748 (Ошибка доступа в память при возникновении более чем одной SSL ошибки).
  • Исправлена ошибка #46889 (Утечки памяти в strtotime()).
  • Исправлена ошибка #47049 (SoapClient::__soapCall вызывал ошибку доступа в память).
  • Исправлена ошибка #47165 (Возможный сбой в памяти при передаче значения по ссылке).
  • Исправлена ошибка #47282 (FILTER_VALIDATE_EMAIL правильные email адреса фильтровал как некорректные).
  • Исправлена ошибка #47422 (Оператор деления по модулю возвращал некорректный результат в 64-битной версии linux).
  • И ещё более 50 исправлений.

Рекомендую обновляться. На виртуальных хостингах, я думаю, обновляться никто не будет, а вот те кто пользуется VPS или выделенными серверами – настоятельно рекомендую, тем более что mbstring, по-моему, одно из самых используемых расширений PHP. И, соответственно, ускорение его работы потянет за собобй улучшение производительности всего PHP-проекта в целом.

Фев 11

100 пост в моём блоге (поздравления принимаются :) )

Так вот – вернёмся к CodeIgniter. Если честно вчера первый раз скачал его себе, имею весьма скудные представления о php-фреймовках и php вообще. Вчера даже кое-что получилось, причём весьма быстро. За это благодарности http://www.simplecoding.org/

Сегодня уже вышло следующее обновление – CodeIgniter 1.7.1 – и это я думаю хорошее предзнаменование :) , буду разбираться в php и CodeIgniter-е :)

Наиболее полное описание нововведение на русском.

Стр. 1 из 11