версию 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 уровня ошибок
(errorlevel ) 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 функций, методов и
классов по ссылке
Использование {} для указания смещения
внутри строки. Теперь это можно сделать
с помощью [] (как в массиве)
Следует позаботиться о замене функций
аналогами, описанными выше и
переписать скрипты.
#новости
Присоединяйтесь — мы покажем вам много интересного
Присоединяйтесь к ОК, чтобы подписаться на группу и комментировать публикации.
Нет комментариев