Klaida Deprication arba perėjimas prie PHP 5.3 versijos
- Spausdinti
- 2012-09-14
- Nekategorizuota
- 4399 Peržiūros
- 0 komentarai
Vis daugiau vartotojų pereina prie php 5.3.1 versijos. Ankstesnėje versijoje (iki 5.3) visi skriptai veikdavo puikiai, dabar gaunami klaidos pranešimas Deprecated: Function eregi() is deprecated in ... . Kodėl? Ką daryti? Visą tai sužinosite perskaitę šį straipsnį.
Nemaloni situacija, kai viskas veikia puikiai ir problema užklumpa netikėtai. Gerai, kad dauguma hostingo paslaugų tiekėjų nesiskubina pereiti nuo PHP 5.2 prie 5.3 versijos, arba leidžia pasirinkti kurią PHP versiją naudoti.
Kas tas DEPRECATED? Tai kai kurie parametrai, funkcijos ir galimybės, kurios apibrėžtos kaip NENAUDOJAMOS ir naujausiose PHP versijose bus pašalintos.
Pradžiai, žinoma, galima laikinai išjungti faile php.ini šio tipo klaidų pranešimus, kad tinklalapis galėtų veikti. PHP 5.3 tam pridėti du nauji klaidų lygiai (error level) E_DEPRECATED ir E_USER_DEPRECATED, kurie valdo įspėjimų išvedimą (warning).
Kuriant skriptus nebenaudoti POSIX funkcijų, pereiti prie PCRE (dirbant su reguliariaisiais reiškiniais)
(PCRE - su Perl suderinami reguliarieji reiškiniai)
Pilną pakeitimų sąrašą galite pasižiūrėti oficialiame tinklalapyje PHP Deprecated features in PHP 5.3.x
Sekančios direktyvos php.ini bus pažymėtos kaip NENAUDOJAMOS (DEPRECATED) PHP 5.3 versijoje ir pašalinta PHP 6.0.0 versijoje:
register_globals - dabar visada OFF
register_long_arrays - $HTTP_*_VARS naikinama
safe_mode - saugus režimas. Pagal nutylėjimą OFF
magic_quotes_gpc
magic_quotes_runtime
magic_quotes_sybase - bus panaikintos.
Dabar php.ini faile nebebus galima naudoti komentarų prasidedančių # (grotelėmis)
Taip pat naikinamos funkcijos:
call_user_method() (naudokite call_user_func())
call_user_method_array() (naudokite call_user_func_array())
define_syslog_variables()
dl()
ereg() (naudokite preg_match())
ereg_replace() (naudokite preg_replace())
eregi() (naudokite preg_match() su modifikatoriumi 'i')
eregi_replace() (naudokite preg_replace() su modifikatoriumi 'i')
set_magic_quotes_runtime() ir jos sinonimas(alias) magic_quotes_runtime()
session_register() (naudokite $_SESSION)
session_unregister() (naudokite $_SESSION)
session_is_registered() (naudokite $_SESSION)
set_socket_blocking() (naudokite stream_set_blocking())
split() (naudokite preg_split())
spliti() (naudokite preg_split() su modifikatoriumi 'i')
sql_regcase()
mysql_db_query() (naudokite mysql_select_db() l0; mysql_query())
mysql_escape_string() (naudokite mysql_real_escape_string())
parašė tabux: Straipsnis parašytas pagal Pereiti
Nemaloni situacija, kai viskas veikia puikiai ir problema užklumpa netikėtai. Gerai, kad dauguma hostingo paslaugų tiekėjų nesiskubina pereiti nuo PHP 5.2 prie 5.3 versijos, arba leidžia pasirinkti kurią PHP versiją naudoti.
Kas tas DEPRECATED? Tai kai kurie parametrai, funkcijos ir galimybės, kurios apibrėžtos kaip NENAUDOJAMOS ir naujausiose PHP versijose bus pašalintos.
Pradžiai, žinoma, galima laikinai išjungti faile php.ini šio tipo klaidų pranešimus, kad tinklalapis galėtų veikti. PHP 5.3 tam pridėti du nauji klaidų lygiai (error level) E_DEPRECATED ir E_USER_DEPRECATED, kurie valdo įspėjimų išvedimą (warning).
Kuriant skriptus nebenaudoti POSIX funkcijų, pereiti prie PCRE (dirbant su reguliariaisiais reiškiniais)
(PCRE - su Perl suderinami reguliarieji reiškiniai)
Pilną pakeitimų sąrašą galite pasižiūrėti oficialiame tinklalapyje PHP Deprecated features in PHP 5.3.x
Sekančios direktyvos php.ini bus pažymėtos kaip NENAUDOJAMOS (DEPRECATED) PHP 5.3 versijoje ir pašalinta PHP 6.0.0 versijoje:
register_globals - dabar visada OFF
register_long_arrays - $HTTP_*_VARS naikinama
safe_mode - saugus režimas. Pagal nutylėjimą OFF
magic_quotes_gpc
magic_quotes_runtime
magic_quotes_sybase - bus panaikintos.
Dabar php.ini faile nebebus galima naudoti komentarų prasidedančių # (grotelėmis)
Taip pat naikinamos funkcijos:
call_user_method() (naudokite call_user_func())
call_user_method_array() (naudokite call_user_func_array())
define_syslog_variables()
dl()
ereg() (naudokite preg_match())
ereg_replace() (naudokite preg_replace())
eregi() (naudokite preg_match() su modifikatoriumi 'i')
eregi_replace() (naudokite preg_replace() su modifikatoriumi 'i')
set_magic_quotes_runtime() ir jos sinonimas(alias) magic_quotes_runtime()
session_register() (naudokite $_SESSION)
session_unregister() (naudokite $_SESSION)
session_is_registered() (naudokite $_SESSION)
set_socket_blocking() (naudokite stream_set_blocking())
split() (naudokite preg_split())
spliti() (naudokite preg_split() su modifikatoriumi 'i')
sql_regcase()
mysql_db_query() (naudokite mysql_select_db() l0; mysql_query())
mysql_escape_string() (naudokite mysql_real_escape_string())
parašė tabux: Straipsnis parašytas pagal Pereiti
Rašyti komentarą
Turite prisijungti, norėdami parašyti komentarą.