Основы PHP
  Что такое PHP?
  Возможности PHP
  Преимущества PHP
  История развития
  Что нового в PHP5?
  «Движок» PHP
  Переход на PHP 5.3
New Переход на PHP 5.6
  Введение в PHP
  Изучение PHP
  Основы CGI
  Синтаксис PHP
  Типы данных PHP
  Переменные в PHP
  Константы PHP
  Выражения PHP
  Операторы PHP
  Конструкции PHP
  Ссылки в PHP
  PHP и ООП
  Безопасность
  Функции PHP
  Функции по категориям
  Функции по алфавиту
  Стандартные функции
  Пользовательские
  PHP и HTTP
  Работа с формами
  PHP и Upload
  PHP и Cookies
  PHP и базы данных
  PHP и MySQL
  Документация MySQL
  Учебники
  Учебники по PHP
  Учебники по MySQL
  Другие учебники
  Уроки PHP
  Введение
  Самые основы
  Управление
  Функции
  Документация
  Математика
  Файлы
  Основы SQL
  Дата и время
  CURL
  Изображения
  Стили
  Безопасность
  Установка
  Проектирование БД
  Регулярные выражения
  Подготовка к работе
  Быстрый старт
  Установка PHP
  Установка MySQL
  Конфигурация PHP
  Download / Скачать
  Скачать Apache
  Скачать PHP
  Скачать PECL
  Скачать PEAR
  Скачать MySQL
  Редакторы PHP
  Полезные утилиты
  Документация
  PHP скрипты
  Скачать скрипты
  Инструменты
  PHP в примерах
  Новости портала
 Главная   »  Основы PHP  »  Переход на PHP 5.3
 
 

Ошибка Deprication или переход на версию PHP 5.3

В последнее время все больше и больше приходит писем от наших посетителей, которые установив последнюю версию PHP 5.3.1 получают в работающих проектах подобные ошибки:

Deprecated: Function eregi() is deprecated in ...

Неприятная ситуация, когда проект работает и застает врасплох. Хорошо, что большинство хостеров не так быстро делают переход с версии PHP 5.2. на PHP 5.3. Но надолго ли?

Что такое DEPRECATED? Это некоторые параметры, функции и возможности, которые обозначены как НЕИСПОЛЬЗУЕМЫЕ и в последующих версиях будут УДАЛЕНЫ.

Для начала конечно можно временно (повторюсь временно) можно выключить в файле php.ini данные предупреждения что бы сайт восстановил работоспособность и не выдавали так же ошибки вывода заголовков Headers (популярная ошибка новичков headers already sent) В PHP 5.3. для этого добавлено 2 уровня ошибок (error level) E_DEPRECATED и E_USER_DEPRECATED, которые и управляют выводом предупреждений (Warning)

Полный список изменений вы можете увидите на официальном сайте PHP Deprecated features in PHP 5.3.x

Следующие директивы php.ini будут отмечены как НЕИСПОЛЬЗУЕМЫЕ (DEPRECATED) в PHP 5.3 и удалены в PHP 6.0.0

  • define_syslog_variables - теперь всегда OFF.
  •  
  • register_globals - теперь всегда OFF. Наконец-то! =)
  •  
  • register_long_arrays - $HTTP_*_VARS навсегда уйдут в небытие.
  •  
  • safe_mode - безопасный режим. По умолчанию OFF.
  •  
  • magic_quotes_gpc
    magic_quotes_runtime
    magic_quotes_sybase - будут удалены при переходе версии.
  •  
  • Теперь в php.ini файле нельзя будет применять коментарии, начинающиеся с #
  •  

Так же следующие функции:

И следующие возможности:

  • В new передача параметра по ссылке в переменную
  •  
  • Вызов call-time функций, методов и классов по ссылке
  •  
  • Использование {} для указания смещения внутри строки. Теперь это можно сделать с помощью [] (как в массиве)
  •  

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

 <<< Назад
(«Движок» PHP) 
 Содержание 
 Вперед >>>
(Переход на PHP 5.6) 

Есть еще вопросы или что-то непонятно - добро пожаловать на наш  форум портала PHP.SU 
 

 
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS