Попытка вывода результатов (например, с помощью функции echo) в рамках обработчика вывода пользователя объявлена устаревшей. Предупреждение об устаревании будет игнорировать обработчик, производящий вывод, чтобы обеспечить его видимость; если есть вложенные обработчики вывода, следующий из них всё равно будет использоваться.
Неканонические имена типов (boolean),
(integer), (double),
и (binary) объявлены устаревшими,
используйте вместо них (bool), (int),
(float) и (string) соответственно.
Завершение операторов case точкой с запятой вместо двоеточия больше не поддерживается.
Обратный машинописный апостроф как псевдоним функции shell_exec() больше не поддерживается.
Возвращение null функцией
__debugInfo()
больше не поддерживается. Вместо этого возвращается пустой массив.
INI-настройка report_memleaks объявлена устаревшей.
Повторное объявление констант объявлено устаревшим. Обратите внимание, что это уже вызвало предупреждение и будет вызывать его и в дальнейшем.
Следующие проблемы с привязкой замыкания,
которые уже выдают ошибку уровня E_WARNING,
теперь считаются устаревшими:
Магические методы __sleep() и __wakeup() были мягко объявлены устаревшими. Вместо них следует использовать магические методы __serialize() и __unserialize(), либо использовать их одновременно, если требуется совместимость с PHP 7.
Использование null в качестве смещения массива или при вызове array_key_exists()
объявлено устаревшим. Вместо этого следует использовать пустую строку.
Увеличение нечисловых строк объявлено устаревшим. Вместо этого следует использовать функцию str_increment().
Извлечение $_SERVER['argc'] и $_SERVER['argv']
из строки запроса для не-CLI SAPIs больше не поддерживается.
Настройте register_argc_argv=0 и переключитесь
на $_GET или $_SERVER['QUERY_STRING']
для доступа к информации после проверки безопасности использования.
Функция curl_close() устарела, поскольку объекты CurlHandle освобождаются автоматически.
Функция curl_share_close() устарела, поскольку объекты CurlShareHandle освобождаются автоматически.
Константы DATE_RFC7231 и
DateTimeInterface::RFC7231 устарели.
Это связано с тем, что связанный с ними часовой пояс игнорируется и всегда используется GMT.
Функция finfo_close() устарела, поскольку объекты finfo освобождаются автоматически.
Параметр $context функции finfo_buffer() устарел,
так как игнорируется.
Функция imagedestroy() устарела, поскольку объекты GdImage освобождаются автоматически.
Константы MHASH_* устарели.
INI-настройка intl.error_level устарела. Ошибки следует проверять вручную или включить исключения с помощью INI-настройки intl.use_exceptions.
Определённые вызовы и константы Oracle Instant Client устарели. Список затронутых вызовов:
GSLC_SSL_NO_UATHGSLC_SSL_ONEWAY_UATHGSLC_SSL_TWOWAY_UATHФункция-псевдоним mysqli_execute() устарела. Вместо неё используйте функцию mysqli_stmt_execute().
Параметр $key_length функции openssl_pkey_derive() устарел.
Это связано с тем, что он либо игнорируется, либо обрезает ключ,
что может представлять угрозу безопасности.
Схема DSN "uri:" объявлена устаревшей из-за проблем безопасности,
связанных с DSN, поступающими из удалённых URI.
Константы, специфичные для драйвера, в классе PDO объявлены устаревшими. Список затронутых констант и их замены:
PDO::DBLIB_ATTR_CONNECTION_TIMEOUT => Pdo\Dblib::ATTR_CONNECTION_TIMEOUTPDO::DBLIB_ATTR_QUERY_TIMEOUT => Pdo\Dblib::ATTR_QUERY_TIMEOUTPDO::DBLIB_ATTR_STRINGIFY_UNIQUEIDENTIFIER => Pdo\Dblib::ATTR_STRINGIFY_UNIQUEIDENTIFIERPDO::DBLIB_ATTR_VERSION => Pdo\Dblib::ATTR_VERSIONPDO::DBLIB_ATTR_TDS_VERSION => Pdo\Dblib::ATTR_TDS_VERSIONPDO::DBLIB_ATTR_SKIP_EMPTY_ROWSETS => Pdo\Dblib::ATTR_SKIP_EMPTY_ROWSETSPDO::DBLIB_ATTR_DATETIME_CONVERT => Pdo\Dblib::ATTR_DATETIME_CONVERTPDO::FB_ATTR_DATE_FORMAT => Pdo\Firebird::ATTR_DATE_FORMATPDO::FB_ATTR_TIME_FORMAT => Pdo\Firebird::ATTR_TIME_FORMATPDO::FB_ATTR_TIMESTAMP_FORMAT => Pdo\Firebird::ATTR_TIMESTAMP_FORMATPDO::MYSQL_ATTR_USE_BUFFERED_QUERY => Pdo\Mysql::ATTR_USE_BUFFERED_QUERYPDO::MYSQL_ATTR_LOCAL_INFILE => Pdo\Mysql::ATTR_LOCAL_INFILEPDO::MYSQL_ATTR_LOCAL_INFILE_DIRECTORY => Pdo\Mysql::ATTR_LOCAL_INFILE_DIRECTORYPDO::MYSQL_ATTR_INIT_COMMAND => Pdo\Mysql::ATTR_INIT_COMMANDPDO::MYSQL_ATTR_MAX_BUFFER_SIZE => Pdo\Mysql::ATTR_MAX_BUFFER_SIZEPDO::MYSQL_ATTR_READ_DEFAULT_FILE => Pdo\Mysql::ATTR_READ_DEFAULT_FILEPDO::MYSQL_ATTR_READ_DEFAULT_GROUP => Pdo\Mysql::ATTR_READ_DEFAULT_GROUPPDO::MYSQL_ATTR_COMPRESS => Pdo\Mysql::ATTR_COMPRESSPDO::MYSQL_ATTR_DIRECT_QUERY => Pdo\Mysql::ATTR_DIRECT_QUERYPDO::MYSQL_ATTR_FOUND_ROWS => Pdo\Mysql::ATTR_FOUND_ROWSPDO::MYSQL_ATTR_IGNORE_SPACE => Pdo\Mysql::ATTR_IGNORE_SPACEPDO::MYSQL_ATTR_SSL_KEY => Pdo\Mysql::ATTR_SSL_KEYPDO::MYSQL_ATTR_SSL_CERT => Pdo\Mysql::ATTR_SSL_CERTPDO::MYSQL_ATTR_SSL_CA => Pdo\Mysql::ATTR_SSL_CAPDO::MYSQL_ATTR_SSL_CAPATH => Pdo\Mysql::ATTR_SSL_CAPATHPDO::MYSQL_ATTR_SSL_CIPHER => Pdo\Mysql::ATTR_SSL_CIPHERPDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT => Pdo\Mysql::ATTR_SSL_VERIFY_SERVER_CERTPDO::MYSQL_ATTR_SERVER_PUBLIC_KEY => Pdo\Mysql::ATTR_SERVER_PUBLIC_KEYPDO::MYSQL_ATTR_MULTI_STATEMENTS => Pdo\Mysql::ATTR_MULTI_STATEMENTSPDO::ODBC_ATTR_USE_CURSOR_LIBRARY => Pdo\Odbc::ATTR_USE_CURSOR_LIBRARYPDO::ODBC_ATTR_ASSUME_UTF8 => Pdo\Odbc::ATTR_ASSUME_UTF8PDO::ODBC_SQL_USE_IF_NEEDED => Pdo\Odbc::SQL_USE_IF_NEEDEDPDO::ODBC_SQL_USE_DRIVER => Pdo\Odbc::SQL_USE_DRIVERPDO::ODBC_SQL_USE_ODBC => Pdo\Odbc::SQL_USE_ODBCPDO::PGSQL_ATTR_DISABLE_PREPARES => Pdo\Pgsql::ATTR_DISABLE_PREPARESPDO::SQLITE_ATTR_EXTENDED_RESULT_CODES => Pdo\Sqlite::ATTR_EXTENDED_RESULT_CODESPDO::SQLITE_ATTR_OPEN_FLAGS => Pdo\Sqlite::OPEN_FLAGSPDO::SQLITE_ATTR_READONLY_STATEMENT => Pdo\Sqlite::ATTR_READONLY_STATEMENTPDO::SQLITE_DETERMINISTIC => Pdo\Sqlite::DETERMINISTICPDO::SQLITE_OPEN_READONLY => Pdo\Sqlite::OPEN_READONLYPDO::SQLITE_OPEN_READWRITE => Pdo\Sqlite::OPEN_READWRITEPDO::SQLITE_OPEN_CREATE => Pdo\Sqlite::OPEN_CREATEМетоды, специфичные для драйвера, в классе PDO объявлены устаревшими. Список затронутых методов и их замены:
Константы, связанные с состояниями транзакций, объявлены устаревшими, поскольку функция недоступна в PDO:
PDO::PGSQL_TRANSACTION_IDLEPDO::PGSQL_TRANSACTION_ACTIVEPDO::PGSQL_TRANSACTION_INTRANSPDO::PGSQL_TRANSACTION_INERRORPDO::PGSQL_TRANSACTION_UNKNOWN
Методы setAccessible() различных объектов Reflection устарели,
поскольку они больше не имеют значения.
Вызов метода ReflectionClass::getConstant() для констант, которые не существуют, больше не поддерживается.
Вызов метода ReflectionProperty::getDefaultValue() для свойств без значений по умолчанию больше не поддерживается.
Отмена регистрации всех автозагрузчиков путём передачи функции spl_autoload_call() в качестве callback-аргумента функции spl_autoload_unregister() больше не поддерживается. Вместо этого, если это необходимо, следует пройтись по возвращаемому значению функции spl_autoload_functions() и вызвать функцию spl_autoload_unregister() для каждого значения.
Методы SplObjectStorage::contains(), SplObjectStorage::attach() и SplObjectStorage::detach() были признаны устаревшими и заменены на SplObjectStorage::offsetExists(), SplObjectStorage::offsetSet() и SplObjectStorage::offsetUnset() соответственно.
Использование классов ArrayObject и ArrayIterator с объектами больше не поддерживается.
Функция-псевдоним socket_set_timeout() больше не поддерживается. Вместо неё используйте функцию stream_set_timeout().
Передача null функциям readdir(), rewinddir()
и closedir() для использования последнего открытого каталога
больше не поддерживается.
Вместо этого явно укажите последний открытый каталог.
Передача целых чисел за пределами интервала [0, 255]
функции chr() теперь не рекомендуется.
Это связано с тем, что байт может содержать только значение в пределах этого интервала.
Передача строки, которая не является однобайтовой функции ord() устарела, это указывает на наличие ошибки.
Локально предопределенная переменная $http_response_header устарела. Вместо этого следует вызывать функцию http_get_last_response_headers().
Функция xml_parser_free() устарела, поскольку объекты XMLParser освобождаются автоматически.