Вернуться   D3Scene.Ru Софт портал игр | Хаки | Проги | Статьи > Другое > Информационные технологии > Программирование > PHP
Присоединяйся к нам



Ответ
 
Опции темы Опции просмотра
Старый 06.05.2011, 20:44   #1
Местный
 
Аватар для FLaMeWaVe-
 
Регистрация: 09.02.2011
Адрес: UK,London
Сообщений: 106
Репутация: 77
Отправить сообщение для FLaMeWaVe- с помощью ICQ Отправить сообщение для FLaMeWaVe- с помощью Yahoo Отправить сообщение для FLaMeWaVe- с помощью Skype™
Автор По умолчанию

Ошибка 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 файле нельзя будет применять коментарии, начинающиеся с #


Так же следующие функции:
call_user_method() (используйте call_user_func())

call_user_method_array() (используйте call_user_func_array())

define_syslog_variables()

dl()

ereg() (используйте preg_match())

ereg_replace() (используйте preg_replace())

eregi() (используйте preg_match() с модификатором 'i')

eregi_replace() (используйте preg_replace() с модификатором 'i')

set_magic_quotes_runtime() и ее синоним(alias) magic_quotes_runtime()

session_register() (используйте $_SESSION)

session_unregister() (используйте $_SESSION)

session_is_registered() (используйте $_SESSION)

set_socket_blocking() (используйте stream_set_blocking())

split() (используйте preg_split())

spliti() (используйте preg_split() с модификатором 'i')

sql_regcase()

mysql_db_query() (используйте mysql_select_db() и mysql_query())

mysql_escape_string() (используйте mysql_real_escape_string())


И следующие возможности:
В new передача параметра по ссылке в переменную

Вызов call-time функций, методов и классов по ссылке

Использование {} для указания смещения внутри строки. Теперь это можно сделать с помощью [] (как в массиве)


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


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Powered by vBulletin
Copyright © 2017 vBulletin Solutions, Inc.
Перевод: zCarot | Дизайн: G-A | Верстка: OldEr
Текущее время: 14:35. Часовой пояс GMT +4.