Skip to content

Commit 6125109

Browse files
authored
1 parent 3d0cb90 commit 6125109

20 files changed

+76
-15
lines changed

NEWS

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ PHP NEWS
1515
- OpenSSL
1616
. Added support for additional EC parameters in openssl_pkey_new. (Eno-CN)
1717

18+
- Random
19+
. Deprecate MT_RAND_PHP. (timwolla)
20+
1821
06 Jul 2023, PHP 8.3.0alpha3
1922

2023
- Core:

UPGRADING

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,10 @@ PHP 8.3 UPGRADE NOTES
116116
. The U_MULTIPLE_DECIMAL_SEP*E*RATORS constant had been deprecated, using
117117
the U_MULTIPLE_DECIMAL_SEP*A*RATORS instead is recommended.
118118

119+
- Random
120+
. The MT_RAND_PHP Mt19937 variant is deprecated.
121+
RFC: https://wiki.php.net/rfc/deprecations_php_8_3#mt_rand_php
122+
119123
- SQLite3
120124
. Using exceptions is now preferred, warnings will be removed in the future.
121125
Calling SQLite3::enableExceptions(false) will trigger a depreciation warning

ext/random/engine_mt19937.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,7 @@ PHP_METHOD(Random_Engine_Mt19937, __construct)
264264
state->mode = MT_RAND_MT19937;
265265
break;
266266
case MT_RAND_PHP:
267+
zend_error(E_DEPRECATED, "The MT_RAND_PHP variant of Mt19937 is deprecated");
267268
state->mode = MT_RAND_PHP;
268269
break;
269270
default:

ext/random/random.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -488,6 +488,11 @@ PHP_FUNCTION(mt_srand)
488488

489489
state->mode = mode;
490490

491+
/* Anything that is not MT_RAND_MT19937 was interpreted as MT_RAND_PHP. */
492+
if (state->mode != MT_RAND_MT19937) {
493+
zend_error(E_DEPRECATED, "The MT_RAND_PHP variant of Mt19937 is deprecated");
494+
}
495+
491496
if (seed_is_null) {
492497
php_random_mt19937_seed_default(status->state);
493498
} else {

ext/random/random.stub.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
const MT_RAND_MT19937 = UNKNOWN;
1111
/**
1212
* @var int
13+
* @deprecated
1314
* @cvalue MT_RAND_PHP
1415
*/
1516
const MT_RAND_PHP = UNKNOWN;

ext/random/random_arginfo.h

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ext/random/tests/01_functions/array_rand_mt_rand_php.phpt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@ var_dump(
2424
);
2525
?>
2626
--EXPECTF--
27+
Deprecated: Constant MT_RAND_PHP is deprecated in %s on line %d
28+
29+
Deprecated: The MT_RAND_PHP variant of Mt19937 is deprecated in %s on line %d
2730
string(11) "found key 0"
2831
string(11) "found key 1"
2932
string(11) "found key 0"

ext/random/tests/01_functions/bug75514.phpt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ Bug #75514 mt_rand returns value outside [$min,$max]
55
mt_srand(0, MT_RAND_PHP);
66
var_dump(mt_rand(0,999999999), mt_rand(0,999));
77
?>
8-
--EXPECT--
8+
--EXPECTF--
9+
Deprecated: Constant MT_RAND_PHP is deprecated in %s on line %d
10+
11+
Deprecated: The MT_RAND_PHP variant of Mt19937 is deprecated in %s on line %d
912
int(448865905)
1013
int(592)

ext/random/tests/01_functions/mt_rand_value.phpt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,10 @@ echo $x.PHP_EOL;
3737
*/
3838

3939
?>
40-
--EXPECT--
40+
--EXPECTF--
41+
Deprecated: Constant MT_RAND_PHP is deprecated in %s on line %d
42+
43+
Deprecated: The MT_RAND_PHP variant of Mt19937 is deprecated in %s on line %d
4144
1614640687
4245
1711027313
4346
857485497

ext/random/tests/03_randomizer/compatibility_mt_rand.phpt

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,15 @@ for ($i = 0; $i < 10_000; $i++) {
4343
die('success');
4444

4545
?>
46-
--EXPECT--
46+
--EXPECTF--
4747
MT_RAND_PHP
48+
49+
Deprecated: Constant MT_RAND_PHP is deprecated in %s on line %d
50+
51+
Deprecated: The MT_RAND_PHP variant of Mt19937 is deprecated in %s on line %d
52+
53+
Deprecated: Constant MT_RAND_PHP is deprecated in %s on line %d
54+
55+
Deprecated: The MT_RAND_PHP variant of Mt19937 is deprecated in %s on line %d
4856
MT_RAND_MT19937
4957
success

ext/random/tests/03_randomizer/methods/getBytes.phpt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,10 @@ foreach ($engines as $engine) {
3737
die('success');
3838

3939
?>
40-
--EXPECT--
40+
--EXPECTF--
41+
Deprecated: Constant MT_RAND_PHP is deprecated in %s on line %d
42+
43+
Deprecated: The MT_RAND_PHP variant of Mt19937 is deprecated in %s on line %d
4144
Random\Engine\Mt19937
4245
Random\Engine\Mt19937
4346
Random\Engine\PcgOneseq128XslRr64

ext/random/tests/03_randomizer/methods/getBytesFromString.phpt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,10 @@ foreach ($engines as $engine) {
4141
die('success');
4242

4343
?>
44-
--EXPECT--
44+
--EXPECTF--
45+
Deprecated: Constant MT_RAND_PHP is deprecated in %s on line %d
46+
47+
Deprecated: The MT_RAND_PHP variant of Mt19937 is deprecated in %s on line %d
4548
Random\Engine\Mt19937
4649
string(10) "aaaaaaaaaa"
4750
string(5) "aaaaa"

ext/random/tests/03_randomizer/methods/getFloat.phpt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,10 @@ foreach ($engines as $engine) {
4040
die('success');
4141

4242
?>
43-
--EXPECT--
43+
--EXPECTF--
44+
Deprecated: Constant MT_RAND_PHP is deprecated in %s on line %d
45+
46+
Deprecated: The MT_RAND_PHP variant of Mt19937 is deprecated in %s on line %d
4447
Random\Engine\Mt19937
4548
Random\Engine\Mt19937
4649
Random\Engine\PcgOneseq128XslRr64

ext/random/tests/03_randomizer/methods/getInt.phpt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,10 @@ foreach ($engines as $engine) {
4444
die('success');
4545

4646
?>
47-
--EXPECT--
47+
--EXPECTF--
48+
Deprecated: Constant MT_RAND_PHP is deprecated in %s on line %d
49+
50+
Deprecated: The MT_RAND_PHP variant of Mt19937 is deprecated in %s on line %d
4851
Random\Engine\Mt19937
4952
Random\Engine\Mt19937
5053
Random\Engine\PcgOneseq128XslRr64

ext/random/tests/03_randomizer/methods/nextFloat.phpt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,10 @@ foreach ($engines as $engine) {
3939
die('success');
4040

4141
?>
42-
--EXPECT--
42+
--EXPECTF--
43+
Deprecated: Constant MT_RAND_PHP is deprecated in %s on line %d
44+
45+
Deprecated: The MT_RAND_PHP variant of Mt19937 is deprecated in %s on line %d
4346
Random\Engine\Mt19937
4447
Random\Engine\Mt19937
4548
Random\Engine\PcgOneseq128XslRr64

ext/random/tests/03_randomizer/methods/nextInt.phpt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,10 @@ foreach ($engines as $engine) {
4040
die('success');
4141

4242
?>
43-
--EXPECT--
43+
--EXPECTF--
44+
Deprecated: Constant MT_RAND_PHP is deprecated in %s on line %d
45+
46+
Deprecated: The MT_RAND_PHP variant of Mt19937 is deprecated in %s on line %d
4447
Random\Engine\Mt19937
4548
Random\Engine\Mt19937
4649
Random\Engine\PcgOneseq128XslRr64

ext/random/tests/03_randomizer/methods/pickArrayKeys.phpt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,10 @@ foreach ($engines as $engine) {
7474
die('success');
7575

7676
?>
77-
--EXPECT--
77+
--EXPECTF--
78+
Deprecated: Constant MT_RAND_PHP is deprecated in %s on line %d
79+
80+
Deprecated: The MT_RAND_PHP variant of Mt19937 is deprecated in %s on line %d
7881
Random\Engine\Mt19937
7982
Random\Engine\Mt19937
8083
Random\Engine\PcgOneseq128XslRr64

ext/random/tests/03_randomizer/methods/shuffleArray.phpt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,10 @@ foreach ($engines as $engine) {
4343
die('success');
4444

4545
?>
46-
--EXPECT--
46+
--EXPECTF--
47+
Deprecated: Constant MT_RAND_PHP is deprecated in %s on line %d
48+
49+
Deprecated: The MT_RAND_PHP variant of Mt19937 is deprecated in %s on line %d
4750
Random\Engine\Mt19937
4851
Random\Engine\Mt19937
4952
Random\Engine\PcgOneseq128XslRr64

ext/random/tests/03_randomizer/methods/shuffleBytes.phpt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,10 @@ foreach ($engines as $engine) {
5050
die('success');
5151

5252
?>
53-
--EXPECT--
53+
--EXPECTF--
54+
Deprecated: Constant MT_RAND_PHP is deprecated in %s on line %d
55+
56+
Deprecated: The MT_RAND_PHP variant of Mt19937 is deprecated in %s on line %d
5457
Random\Engine\Mt19937
5558
Random\Engine\Mt19937
5659
Random\Engine\PcgOneseq128XslRr64

ext/random/tests/03_randomizer/serialize.phpt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,10 @@ foreach ($engines as $engine) {
4141

4242
die('success');
4343
?>
44-
--EXPECT--
44+
--EXPECTF--
45+
Deprecated: Constant MT_RAND_PHP is deprecated in %s on line %d
46+
47+
Deprecated: The MT_RAND_PHP variant of Mt19937 is deprecated in %s on line %d
4548
Random\Engine\Mt19937
4649
Random\Engine\Mt19937
4750
Random\Engine\PcgOneseq128XslRr64

0 commit comments

Comments
 (0)