Remove deprecated functionality in PHP 7 View as Markdown

Implemented (PHP 7.0)
Authors
Nikita Popov nikic@php.net
Date
2014-09-11
Source
wiki.php.net/rfc/remove_deprecated_functionality_in_php7

Votes

Unbundle the ext/ereg extension? closed
Yes
37
No
3
40 voters
aharvey Yes 2015-01-02 18:29
ajf Yes 2015-01-02 15:58
brandon Yes 2015-01-15 02:52
bwoebi Yes 2015-01-02 19:06
dm Yes 2015-01-15 13:38
dmitry No 2015-01-08 16:07
dsp Yes 2015-01-15 17:07
fa Yes 2015-01-02 23:13
francois Yes 2015-01-15 02:44
galvao Yes 2015-01-15 14:15
guilhermeblanco Yes 2015-01-08 22:43
gwynne Yes 2015-01-02 17:55
irker Yes 2015-01-02 16:08
jedibc Yes 2015-01-05 07:26
jpauli Yes 2015-01-07 09:29
kalle Yes 2015-01-02 16:54
kinncj Yes 2015-01-13 14:57
krakjoe Yes 2015-01-04 09:04
kriscraig Yes 2015-01-14 17:27
laruence Yes 2015-01-03 02:41
leigh Yes 2015-01-02 21:30
levim Yes 2015-01-02 23:03
lstrojny Yes 2015-01-14 17:04
mbeccati Yes 2015-01-03 10:02
mike No 2015-01-09 06:30
nikic Yes 2015-01-02 16:04
peehaa Yes 2015-01-02 16:08
philstu Yes 2015-01-04 23:42
pollita Yes 2015-01-03 21:27
rasmus Yes 2015-01-03 05:16
rdohms Yes 2015-01-14 11:21
remi No 2015-01-14 15:42
salathe Yes 2015-01-02 16:48
sebastian Yes 2015-01-03 16:19
stas Yes 2015-01-03 00:39
stelianm Yes 2015-01-14 21:44
thekid Yes 2015-01-08 21:56
till Yes 2015-01-03 16:23
tyrael Yes 2015-01-03 12:49
yunosh Yes 2015-01-05 11:37
Unbundle the ext/mysql extension? closed
Yes
28
No
12
40 voters
ab No 2015-01-09 09:20
aharvey Yes 2015-01-02 18:29
ajf No 2015-01-02 15:59
bwoebi Yes 2015-01-02 19:06
dm Yes 2015-01-15 13:38
dmitry No 2015-01-08 16:08
dsp No 2015-01-15 17:07
fredemmott No 2015-01-07 21:06
galvao Yes 2015-01-15 14:16
guilhermeblanco Yes 2015-01-08 22:43
gwynne Yes 2015-01-02 17:56
irker Yes 2015-01-08 12:06
jedibc Yes 2015-01-05 07:26
jpauli Yes 2015-01-07 09:30
kalle Yes 2015-01-02 16:54
kinncj Yes 2015-01-13 14:58
krakjoe Yes 2015-01-04 09:04
kriscraig Yes 2015-01-14 17:27
laruence No 2015-01-03 02:41
leigh Yes 2015-01-02 21:30
levim Yes 2015-01-02 23:03
lstrojny Yes 2015-01-14 17:04
mbeccati No 2015-01-03 09:55
mike Yes 2015-01-09 06:31
nikic Yes 2015-01-02 16:09
peehaa Yes 2015-01-02 16:08
philstu Yes 2015-01-04 23:43
pollita No 2015-01-03 21:27
rasmus No 2015-01-03 05:17
rdohms Yes 2015-01-14 11:21
remi No 2015-01-14 15:43
salathe No 2015-01-06 07:45
sebastian Yes 2015-01-03 16:19
stas Yes 2015-01-03 00:40
stelianm Yes 2015-01-14 21:45
thekid Yes 2015-01-08 21:56
till Yes 2015-01-03 16:23
tyrael Yes 2015-01-03 12:49
yunosh Yes 2015-01-05 11:38
zeev No 2015-01-03 21:31
Remove assignment of new by reference? closed
Yes
31
No
6
37 voters
aharvey Yes 2015-01-02 18:29
ajf Yes 2015-01-02 15:59
bwoebi Yes 2015-01-02 19:08
dm Yes 2015-01-15 13:38
fa Yes 2015-01-02 23:14
francois Yes 2015-01-15 02:44
galvao Yes 2015-01-15 14:16
guilhermeblanco Yes 2015-01-08 22:44
gwynne Yes 2015-01-02 17:56
irker Yes 2015-01-02 16:10
jedibc Yes 2015-01-05 07:26
jpauli Yes 2015-01-07 09:30
kalle Yes 2015-01-02 16:54
krakjoe Yes 2015-01-04 09:04
kriscraig Yes 2015-01-14 17:28
laruence No 2015-01-03 02:42
leigh Yes 2015-01-02 21:30
levim Yes 2015-01-02 23:04
lstrojny Yes 2015-01-14 17:05
mbeccati Yes 2015-01-03 10:02
mike No 2015-01-09 06:33
nikic Yes 2015-01-02 16:04
peehaa Yes 2015-01-02 16:08
philstu Yes 2015-01-04 23:42
pollita No 2015-01-03 21:29
rasmus No 2015-01-03 05:17
rdohms Yes 2015-01-14 11:22
salathe Yes 2015-01-02 16:53
sebastian Yes 2015-01-03 16:19
seld Yes 2015-01-04 16:32
stas No 2015-01-03 00:41
stelianm Yes 2015-01-14 21:45
thekid Yes 2015-01-08 21:56
till Yes 2015-01-03 16:23
tyrael Yes 2015-01-03 12:50
yunosh Yes 2015-01-05 11:39
zeev No 2015-01-03 21:30
Remove support for calls from incompatible context? closed
Yes
34
No
0
34 voters
aharvey Yes 2015-01-02 18:29
ajf Yes 2015-01-02 15:59
dmitry Yes 2015-01-08 16:14
dsp Yes 2015-01-15 17:07
fredemmott Yes 2015-01-07 21:07
galvao Yes 2015-01-15 14:17
guilhermeblanco Yes 2015-01-08 22:44
gwynne Yes 2015-01-02 17:56
irker Yes 2015-01-02 16:11
jedibc Yes 2015-01-05 07:27
jpauli Yes 2015-01-07 09:31
kalle Yes 2015-01-02 16:55
krakjoe Yes 2015-01-04 09:04
kriscraig Yes 2015-01-14 17:28
laruence Yes 2015-01-03 02:42
leigh Yes 2015-01-02 21:31
levim Yes 2015-01-02 23:09
lstrojny Yes 2015-01-14 17:05
mbeccati Yes 2015-01-03 10:03
mike Yes 2015-01-09 06:32
nikic Yes 2015-01-02 16:05
peehaa Yes 2015-01-02 16:09
philstu Yes 2015-01-04 23:43
pollita Yes 2015-01-03 21:30
rasmus Yes 2015-01-03 05:17
rdohms Yes 2015-01-14 11:22
salathe Yes 2015-01-02 16:55
sebastian Yes 2015-01-03 16:19
stas Yes 2015-01-03 00:42
stelianm Yes 2015-01-14 21:46
thekid Yes 2015-01-08 21:57
till Yes 2015-01-03 16:23
tyrael Yes 2015-01-03 12:50
zeev Yes 2015-01-03 21:30
Remove dl() in fpm-fcgi SAPI? closed
Yes
32
No
0
32 voters
aharvey Yes 2015-01-02 18:29
ajf Yes 2015-01-02 15:59
bwoebi Yes 2015-01-02 19:09
dmitry Yes 2015-01-08 16:09
dsp Yes 2015-01-15 17:08
fa Yes 2015-01-02 23:14
galvao Yes 2015-01-15 14:17
guilhermeblanco Yes 2015-01-08 22:44
gwynne Yes 2015-01-02 17:56
irker Yes 2015-01-08 12:06
jedibc Yes 2015-01-05 07:27
jpauli Yes 2015-01-07 09:32
kalle Yes 2015-01-02 16:55
krakjoe Yes 2015-01-04 09:05
kriscraig Yes 2015-01-14 17:28
laruence Yes 2015-01-03 02:43
leigh Yes 2015-01-02 21:31
lstrojny Yes 2015-01-14 17:05
mbeccati Yes 2015-01-03 09:56
mike Yes 2015-01-09 06:33
nikic Yes 2015-01-02 16:05
peehaa Yes 2015-01-02 16:09
pollita Yes 2015-01-03 21:30
rasmus Yes 2015-01-03 05:17
rdohms Yes 2015-01-14 11:22
salathe Yes 2015-01-02 16:55
sebastian Yes 2015-01-03 16:19
stas Yes 2015-01-03 00:40
stelianm Yes 2015-01-14 21:47
till Yes 2015-01-03 16:24
tyrael Yes 2015-01-03 12:51
yunosh Yes 2015-01-05 11:39
Remove (set_)magic_quotes_runtime() functions? closed
Yes
36
No
0
36 voters
aharvey Yes 2015-01-02 18:30
ajf Yes 2015-01-02 15:59
bwoebi Yes 2015-01-02 19:10
dsp Yes 2015-01-15 17:08
fa Yes 2015-01-02 23:15
francois Yes 2015-01-15 02:45
fredemmott Yes 2015-01-07 21:07
galvao Yes 2015-01-15 14:18
guilhermeblanco Yes 2015-01-08 22:47
gwynne Yes 2015-01-02 17:56
irker Yes 2015-01-02 16:12
jedibc Yes 2015-01-05 07:27
jpauli Yes 2015-01-07 09:32
kalle Yes 2015-01-02 16:56
krakjoe Yes 2015-01-04 09:05
kriscraig Yes 2015-01-14 17:29
laruence Yes 2015-01-03 02:43
leigh Yes 2015-01-02 21:31
levim Yes 2015-01-02 23:05
lstrojny Yes 2015-01-14 17:05
mbeccati Yes 2015-01-03 10:05
mike Yes 2015-01-09 06:33
nikic Yes 2015-01-02 16:05
peehaa Yes 2015-01-02 16:09
philstu Yes 2015-01-04 23:43
pollita Yes 2015-01-03 21:30
rasmus Yes 2015-01-03 05:18
rdohms Yes 2015-01-14 11:23
salathe Yes 2015-01-02 16:56
sebastian Yes 2015-01-03 16:19
stas Yes 2015-01-03 00:43
stelianm Yes 2015-01-14 21:47
thekid Yes 2015-01-08 21:58
till Yes 2015-01-03 16:24
tyrael Yes 2015-01-03 12:51
yunosh Yes 2015-01-05 11:39
Remove listed deprecated functions? closed
Yes
31
No
0
31 voters
aharvey Yes 2015-01-02 18:30
ajf Yes 2015-01-02 16:07
bwoebi Yes 2015-01-02 19:10
dsp Yes 2015-01-15 17:09
fa Yes 2015-01-02 23:15
galvao Yes 2015-01-15 14:18
guilhermeblanco Yes 2015-01-08 22:48
gwynne Yes 2015-01-02 17:57
irker Yes 2015-01-08 12:07
jedibc Yes 2015-01-05 07:28
jpauli Yes 2015-01-07 09:32
kalle Yes 2015-01-02 16:56
krakjoe Yes 2015-01-04 09:05
kriscraig Yes 2015-01-14 17:29
laruence Yes 2015-01-03 02:43
leigh Yes 2015-01-02 21:32
lstrojny Yes 2015-01-14 17:06
mbeccati Yes 2015-01-03 09:57
mike Yes 2015-01-09 06:34
nikic Yes 2015-01-02 16:05
peehaa Yes 2015-01-02 16:09
philstu Yes 2015-01-04 23:43
pollita Yes 2015-01-03 21:32
rasmus Yes 2015-01-03 05:18
rdohms Yes 2015-01-14 11:23
salathe Yes 2015-01-02 16:58
sobak Yes 2015-01-16 14:34
stelianm Yes 2015-01-14 21:48
till Yes 2015-01-03 16:24
tyrael Yes 2015-01-03 12:52
yunosh Yes 2015-01-05 11:40
Remove xsl.security_prefs ini directive? closed
Yes
28
No
0
28 voters
aharvey Yes 2015-01-02 18:30
ajf Yes 2015-01-02 16:02
bwoebi Yes 2015-01-02 19:10
fa Yes 2015-01-02 23:15
galvao Yes 2015-01-15 14:19
guilhermeblanco Yes 2015-01-08 22:51
gwynne Yes 2015-01-02 17:57
jedibc Yes 2015-01-05 07:28
jpauli Yes 2015-01-07 09:32
kalle Yes 2015-01-02 16:57
krakjoe Yes 2015-01-04 09:05
kriscraig Yes 2015-01-14 17:29
leigh Yes 2015-01-02 21:33
levim Yes 2015-01-02 23:09
lstrojny Yes 2015-01-14 17:06
mbeccati Yes 2015-01-03 09:57
mike Yes 2015-01-09 06:34
nikic Yes 2015-01-02 16:05
peehaa Yes 2015-01-02 16:10
philstu Yes 2015-01-04 23:44
pollita Yes 2015-01-03 21:32
rasmus Yes 2015-01-03 05:19
salathe Yes 2015-01-02 16:58
stas Yes 2015-01-03 00:45
stelianm Yes 2015-01-14 21:48
till Yes 2015-01-03 16:24
tyrael Yes 2015-01-03 12:52
yunosh Yes 2015-01-05 11:40
Remove extension specific encoding ini directives? closed
Yes
26
No
0
26 voters
aharvey Yes 2015-01-02 18:30
ajf Yes 2015-01-02 16:00
bwoebi Yes 2015-01-02 19:11
dmitry Yes 2015-01-08 16:12
galvao Yes 2015-01-15 14:19
guilhermeblanco Yes 2015-01-08 22:51
gwynne Yes 2015-01-02 17:57
jedibc Yes 2015-01-05 07:28
jpauli Yes 2015-01-07 09:32
kalle Yes 2015-01-02 18:15
krakjoe Yes 2015-01-04 09:06
kriscraig Yes 2015-01-14 17:29
leigh Yes 2015-01-02 21:33
lstrojny Yes 2015-01-14 17:06
mbeccati Yes 2015-01-03 09:58
mike Yes 2015-01-09 06:35
peehaa Yes 2015-01-02 16:10
philstu Yes 2015-01-04 23:44
pollita Yes 2015-01-03 21:33
rasmus Yes 2015-01-03 05:19
salathe Yes 2015-01-02 16:59
stas Yes 2015-01-03 00:46
stelianm Yes 2015-01-14 21:48
till Yes 2015-01-03 16:25
tyrael Yes 2015-01-03 12:52
yunosh Yes 2015-01-05 11:41
Remove $is_dst parameter of the mktime() and gmmktime() functions? closed
Yes
28
No
0
28 voters
aharvey Yes 2015-01-02 18:30
ajf Yes 2015-01-02 16:03
galvao Yes 2015-01-15 14:20
guilhermeblanco Yes 2015-01-08 22:50
gwynne Yes 2015-01-02 17:57
irker Yes 2015-01-02 16:13
jedibc Yes 2015-01-05 07:29
jpauli Yes 2015-01-07 09:33
kalle Yes 2015-01-02 18:15
krakjoe Yes 2015-01-04 09:05
kriscraig Yes 2015-01-14 17:30
leigh Yes 2015-01-02 21:36
lstrojny Yes 2015-01-14 17:06
mbeccati Yes 2015-01-03 09:58
mike Yes 2015-01-09 06:35
nikic Yes 2015-01-02 16:06
peehaa Yes 2015-01-02 16:10
philstu Yes 2015-01-04 23:44
pollita Yes 2015-01-03 21:33
rasmus Yes 2015-01-03 05:19
salathe Yes 2015-01-02 16:59
sebastian Yes 2015-01-03 16:22
stas Yes 2015-01-03 00:47
stelianm Yes 2015-01-14 21:49
thekid Yes 2015-01-08 21:59
till Yes 2015-01-03 16:26
tyrael Yes 2015-01-03 12:53
yunosh Yes 2015-01-05 11:41
Remove support for #-style comments in ini files? closed
Yes
27
No
4
31 voters
aharvey Yes 2015-01-02 18:31
ajf Yes 2015-01-02 16:01
dmitry No 2015-01-08 16:11
fa Yes 2015-01-02 23:16
galvao Yes 2015-01-15 14:20
guilhermeblanco Yes 2015-01-08 22:50
gwynne Yes 2015-01-02 17:58
irker Yes 2015-01-02 16:14
jedibc Yes 2015-01-05 07:29
jpauli Yes 2015-01-07 09:33
kalle Yes 2015-01-02 18:15
krakjoe Yes 2015-01-04 09:06
kriscraig Yes 2015-01-14 17:31
leigh Yes 2015-01-02 21:35
levim No 2015-01-14 20:16
lstrojny No 2015-01-14 17:07
mbeccati Yes 2015-01-03 09:58
mike No 2015-01-09 06:35
nikic Yes 2015-01-02 16:06
peehaa Yes 2015-01-02 16:10
philstu Yes 2015-01-04 23:44
pollita Yes 2015-01-03 21:34
rasmus Yes 2015-01-03 05:20
rdohms Yes 2015-01-14 11:23
salathe Yes 2015-01-02 17:00
sebastian Yes 2015-01-03 16:21
stelianm Yes 2015-01-14 21:49
thekid Yes 2015-01-08 21:59
till Yes 2015-01-03 16:27
tyrael Yes 2015-01-03 12:53
yunosh Yes 2015-01-05 11:41
Disallow string category names in setlocale()? closed
Yes
27
No
1
28 voters
aharvey Yes 2015-01-02 18:31
ajf Yes 2015-01-02 16:01
galvao Yes 2015-01-15 14:21
guilhermeblanco Yes 2015-01-08 22:50
gwynne Yes 2015-01-02 17:58
irker Yes 2015-01-02 16:14
jedibc Yes 2015-01-05 07:29
jpauli Yes 2015-01-07 09:33
kalle Yes 2015-01-02 18:16
krakjoe Yes 2015-01-04 09:06
kriscraig Yes 2015-01-14 17:31
leigh Yes 2015-01-02 21:35
lstrojny Yes 2015-01-14 17:07
mbeccati Yes 2015-01-03 09:58
mike Yes 2015-01-09 06:36
nikic Yes 2015-01-02 16:06
peehaa Yes 2015-01-02 16:11
philstu Yes 2015-01-04 23:45
pollita No 2015-01-03 21:35
rasmus Yes 2015-01-03 05:20
salathe Yes 2015-01-02 17:01
sebastian Yes 2015-01-03 16:21
sobak Yes 2015-01-16 14:33
stas Yes 2015-01-03 00:49
stelianm Yes 2015-01-14 21:50
till Yes 2015-01-03 16:27
tyrael Yes 2015-01-03 12:54
yunosh Yes 2015-01-05 11:41
Disallow enabling unsafe curl uploads? closed
Yes
19
No
6
25 voters
aharvey Yes 2015-01-02 18:31
ajf Yes 2015-01-02 16:01
fredemmott Yes 2015-01-07 21:09
galvao Yes 2015-01-15 14:22
guilhermeblanco Yes 2015-01-08 22:49
gwynne No 2015-01-02 17:59
jpauli Yes 2015-01-07 09:34
kalle Yes 2015-01-02 18:18
krakjoe Yes 2015-01-04 09:06
kriscraig Yes 2015-01-14 17:33
laruence No 2015-01-03 02:44
leigh Yes 2015-01-02 21:35
lstrojny Yes 2015-01-14 17:07
mbeccati Yes 2015-01-03 10:05
mike No 2015-01-09 06:37
nikic Yes 2015-01-02 16:06
peehaa Yes 2015-01-02 16:11
philstu Yes 2015-01-04 23:45
pollita No 2015-01-03 21:35
rasmus Yes 2015-01-03 05:21
salathe No 2015-01-02 17:02
sebastian Yes 2015-01-03 16:21
stas Yes 2015-01-03 00:50
till No 2015-01-03 16:28
tyrael Yes 2015-01-03 12:54
Remove preg_replace() eval modifier? closed
Yes
33
No
1
34 voters
aharvey Yes 2015-01-02 18:32
ajf Yes 2015-01-02 16:01
bwoebi Yes 2015-01-02 19:16
dmitry No 2015-01-08 16:10
dsp Yes 2015-01-15 17:11
fa Yes 2015-01-02 23:16
galvao Yes 2015-01-15 14:22
guilhermeblanco Yes 2015-01-08 22:49
gwynne Yes 2015-01-02 18:03
irker Yes 2015-01-02 16:15
jedibc Yes 2015-01-05 07:30
jpauli Yes 2015-01-07 09:34
kalle Yes 2015-01-02 18:18
krakjoe Yes 2015-01-04 09:06
kriscraig Yes 2015-01-14 17:35
leigh Yes 2015-01-02 21:34
levim Yes 2015-01-02 23:06
lstrojny Yes 2015-01-14 17:07
mbeccati Yes 2015-01-03 09:59
mike Yes 2015-01-09 06:38
nikic Yes 2015-01-02 16:06
peehaa Yes 2015-01-02 16:11
philstu Yes 2015-01-04 23:45
pollita Yes 2015-01-03 21:36
rasmus Yes 2015-01-03 05:21
salathe Yes 2015-01-02 17:03
sebastian Yes 2015-01-03 16:21
sobak Yes 2015-01-16 14:33
stas Yes 2015-01-03 00:50
stelianm Yes 2015-01-14 21:51
thekid Yes 2015-01-08 21:58
till Yes 2015-01-03 16:26
tyrael Yes 2015-01-03 12:55
yunosh Yes 2015-01-05 11:42
Remove PDO::PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT driver option? closed
Yes
20
No
5
25 voters
aharvey Yes 2015-01-02 18:32
ajf Yes 2015-01-02 16:03
galvao Yes 2015-01-15 14:46
guilhermeblanco Yes 2015-01-08 22:49
gwynne Yes 2015-01-02 18:03
jedibc Yes 2015-01-05 07:31
jpauli Yes 2015-01-07 09:35
kalle Yes 2015-01-02 18:18
krakjoe Yes 2015-01-04 09:05
kriscraig Yes 2015-01-14 17:36
laruence No 2015-01-03 02:45
leigh Yes 2015-01-02 21:34
lstrojny Yes 2015-01-14 17:08
mbeccati Yes 2015-01-03 10:01
mike Yes 2015-01-09 06:38
nikic Yes 2015-01-02 16:06
peehaa Yes 2015-01-02 16:12
philstu Yes 2015-01-04 23:45
pollita No 2015-01-03 21:36
rasmus No 2015-01-03 05:21
salathe No 2015-01-02 17:03
sebastian Yes 2015-01-03 16:21
stas No 2015-01-03 00:57
tyrael Yes 2015-01-03 12:55
yunosh Yes 2015-01-05 11:42
Remove CN_match and SNI_server_name stream context options? closed
Yes
20
No
5
25 voters
aharvey Yes 2015-01-02 18:32
ajf Yes 2015-01-02 16:02
bwoebi Yes 2015-01-02 19:18
galvao Yes 2015-01-15 14:47
guilhermeblanco Yes 2015-01-08 22:48
gwynne Yes 2015-01-02 18:03
jedibc Yes 2015-01-05 07:31
jpauli Yes 2015-01-07 09:35
kalle Yes 2015-01-02 18:19
krakjoe Yes 2015-01-04 09:04
kriscraig Yes 2015-01-14 17:38
leigh Yes 2015-01-02 21:33
lstrojny Yes 2015-01-14 17:08
mbeccati Yes 2015-01-03 10:02
mike No 2015-01-09 06:39
nikic Yes 2015-01-02 16:06
peehaa Yes 2015-01-02 16:12
philstu Yes 2015-01-04 23:45
pollita No 2015-01-03 21:37
rasmus No 2015-01-03 05:16
salathe Yes 2015-01-02 17:05
sebastian Yes 2015-01-03 16:20
stas No 2015-01-03 01:41
till No 2015-01-03 16:28
tyrael Yes 2015-01-03 12:56

Discussions on the mailing list

[RFC] Remove deprecated functionality in PHP 7
by Nikita Popov · 47 messages
[VOTE] Remove deprecated functionality in PHP 7
by Nikita Popov · 20 messages
Remove $this from incompatible context
by Nikita Popov · 26 messages

RFC text

Copied from wiki.php.net, last synchronized Oct 13, 2026 11:51 UTC

Introduction

This RFC proposes to remove functionality which has been deprecated during the 5.x cycle.

The following extensions are deprecated:

The following language features are deprecated:

  • Assignment of new by reference (since PHP 5.3; use normal assignment instead) REMOVED
  • Scoped calls of non-static methods from incompatible $this context (since PHP 5.6) REMOVED

The following functions are deprecated:

  • dl on fpm-fcgi (since PHP 5.3) REMOVED
  • set_magic_quotes_runtime and magic_quotes_runtime (since PHP 5.4) REMOVED
  • set_socket_blocking (since PHP 5.4; use stream_set_blocking instead) REMOVED
  • mcrypt_generic_end (since PHP 5.4; use mcrypt_generic_deinit instead) 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) REMOVED
  • datefmt_set_timezone_id and IntlDateFormatter::setTimeZoneID (since PHP 5.5; use datefmt_set_timezone or IntlDateFormatter::setTimeZone instead) REMOVED

The following ini options are deprecated:

  • xsl.security_prefs (since PHP 5.4; use XsltProcessor::setSecurityPrefs instead) 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]

The following miscellaneous functionality is deprecated:

  • The $is_dst parameter of the mktime() and gmmktime() functions (since PHP 5.1) REMOVED
  • # style comments in ini files (since PHP 5.3; use ; style comments instead) REMOVED
  • String category names in setlocale() (since PHP 5.3; use LC_* constants instead) REMOVED
  • Unsafe curl file uploads (since PHP 5.5; use CurlFile instead) REMOVED
  • preg_replace() eval modifier (since PHP 5.5; use preg_replace_callback instead) REMOVED
  • PDO::PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT driver option (since PHP 5.6; use PDO::ATTR_EMULATE_PREPARES instead) REMOVED
  • CN_match and SNI_server_name stream context option (since PHP 5.6; use peer_name instead) REMOVED

Patches and Tests

Note: Patches are very outdated. I'll update them after the votes.

Votes

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

The ereg extension has been deprecated since PHP 5.3. The PCRE extension should be used instead. PCRE provides better Unicode support and many more features in general. The ereg extension is effectively unmaintained currently.

If ext/ereg is removed as a bundled extension, it can still be made available as a PECL extension.

Vote: Requires simple majority.

Vote: Unbundle the ext/ereg extension? — Yes: 37 · No: 3 (closed)

ext/mysql

The mysql extension has been deprecated since PHP 5.5. The mysqli or PDO extension should be used instead. The deprecation has been decided in mysql_deprecation, where a discussion of the reasons behind this decision can be found.

If ext/mysql is removed as a bundled extension, it can still be made available as a PECL extension.

Vote: Requires simple majority.

Vote: Unbundle the ext/mysql extension? — Yes: 28 · No: 12 (closed)

Assignment of new by reference

Since PHP 5.3 assignment of new expressions by references is deprecated. It can be replaced with a normal assignment 1):

// Instead of
$obj =& new ClassName;
// Write
$obj = new ClassName;

Assigning the return value by reference is no longer necessary since PHP 5.0.

Vote: Requires 2/3 majority.

Vote: Remove assignment of new by reference? — Yes: 31 · No: 6 (closed)

Scoped calls of non-static methods from incompatible $this context

Since PHP 5.5 scoped calls of non-static methods from incompatible $this contexts are deprecated, while they already generated an E_STRICT level error previously. The deprecation has been decided in incompat_ctx, where examples of this functionality can be found.

The RFC already specified that the functionality will be removed in the next version after deprecation, as such this vote may dropped.

Vote: Requires 2/3 majority.

Vote: Remove support for calls from incompatible context? — Yes: 34 · No: 0 (closed)

dl() on fpm-fcgi

Use of dl() in the fpm-fcgi SAPI is deprecated since PHP 5.3.

Using the dl() function in SAPIs that run more than one request has stability concerns. As such it has already been removed from other multi-request SAPIs, fpm-fcgi is the last one left.

Vote: Requires simple majority.

Vote: Remove dl() in fpm-fcgi SAPI? — Yes: 32 · No: 0 (closed)

set_magic_quotes_runtime() and magic_quotes_runtime()

Support for magic quotes has been removed in PHP 5.4. To facilitate backwards compatibility the set_magic_quotes_runtime() and magic_quotes_runtime() functions have been retained, but deprecated. Attempting to enable magic quotes using them will result in a fatal error.

Vote: Requires simple majority.

Vote: Remove (set_)magic_quotes_runtime() functions? — Yes: 36 · No: 0 (closed)

Other deprecated functions

The following functions are deprecated:

  • set_socket_blocking (since PHP 5.4; use stream_set_blocking instead)
  • mcrypt_generic_end (since PHP 5.4; use mcrypt_generic_deinit 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)
  • datefmt_set_timezone_id and IntlDateFormatter::setTimeZoneID (since PHP 5.5; use datefmt_set_timezone or IntlDateFormatter::setTimeZone instead)

These functions are just legacy aliases or quasi-aliases.

Vote: Requires simple majority.

Vote: Remove listed deprecated functions? — Yes: 31 · No: 0 (closed)

xsl.security_prefs ini directive

As a fix for CVE 2012-0057 (Bug #54446), which concerns reading and writing files using XSLT, the XsltProcessor::setSecurityPrefs() method and xsl.security_prefs ini directive have been added. The latter has been deprecated in PHP 5.4 to discourage global disabling of security features. Instead the setSecurityPrefs() method should be used on individual XsltProcessor instances where reading/writing files is necessary.

Vote: Requires simple majority.

Vote: Remove xsl.security_prefs ini directive? — Yes: 28 · No: 0 (closed)

iconv and mbstring encoding ini directives

The iconv.input_encoding, iconv.output_encoding, iconv.internal_encoding, mbstring.http_input, mbstring.http_output and mbstring.internal_encoding ini directives have been deprecated in PHP 5.6 by the default_encoding RFC. Instead the use of the more general php.input_encoding, php.internal_encoding and php.output_encoding ini directives is suggested.

Vote: Requires simple majority.

Vote: Remove extension specific encoding ini directives? — Yes: 26 · No: 0 (closed)

$is_dst parameter of the mktime() and gmmktime() functions

The $is_dst parameter of the mktime() and gmmktime() functions has been deprecated in PHP 5.1. Instead the timezone handling functions should be used.

Vote: Requires simple majority.

Vote: Remove $is_dst parameter of the mktime() and gmmktime() functions? — Yes: 28 · No: 0 (closed)

#-style comments in ini files

The standard ini file format uses ; to denote comments. However PHP accidentially (?) also supported comments starting with # in some circumstances. When this was discovered in PHP 5.3, they were deprecated.

Vote: Requires simple majority.

Vote: Remove support for #-style comments in ini files? — Yes: 27 · No: 4 (closed)

String category names in setlocale()

Since PHP 5.3 the use of string category names in setlocale() is deprecated and the corresponding LC_* constants should be used instead:

// Instead of
setlocale('LC_ALL', 'de_DE');
// Write
setlocale(LC_ALL, 'de_DE');

Vote: Requires simple majority.

Vote: Disallow string category names in setlocale()? — Yes: 27 · No: 1 (closed)

Unsafe curl file uploads

As part of the curl-file-upload RFC, the CURLOPT_SAFE_UPLOAD curl option has been introduced in PHP 5.5 to control whether the use of CURLFile is required to upload files. Since PHP 5.6 the option defaults to true.

For compatibility purposes the option will not be removed altogether, only the ability to set it to false is removed.

Vote: Requires simple majority.

Vote: Disallow enabling unsafe curl uploads? — Yes: 19 · No: 6 (closed)

preg_replace() eval modifier

Due to security considerations the remove_preg_replace_eval_modifier RFC has deprecated the /e (eval) modifier used by preg_replace() in PHP 5.5. Instead preg_replace_callback should be used.

Vote: Requires simple majority.

Vote: Remove preg_replace() eval modifier? — Yes: 33 · No: 1 (closed)

PDO::PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT driver option

In PHP 5.6 the pgsql specific driver option PDO::PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT was deprecated in favor of the more general PDO::ATTR_EMULATE_PREPARES option.

Vote: Requires simple majority.

Vote: Remove PDO::PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT driver option? — Yes: 20 · No: 5 (closed)

CN_match and SNI_server_name stream context options

Since PHP 5.6 it is no longer necessary to explicitly specify the host name using the CN_match and SNI_server_name stream context options, it will be determined automatically instead. It is possible to manually specify a host name using the peer_name context option, which covers both CN and SNI. The old, separate options have been deprecated.

Vote: Requires simple majority.

Vote: Remove CN_match and SNI_server_name stream context options? — Yes: 20 · No: 5 (closed)

1)reference-breaking notwithstanding