Дек 12

Пару дней назад обновились стабильные версии одного из самых популярных языков программирования для веб – PHP 5.3.4 и PHP 5.2.15. Всем заинтересованным лицам рекомендуется обновляться, т.к. исправлено несколько довольно серьёзных ошибок.

Полный список изменений для PHP 5.3.4
Полный список изменений для PHP 5.2.15

Для безболезненного перехода с 5.2 на 5.3 рекомендуется к прочтению пособие по миграции Всем крайне рекомендуется прочитать этот документ, потому что релиз 5.2.15 – это последний релиз ветки 5.2.х. Поддержка этой ветки прекращена!

Скачать последние версии можно здесь.

Июл 09

Здравствуйте уважаемые читатели IнTересностей. Сегодня я решил выпустить очередные (6-е по счёту) IнTересные ссылки. В сегодняшнем выпуске будет только два подраздела: ссылки и видео

Итак приступим.

[IнTересные ссылки]

[IнTересное видео]

[IнTересный юмор]

[IнTересные обсуждения]

Спасибо за внимание и до следующих выпусков.

Июн 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-технологий, а проучились чуть ли не на ЕС ЭВМ.

Апр 07

Ну ни для кого не секрет, что с выходом iPad началась новая эра в распространении и использовании мобильных планшетов.
Естественно новый класс устройств добавляет головной боли для программистов и верстальщиков.

Дэвид Уолш (David Walsh) в своей заметке даёт несколько советов как определить что сайт отображается в браузере Safari на iPad.

Вот такую строку User-Agent возвращает браузер iPad-а

Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko)
Version/4.0.4 Mobile/7B334b Safari/531.21.10


Несколько советов как определить в каком браузере отображается сайт

JavaScript

var isiPad = navigator.userAgent.match(/iPad/i) != null;


PHP

$isiPad = (bool) strpos($_SERVER['HTTP_USER_AGENT'],'iPad');



Ну и на закуску совет как перенаправить пользователя на специальную версию сайта, созданную под iPad. Довольно полезно если ваш «нормальный» сайт использует Flash – как известно эта технология в iPad не поддерживается.

.htaccess

RewriteCond %{HTTP_USER_AGENT} ^.*iPad.*$
RewriteRule ^(.*)$ http://ipad.yourdomain.com [R=301]



Я то думал что с повсеместным внедрением мониторов с диагональю от 22″ и разрешением от 1600 пикселей по ширине сайты постепенно будут уходить от «width: 960px». Однако всеми любимое число ещё долго будет в умах верстальщиков и дизайнеров сайтов. Как сказано в одном фильме – «Всё только начинается!».

Апр 09

Вышел новый релиз ветки PHP 5.2.х специально для платформы Windows – PHP 5.2.9-2.

Релиз фокусируется на исправлениях утечек в безопасности библиотеки OpenSSL (CVE-2009-0590, CVE-2009-0591 и CVE-2009-0789). Все подробности здесь.

Библиотека OpenSSL обновлена до версии 0.9.8k, которая содержит исправления этих утечек.

Для скачивания доступны только исполняемые файлы, т.к. исходные коды самого PHP не менялись, соответственно они отдельно не выложены – смотрите предыдущий релиз.

Всем кто использует эту библиотека в своих разработках и Windows в качестве операционной системы хостинга – крайне рекомендую.

Мар 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-е :)

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

Авг 08

По сообщению официального блога вышла новая версия PHP 4.х ветки разработки – 4.4.9.
Версия 4.4.9 станет последней – больше ветка 4.х поддерживаться не будет.

Изменения:

  • Обновление PCRE до версии 7.7.
  • Исправлено переполнение в memnstr().
  • Исправлена ошибка в imageloadfont при передаче некорректного шрифта.
  • Исправлена потеря обработки open_basedir в расширении curl.
  • Исправлено: настройка mbstring.func_overload в .htaccess становилась глобальной.

Весь список изменений ветки 4.х.

Всем рекомендуется обновляться до PHP 5. Последняя стабильная версия имеет номер 5.2.6 и скачать её можно здесь.

Май 04

php logo Пока мировая общественность (в лице меня) 1 мая 2008 года ела шашлыки на даче – разработчики одного из самых популярных языков программирования выдали на гора новую версию – PHP 5.2.6. Как указано на официальном сайте этот релиз фокусируется на улучшении стабильности ветки разработки 5.2.х.

Релиз исправляет 120 ошибок, некоторые из которых имеют отношение к безопастности.

Более подробная информация в официальном релизе на сайте php.net, там же можно найти полный список изменений

Стр. 1 из 11