跳转到主要内容

Deprecated Features

PHP Core

Case-Insensitive Constants

The declaration of case-insensitive constants has been deprecated. Passing ENTITY as the third argument to define will now generate a deprecation warning. The use of case-insensitive constants with a case that differs from the declaration is also deprecated.

Namespaced assert()

Declaring a function called assert() inside a namespace is deprecated. The assert function is subject to special handling by the engine, which may lead to inconsistent behavior when defining a namespaced function with the same name.

Searching Strings for non-string Needle

Passing a non-string needle to string search functions is deprecated. In the future the needle will be interpreted as a string instead of an ASCII codepoint. Depending on the intended behavior, you should either explicitly cast the needle to string or perform an explicit call to chr. The following functions are affected:

  • strpos

  • strrpos

  • stripos

  • strripos

  • strstr

  • strchr

  • strrchr

  • stristr

Strip-Tags Streaming

The fgetss function and the string.strip_tags stream filter have been deprecated. This also affects the SplFileObject::fgetss method and gzgetss function.

Data Filtering

The explicit usage of the constants FILTER_FLAG_SCHEME_REQUIRED and FILTER_FLAG_HOST_REQUIRED is now deprecated; both are implied for FILTER_VALIDATE_URL anyway.

Image Processing and GD

image2wbmp has been deprecated.

Internationalization Functions

Usage of the Normalizer::NONE form throws a deprecation warning, if PHP is linked with ICU ≥ 56.

Multibyte String

The following undocumented mbereg_*() aliases have been deprecated. Use the corresponding mb_ereg_*() variants instead.

  • mbregex_encoding

  • mbereg

  • mberegi

  • mbereg_replace

  • mberegi_replace

  • mbsplit

  • mbereg_match

  • mbereg_search

  • mbereg_search_pos

  • mbereg_search_regs

  • mbereg_search_init

  • mbereg_search_getregs

  • mbereg_search_getpos

  • mbereg_search_setpos

ODBC and DB2 Functions (PDO_ODBC)

The pdo_odbc.db2_instance_name ini setting has been formally deprecated. It is deprecated in the documentation as of PHP 5.1.1.