Both sides previous revisionPrevious revisionNext revision | Previous revision |
rfc:remove_deprecated_functionality_in_php7 [2015/01/02 15:51] – start voting nikic | rfc:remove_deprecated_functionality_in_php7 [2017/09/22 13:28] (current) – external edit 127.0.0.1 |
---|
* Date: 2014-09-11 | * Date: 2014-09-11 |
* Author: Nikita Popov <nikic@php.net> | * Author: Nikita Popov <nikic@php.net> |
* Status: In Voting | * Status: Implemented (PHP 7.0) |
* Targeting: PHP 7 | * Targeting: PHP 7 |
* Discussion: http://markmail.org/message/vcladdh5sciqjpvg | * Discussion: http://markmail.org/message/vcladdh5sciqjpvg |
The following extensions are deprecated: | The following extensions are deprecated: |
| |
* ext/ereg (since PHP 5.3; use ext/pcre instead) | * ext/ereg (since PHP 5.3; use ext/pcre instead) [[https://github.com/php/php-src/commit/fea9a6fc7702c53df5e9f4c16857dc921d8b5997|REMOVED]] ([[http://pecl.php.net/package/ereg|PECL extension]]) |
* ext/mysql (since PHP 5.5; use ext/mysqli or ext/pdo_mysql instead) [TODO] | * ext/mysql (since PHP 5.5; use ext/mysqli or ext/pdo_mysql instead) [[https://github.com/php/php-src/commit/fd1578c196575c7e120a84ee030bb87c14a199b0|REMOVED]] ([[http://pecl.php.net/package/mysql|PECL extension]]) |
| |
The following language features are deprecated: | The following language features are deprecated: |
| |
* Assignment of ''new'' by reference (since PHP 5.3; use normal assignment instead) | * Assignment of ''new'' by reference (since PHP 5.3; use normal assignment instead) [[https://github.com/php/php-src/commit/4d3e4d3bf994739681613f9061d056e10f731b65|REMOVED]] |
* Scoped calls of non-static methods from incompatible ''$this'' context (since PHP 5.6) | * Scoped calls of non-static methods from incompatible ''$this'' context (since PHP 5.6) [[https://github.com/php/php-src/commit/085774997b591c2babbb623fe7102ce2c77bc9fb|REMOVED]] |
| |
The following functions are deprecated: | The following functions are deprecated: |
| |
* ''dl'' on fpm-fcgi (since PHP 5.3) | * ''dl'' on fpm-fcgi (since PHP 5.3) [[https://github.com/php/php-src/commit/e05993dfa20e934ba99ccd5b2b944a7759126f58|REMOVED]] |
* ''set_magic_quotes_runtime'' and ''magic_quotes_runtime'' (since PHP 5.4) | * ''set_magic_quotes_runtime'' and ''magic_quotes_runtime'' (since PHP 5.4) [[https://github.com/php/php-src/commit/a60efc5e11b65083ef4cc8a132df620e1642dd76|REMOVED]] |
* ''set_socket_blocking'' (since PHP 5.4; use ''stream_set_blocking'' instead) | * ''set_socket_blocking'' (since PHP 5.4; use ''stream_set_blocking'' instead) [[https://github.com/php/php-src/commit/ca11bc0325496bef94d4417f300e323040fb11db|REMOVED]] |
* ''mcrypt_generic_end'' (since PHP 5.4; use ''mcrypt_generic_deinit'' instead) | * ''mcrypt_generic_end'' (since PHP 5.4; use ''mcrypt_generic_deinit'' instead) [[https://github.com/php/php-src/commit/c488a4570197240af8e05eaab95c0b308c2246d8|REMOVED]] |
* ''mcrypt_ecb'', ''mcrypt_cbc'', ''mcrypt_cfb'' and ''mcrypt_ofb'' (since PHP 5.5, but documented as deprecated earlier; use ''mcrypt_encrypt'' and ''mcrypt_decrypt'' instead) | * ''mcrypt_ecb'', ''mcrypt_cbc'', ''mcrypt_cfb'' and ''mcrypt_ofb'' (since PHP 5.5, but documented as deprecated earlier; use ''mcrypt_encrypt'' and ''mcrypt_decrypt'' instead) [[https://github.com/php/php-src/commit/7810659cc372b17d48a7f0a799cc1509471916a1|REMOVED]] |
* ''datefmt_set_timezone_id'' and ''IntlDateFormatter::setTimeZoneID'' (since PHP 5.5; use ''datefmt_set_timezone'' or ''IntlDateFormatter::setTimeZone'' instead) [TODO] | * ''datefmt_set_timezone_id'' and ''IntlDateFormatter::setTimeZoneID'' (since PHP 5.5; use ''datefmt_set_timezone'' or ''IntlDateFormatter::setTimeZone'' instead) [[https://github.com/php/php-src/commit/cf0ffa8e4c0bb92bfae60963a6e4c0dea00bd003|REMOVED]] |
| |
The following ini options are deprecated: | The following ini options are deprecated: |
| |
* ''xsl.security_prefs'' (since PHP 5.4; use ''XsltProcessor::setSecurityPrefs'' instead) | * ''xsl.security_prefs'' (since PHP 5.4; use ''XsltProcessor::setSecurityPrefs'' instead) [[https://github.com/php/php-src/commit/a81e65a5018a04379914c605f7a9c69ac8941600|REMOVED]] |
* ''iconv.input_encoding'', ''iconv.output_encoding'', ''iconv.internal_encoding'', ''mbstring.http_input'', ''mbstring.http_output'' and ''mbstring.internal_encoding'' (since PHP 5.6; use ''php.input_encoding'', ''php.internal_encoding'' and ''php.output_encoding'' instead) [TODO] | * ''iconv.input_encoding'', ''iconv.output_encoding'', ''iconv.internal_encoding'', ''mbstring.http_input'', ''mbstring.http_output'' and ''mbstring.internal_encoding'' (since PHP 5.6; use ''php.input_encoding'', ''php.internal_encoding'' and ''php.output_encoding'' instead) [TODO] |
| |
The following miscellaneous functionality is deprecated: | The following miscellaneous functionality is deprecated: |
| |
* The ''$is_dst'' parameter of the ''mktime()'' and ''gmmktime()'' functions (since PHP 5.1) | * The ''$is_dst'' parameter of the ''mktime()'' and ''gmmktime()'' functions (since PHP 5.1) [[https://github.com/php/php-src/commit/9c5eaac18b65038cc377c7335b32889b892cf1fc|REMOVED]] |
* ''#'' style comments in ini files (since PHP 5.3; use '';'' style comments instead) | * ''#'' style comments in ini files (since PHP 5.3; use '';'' style comments instead) [[https://github.com/php/php-src/commit/83391b5518619cce7d2a1baf5a4434b1690a33d1|REMOVED]] |
* String category names in ''setlocale()'' (since PHP 5.3; use ''LC_*'' constants instead) | * String category names in ''setlocale()'' (since PHP 5.3; use ''LC_*'' constants instead) [[https://github.com/php/php-src/commit/4c115b6b71e31a289d84f72f8664943497b9ee31|REMOVED]] |
* Unsafe curl file uploads (since PHP 5.5; use ''CurlFile'' instead) | * Unsafe curl file uploads (since PHP 5.5; use ''CurlFile'' instead) [[https://github.com/php/php-src/commit/b5184ef33606c808b66c4b2738c80376c95de65b|REMOVED]] |
* ''preg_replace()'' eval modifier (since PHP 5.5; use ''preg_replace_callback'' instead) | * ''preg_replace()'' eval modifier (since PHP 5.5; use ''preg_replace_callback'' instead) [[https://github.com/php/php-src/commit/cb9c99ebd075d1d4fae0cbf5df54ca14c4071584|REMOVED]] |
* ''PDO::PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT'' driver option (since PHP 5.6; use ''PDO::ATTR_EMULATE_PREPARES'' instead) [TODO] | * ''PDO::PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT'' driver option (since PHP 5.6; use ''PDO::ATTR_EMULATE_PREPARES'' instead) [[https://github.com/php/php-src/commit/4694e1c02039114915704f0206f1ffb7a0efe4ad|REMOVED]] |
* ''CN_match'' and ''SNI_server_name'' stream context option (since PHP 5.6; use ''peer_name'' instead) [TODO] | * ''CN_match'' and ''SNI_server_name'' stream context option (since PHP 5.6; use ''peer_name'' instead) [[https://github.com/php/php-src/commit/2a87a42cd431ea8008ce24db6e57948052ff805d|REMOVED]] |
| |
===== Patches and Tests ===== | ===== Patches and Tests ===== |
===== Votes ===== | ===== Votes ===== |
| |
Voting started on 2015-01-02 and ends on 2015-01-16. All votes refer to PHP 7. | Voting started on 2015-01-02 and ended on 2015-01-16. All votes refer to PHP 7. |
| |
| All removals have been accepted. |
| |
==== ext/ereg ==== | ==== ext/ereg ==== |
Vote: Requires simple majority. | Vote: Requires simple majority. |
| |
<doodle title="Unbundle the ext/ereg extension?" auth="nikic" voteType="single" closed="false"> | <doodle title="Unbundle the ext/ereg extension?" auth="nikic" voteType="single" closed="true"> |
* Yes | * Yes |
* No | * No |
Vote: Requires simple majority. | Vote: Requires simple majority. |
| |
<doodle title="Unbundle the ext/mysql extension?" auth="nikic" voteType="single" closed="false"> | <doodle title="Unbundle the ext/mysql extension?" auth="nikic" voteType="single" closed="true"> |
* Yes | * Yes |
* No | * No |
Vote: Requires 2/3 majority. | Vote: Requires 2/3 majority. |
| |
<doodle title="Remove assignment of new by reference?" auth="nikic" voteType="single" closed="false"> | <doodle title="Remove assignment of new by reference?" auth="nikic" voteType="single" closed="true"> |
* Yes | * Yes |
* No | * No |
Vote: Requires 2/3 majority. | Vote: Requires 2/3 majority. |
| |
<doodle title="Remove support for calls from incompatible context?" auth="nikic" voteType="single" closed="false"> | <doodle title="Remove support for calls from incompatible context?" auth="nikic" voteType="single" closed="true"> |
* Yes | * Yes |
* No | * No |
Vote: Requires simple majority. | Vote: Requires simple majority. |
| |
<doodle title="Remove dl() in fpm-fcgi SAPI?" auth="nikic" voteType="single" closed="false"> | <doodle title="Remove dl() in fpm-fcgi SAPI?" auth="nikic" voteType="single" closed="true"> |
* Yes | * Yes |
* No | * No |
Vote: Requires simple majority. | Vote: Requires simple majority. |
| |
<doodle title="Remove (set_)magic_quotes_runtime() functions?" auth="nikic" voteType="single" closed="false"> | <doodle title="Remove (set_)magic_quotes_runtime() functions?" auth="nikic" voteType="single" closed="true"> |
* Yes | * Yes |
* No | * No |
Vote: Requires simple majority. | Vote: Requires simple majority. |
| |
<doodle title="Remove listed deprecated functions?" auth="nikic" voteType="single" closed="false"> | <doodle title="Remove listed deprecated functions?" auth="nikic" voteType="single" closed="true"> |
* Yes | * Yes |
* No | * No |
Vote: Requires simple majority. | Vote: Requires simple majority. |
| |
<doodle title="Remove xsl.security_prefs ini directive?" auth="nikic" voteType="single" closed="false"> | <doodle title="Remove xsl.security_prefs ini directive?" auth="nikic" voteType="single" closed="true"> |
* Yes | * Yes |
* No | * No |
Vote: Requires simple majority. | Vote: Requires simple majority. |
| |
<doodle title="Remove extension specific encoding ini directives?" auth="nikic" voteType="single" closed="false"> | <doodle title="Remove extension specific encoding ini directives?" auth="nikic" voteType="single" closed="true"> |
* Yes | * Yes |
* No | * No |
| |
Vote: Requires simple majority. | Vote: Requires simple majority. |
| |
| <doodle title="Remove $is_dst parameter of the mktime() and gmmktime() functions?" auth="nikic" voteType="single" closed="true"> |
| * Yes |
| * No |
| </doodle> |
| |
==== #-style comments in ini files ==== | ==== #-style comments in ini files ==== |
Vote: Requires simple majority. | Vote: Requires simple majority. |
| |
<doodle title="Remove support for #-style comments in ini files?" auth="nikic" voteType="single" closed="false"> | <doodle title="Remove support for #-style comments in ini files?" auth="nikic" voteType="single" closed="true"> |
* Yes | * Yes |
* No | * No |
Vote: Requires simple majority. | Vote: Requires simple majority. |
| |
<doodle title="Disallow string category names in setlocale()?" auth="nikic" voteType="single" closed="false"> | <doodle title="Disallow string category names in setlocale()?" auth="nikic" voteType="single" closed="true"> |
* Yes | * Yes |
* No | * No |
Vote: Requires simple majority. | Vote: Requires simple majority. |
| |
<doodle title="Disallow enabling unsafe curl uploads?" auth="nikic" voteType="single" closed="false"> | <doodle title="Disallow enabling unsafe curl uploads?" auth="nikic" voteType="single" closed="true"> |
* Yes | * Yes |
* No | * No |
Vote: Requires simple majority. | Vote: Requires simple majority. |
| |
<doodle title="Remove preg_replace() eval modifier?" auth="nikic" voteType="single" closed="false"> | <doodle title="Remove preg_replace() eval modifier?" auth="nikic" voteType="single" closed="true"> |
* Yes | * Yes |
* No | * No |
Vote: Requires simple majority. | Vote: Requires simple majority. |
| |
<doodle title="Remove PDO::PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT driver option?" auth="nikic" voteType="single" closed="false"> | <doodle title="Remove PDO::PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT driver option?" auth="nikic" voteType="single" closed="true"> |
* Yes | * Yes |
* No | * No |
Vote: Requires simple majority. | Vote: Requires simple majority. |
| |
<doodle title="Remove CN_match and SNI_server_name stream context options?" auth="nikic" voteType="single" closed="false"> | <doodle title="Remove CN_match and SNI_server_name stream context options?" auth="nikic" voteType="single" closed="true"> |
* Yes | * Yes |
* No | * No |
</doodle> | </doodle> |