1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
|
--TEST--
GMP serialization and unserialization
--EXTENSIONS--
gmp
--FILE--
<?php
var_dump($n = gmp_init(42));
var_dump($s = serialize($n));
var_dump(unserialize($s));
$n = gmp_init(13);
$n->foo = "bar";
var_dump($s = serialize($n));
var_dump(unserialize($s));
var_dump(unserialize('C:3:"GMP":15:{s:2:"42";a:0:{}}'));
try {
unserialize('C:3:"GMP":0:{}');
} catch (Exception $e) { var_dump($e->getMessage()); }
try {
unserialize('C:3:"GMP":9:{s:2:"42";}');
} catch (Exception $e) { var_dump($e->getMessage()); }
try {
unserialize('O:3:"GMP":0:{}');
} catch (Exception $e) { var_dump($e->getMessage()); }
try {
unserialize('O:3:"GMP":1:{i:0;i:0;}');
} catch (Exception $e) { var_dump($e->getMessage()); }
try {
unserialize('O:3:"GMP":1:{i:0;s:0:"";}');
} catch (Exception $e) { var_dump($e->getMessage()); }
try {
unserialize('O:3:"GMP":2:{i:0;s:1:"0";i:1;i:0;}');
} catch (Exception $e) { var_dump($e->getMessage()); }
?>
--EXPECTF--
object(GMP)#%d (1) {
["num"]=>
string(2) "42"
}
string(27) "O:3:"GMP":1:{i:0;s:2:"2a";}"
object(GMP)#%d (1) {
["num"]=>
string(2) "42"
}
Deprecated: Creation of dynamic property GMP::$foo is deprecated in %s on line %d
string(56) "O:3:"GMP":2:{i:0;s:1:"d";i:1;a:1:{s:3:"foo";s:3:"bar";}}"
Deprecated: Creation of dynamic property GMP::$foo is deprecated in %s on line %d
object(GMP)#%d (2) {
["foo"]=>
string(3) "bar"
["num"]=>
string(2) "13"
}
object(GMP)#1 (1) {
["num"]=>
string(2) "42"
}
string(28) "Could not unserialize number"
string(32) "Could not unserialize properties"
string(28) "Could not unserialize number"
string(28) "Could not unserialize number"
string(28) "Could not unserialize number"
string(32) "Could not unserialize properties"
|