mirror of
https://github.com/bdnugget/php-src.git
synced 2026-11-14 20:50:50 +00:00
Compare commits
538
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f89ee8040a | ||
|
|
e1f52b5af9 | ||
|
|
3e0ab2a6f3 | ||
|
|
72c9b0e12b | ||
|
|
592df89027 | ||
|
|
a734acd439 | ||
|
|
5e95b61639 | ||
|
|
70f92aa97e | ||
|
|
fe551c089a | ||
|
|
af85eff5b6 | ||
|
|
53fa6c5b6b | ||
|
|
4b9fcc01d4 | ||
|
|
30aceaf1a7 | ||
|
|
197095c29e | ||
|
|
21446cd7b6 | ||
|
|
e665a07ab9 | ||
|
|
e55c641792 | ||
|
|
b206b0e29d | ||
|
|
ee275e34c8 | ||
|
|
b38ca3adee | ||
|
|
302ccc195b | ||
|
|
30a73658c6 | ||
|
|
32be79dcfa | ||
|
|
7fac56e072 | ||
|
|
1e1b7c74fb | ||
|
|
52f35b984c | ||
|
|
f463523cda | ||
|
|
640214701c | ||
|
|
c8b3bce407 | ||
|
|
bda1cc6946 | ||
|
|
a90d05a430 | ||
|
|
cb41a7bad1 | ||
|
|
437612f656 | ||
|
|
c4fb183b9f | ||
|
|
54fbbded37 | ||
|
|
dbbf1c2a3c | ||
|
|
43ed561222 | ||
|
|
e9166fec62 | ||
|
|
713e9a7eaa | ||
|
|
6da2a977fc | ||
|
|
825ddbb3c6 | ||
|
|
9185cfd539 | ||
|
|
6d19358ae0 | ||
|
|
20941b71aa | ||
|
|
d382d6f3dc | ||
|
|
9360b6eeee | ||
|
|
aa6dc6c108 | ||
|
|
276bead9c4 | ||
|
|
359bc0ee2f | ||
|
|
ac4569621d | ||
|
|
cbe1597b74 | ||
|
|
b278be894f | ||
|
|
5a7039035c | ||
|
|
eb2360602e | ||
|
|
335d89ec4d | ||
|
|
5e9e0a2c74 | ||
|
|
88c48a4b95 | ||
|
|
2fefae4771 | ||
|
|
2b10db8e10 | ||
|
|
706aefb781 | ||
|
|
529da0f74c | ||
|
|
299d8f339f | ||
|
|
05d1612e16 | ||
|
|
36d05d75c8 | ||
|
|
2b9af967fb | ||
|
|
fac08a960b | ||
|
|
1504f7d630 | ||
|
|
be2128c805 | ||
|
|
3f42f2f5d1 | ||
|
|
6279246d2c | ||
|
|
48dc203408 | ||
|
|
7c4b5d9187 | ||
|
|
0407bdf252 | ||
|
|
7bfe9bf951 | ||
|
|
7ba1409a1a | ||
|
|
59c2477bc3 | ||
|
|
3468f03b6f | ||
|
|
35f32637b0 | ||
|
|
49387b31cf | ||
|
|
ff4cf1a838 | ||
|
|
eab42649ab | ||
|
|
008330e5b3 | ||
|
|
b7cd099ae0 | ||
|
|
4185633207 | ||
|
|
ad492ca932 | ||
|
|
481c4715d4 | ||
|
|
4e2c01617f | ||
|
|
c044164a96 | ||
|
|
d1dd71454d | ||
|
|
aeb633543b | ||
|
|
7311087cf0 | ||
|
|
1355ea60cc | ||
|
|
5e338836ff | ||
|
|
32314f6b67 | ||
|
|
babeca356b | ||
|
|
1847cf10c1 | ||
|
|
7fbc99e390 | ||
|
|
e4905b38b7 | ||
|
|
4b85f1d46a | ||
|
|
f6896e4395 | ||
|
|
de18f42047 | ||
|
|
934c35f586 | ||
|
|
8c247af1fc | ||
|
|
daa1fb8ba6 | ||
|
|
7aa776c7b4 | ||
|
|
39dd715382 | ||
|
|
b6ddcf9c71 | ||
|
|
d4df6d0200 | ||
|
|
75991561d6 | ||
|
|
84a4041ba4 | ||
|
|
a04c5536bb | ||
|
|
378ffd3cdf | ||
|
|
1ff30fd88c | ||
|
|
5ac2e5f850 | ||
|
|
6569db8808 | ||
|
|
58088c24eb | ||
|
|
7189039d65 | ||
|
|
0753c22e76 | ||
|
|
7df4087b98 | ||
|
|
637367fc73 | ||
|
|
ce5efa7adc | ||
|
|
41e1ccefd5 | ||
|
|
d72b943262 | ||
|
|
9444bc7997 | ||
|
|
547451796c | ||
|
|
05baed522f | ||
|
|
1e9abea139 | ||
|
|
65cf73c931 | ||
|
|
fd28010e20 | ||
|
|
442629f81d | ||
|
|
fa57c291bb | ||
|
|
e4ff7f2ee3 | ||
|
|
0ab5854863 | ||
|
|
fa27974ec0 | ||
|
|
f59506cd27 | ||
|
|
1158563958 | ||
|
|
a45b8874fb | ||
|
|
d3b5ed0787 | ||
|
|
cf4753691d | ||
|
|
e0c1fa30c4 | ||
|
|
ae74549239 | ||
|
|
9b9aa4b811 | ||
|
|
61ec9b5b0f | ||
|
|
c9e114a451 | ||
|
|
eeaec70758 | ||
|
|
95febf26c6 | ||
|
|
990ecc12fc | ||
|
|
0fe07a0e74 | ||
|
|
c2f2d5c8fc | ||
|
|
bff84d7c18 | ||
|
|
358aedc454 | ||
|
|
b96224625c | ||
|
|
7b60430a8f | ||
|
|
0a29e4731e | ||
|
|
48cadf242d | ||
|
|
6ed9991a6f | ||
|
|
12b2127b72 | ||
|
|
579c9066a0 | ||
|
|
8b9719d8b9 | ||
|
|
52f4587e8a | ||
|
|
e9967292c3 | ||
|
|
b3466f862f | ||
|
|
da3add26cf | ||
|
|
aa3ddda8e5 | ||
|
|
ab4c4c3970 | ||
|
|
ab6c1d21f9 | ||
|
|
65364fe7d0 | ||
|
|
90f99d47c0 | ||
|
|
00546bc9b7 | ||
|
|
f782ea5b42 | ||
|
|
3e167ba990 | ||
|
|
531be9662f | ||
|
|
b4a4db467b | ||
|
|
fedc799344 | ||
|
|
d0a244f1f3 | ||
|
|
51c38a0997 | ||
|
|
61e0f8599d | ||
|
|
4ae1d5d1bd | ||
|
|
acfa8c770c | ||
|
|
432bd117a9 | ||
|
|
d491b2f916 | ||
|
|
899b369e15 | ||
|
|
ffc1d25b37 | ||
|
|
71d3a69425 | ||
|
|
6fcd8e5865 | ||
|
|
dc3a5d783f | ||
|
|
842fde2827 | ||
|
|
0678dc8d91 | ||
|
|
658f7d77f9 | ||
|
|
a051d7264d | ||
|
|
144a083954 | ||
|
|
7b60315672 | ||
|
|
8ff00e6e85 | ||
|
|
9ce1a36af2 | ||
|
|
629c1ecd4f | ||
|
|
f604b61e39 | ||
|
|
9b30b04b32 | ||
|
|
ad744263ca | ||
|
|
f83a6c33b4 | ||
|
|
e946de29d2 | ||
|
|
1ffb7fddc2 | ||
|
|
c74efe1b2e | ||
|
|
b5051ff939 | ||
|
|
e2ba5c7987 | ||
|
|
8e9777a1f1 | ||
|
|
e644aad3f9 | ||
|
|
8ab4e2e90d | ||
|
|
b512adf78d | ||
|
|
2fe5bcbeb5 | ||
|
|
892def5f12 | ||
|
|
8d1d038509 | ||
|
|
6bd5a06894 | ||
|
|
ec002bd837 | ||
|
|
52de149ebc | ||
|
|
2326401fc1 | ||
|
|
7f527897fe | ||
|
|
d4b67896ec | ||
|
|
84605098bc | ||
|
|
ee1ab62763 | ||
|
|
d77ea459bd | ||
|
|
44be7b7f27 | ||
|
|
0335d2ef3e | ||
|
|
a0bb3fd679 | ||
|
|
eca037a51d | ||
|
|
f3230e3522 | ||
|
|
982342b057 | ||
|
|
c5ccaf1d04 | ||
|
|
f304fb848f | ||
|
|
35b077f53e | ||
|
|
8044d0680b | ||
|
|
a8e0a623ec | ||
|
|
920e81b6f1 | ||
|
|
ba1cf321f3 | ||
|
|
de433d4c47 | ||
|
|
54267f40c6 | ||
|
|
3e1b749f5e | ||
|
|
2dff153b23 | ||
|
|
b5324acd35 | ||
|
|
f0a1e410a3 | ||
|
|
1a2c3bd3ad | ||
|
|
b3c6089111 | ||
|
|
21654a671f | ||
|
|
7446c81aed | ||
|
|
ce2ad0df18 | ||
|
|
3b08082600 | ||
|
|
275e41cb12 | ||
|
|
050ef52549 | ||
|
|
55069b4c09 | ||
|
|
79b91e3c5a | ||
|
|
04821a1ee6 | ||
|
|
7a5323778d | ||
|
|
1684ba3c6f | ||
|
|
377750cd8f | ||
|
|
8757e2cab8 | ||
|
|
f25ff02b54 | ||
|
|
4fc0d46ae7 | ||
|
|
a5f2b002b4 | ||
|
|
9f721967a3 | ||
|
|
0baaf9fade | ||
|
|
b10ed89dac | ||
|
|
ae313b6037 | ||
|
|
f3d565f6ac | ||
|
|
9f5cf7d41a | ||
|
|
efcc789ef8 | ||
|
|
02b661ecfc | ||
|
|
cc67cf6322 | ||
|
|
1f90dd3359 | ||
|
|
40d11cc822 | ||
|
|
caceba5973 | ||
|
|
ee0c8f8d6f | ||
|
|
0285720570 | ||
|
|
e7f36ba693 | ||
|
|
01a1c3067c | ||
|
|
1f46bec9ce | ||
|
|
e3df0c5f60 | ||
|
|
ec6b367722 | ||
|
|
e2b0d97950 | ||
|
|
eb7bf5d30a | ||
|
|
a34288fa1a | ||
|
|
41eb63e78f | ||
|
|
393bf0e4bb | ||
|
|
b93ea59665 | ||
|
|
cd1130751d | ||
|
|
0211185548 | ||
|
|
64e4261c9b | ||
|
|
5312c39cfb | ||
|
|
0bf50a8302 | ||
|
|
5cf0084a92 | ||
|
|
857cd18cf4 | ||
|
|
d472434ea0 | ||
|
|
51f79846bf | ||
|
|
e715038920 | ||
|
|
03214a2aef | ||
|
|
7b6757d99a | ||
|
|
0c840ced7c | ||
|
|
494034901e | ||
|
|
f8acf826c3 | ||
|
|
1939b34c78 | ||
|
|
604de67b7d | ||
|
|
5516963633 | ||
|
|
0e1599afe0 | ||
|
|
c402956178 | ||
|
|
a7d1cad4c3 | ||
|
|
96c9cc315d | ||
|
|
8ba240a70b | ||
|
|
897b7b68cc | ||
|
|
8ddf9a2dc4 | ||
|
|
6c8a570a96 | ||
|
|
c291033469 | ||
|
|
716d2a3937 | ||
|
|
c5fec9e09d | ||
|
|
2034ace052 | ||
|
|
533b1df732 | ||
|
|
e17bfb472e | ||
|
|
213e9a0a3c | ||
|
|
18989420b6 | ||
|
|
c66a4e84bb | ||
|
|
37a13d2df7 | ||
|
|
8c4156ed28 | ||
|
|
3cc6bd10ac | ||
|
|
d9ebd0f3d6 | ||
|
|
22882a9d89 | ||
|
|
df78c48354 | ||
|
|
131e60ce56 | ||
|
|
5efda71e54 | ||
|
|
49e175be42 | ||
|
|
1e06c73192 | ||
|
|
34e686c556 | ||
|
|
2e02f18b15 | ||
|
|
899fe3d8af | ||
|
|
5d687afa89 | ||
|
|
f326713e42 | ||
|
|
6081dd781a | ||
|
|
4965d1c2ce | ||
|
|
af5f997a5d | ||
|
|
e5fdb5b3f0 | ||
|
|
af9ce6e650 | ||
|
|
48df4464ea | ||
|
|
9c8b42960d | ||
|
|
803cfe32e6 | ||
|
|
12885ef489 | ||
|
|
a52616b759 | ||
|
|
a7d1656b96 | ||
|
|
293a48cb9d | ||
|
|
cc22f021fe | ||
|
|
6c72ea87fd | ||
|
|
13c5bb9600 | ||
|
|
334758794d | ||
|
|
bf328b1681 | ||
|
|
a0ecb3794f | ||
|
|
b1433d86b2 | ||
|
|
2db96fea2d | ||
|
|
b23460063f | ||
|
|
b5003c3a86 | ||
|
|
d4267ce03a | ||
|
|
ad9ed232e7 | ||
|
|
2ee09835c1 | ||
|
|
9d1d25e625 | ||
|
|
e2ed4874b5 | ||
|
|
3488cf6fd8 | ||
|
|
7ffcb48184 | ||
|
|
08e7252abf | ||
|
|
79457d1964 | ||
|
|
6d97b4b2b3 | ||
|
|
232ab8d795 | ||
|
|
fb0128af2a | ||
|
|
f3dd77714d | ||
|
|
342240fd7f | ||
|
|
c42d5cf5de | ||
|
|
88223c5245 | ||
|
|
6027c56fd7 | ||
|
|
aef6432fbe | ||
|
|
300e0418a4 | ||
|
|
f0639611cf | ||
|
|
680ddabac1 | ||
|
|
21c9a9388f | ||
|
|
728c554f93 | ||
|
|
a3bd2d268c | ||
|
|
d2bdedbcfc | ||
|
|
4106d48d1c | ||
|
|
945938d33c | ||
|
|
c38b73a701 | ||
|
|
6f3bcb0d6e | ||
|
|
2d576c2a99 | ||
|
|
e667d23178 | ||
|
|
e93f8e74d4 | ||
|
|
0a3979e08b | ||
|
|
03ee0ddc5f | ||
|
|
4053dbe29f | ||
|
|
6c9c44905e | ||
|
|
4555779c39 | ||
|
|
a84a2d4ace | ||
|
|
2c327599a3 | ||
|
|
d9432d6a50 | ||
|
|
1d802ad5e5 | ||
|
|
85d3ac5763 | ||
|
|
f5f1c702cd | ||
|
|
ca29063da5 | ||
|
|
b2b3ce717f | ||
|
|
55c2721229 | ||
|
|
21525d0413 | ||
|
|
b053c4f4f6 | ||
|
|
3c328f0984 | ||
|
|
d780c2a673 | ||
|
|
d400b74296 | ||
|
|
08334293f8 | ||
|
|
c06ccf7c70 | ||
|
|
ce70b920e4 | ||
|
|
2546434008 | ||
|
|
b51f82f260 | ||
|
|
e956ba9357 | ||
|
|
fe67674809 | ||
|
|
aa3a5f7681 | ||
|
|
1b9cbab9a7 | ||
|
|
16e0dcea72 | ||
|
|
5f2a30e111 | ||
|
|
ace35a3d3b | ||
|
|
1978f41c8a | ||
|
|
4f73394fdd | ||
|
|
a6e0751079 | ||
|
|
2b04d68972 | ||
|
|
495e6719e0 | ||
|
|
f11bba4929 | ||
|
|
317bcb96d0 | ||
|
|
979eed5c6b | ||
|
|
0235a8acdc | ||
|
|
e8699d75da | ||
|
|
a4d709afe2 | ||
|
|
12a62ce868 | ||
|
|
6256b79a35 | ||
|
|
25b1dc917a | ||
|
|
20b03c84ec | ||
|
|
ff66c90af0 | ||
|
|
da5d40bae6 | ||
|
|
40ef6e07e0 | ||
|
|
9d0ca077ee | ||
|
|
f6fee381be | ||
|
|
2b33a41162 | ||
|
|
5c9f967999 | ||
|
|
da399ce6a8 | ||
|
|
18ff81eb1a | ||
|
|
d02aa44090 | ||
|
|
e77659a8c8 | ||
|
|
d440bb3e68 | ||
|
|
95fcf868d3 | ||
|
|
949cab09f2 | ||
|
|
58c6a08e00 | ||
|
|
954632e9ce | ||
|
|
4b0b032676 | ||
|
|
62857998c5 | ||
|
|
af5057bea7 | ||
|
|
5c8c57aa6c | ||
|
|
1b8d4695e2 | ||
|
|
9b5d56fd61 | ||
|
|
aebb23e4db | ||
|
|
e07083c378 | ||
|
|
7ddbfae022 | ||
|
|
e43270cb2a | ||
|
|
8f78c3b9eb | ||
|
|
f47976dd9b | ||
|
|
e030efa4f6 | ||
|
|
38343856e1 | ||
|
|
33926b19d0 | ||
|
|
e51eaaf665 | ||
|
|
4946dc1ab9 | ||
|
|
76a7fd893b | ||
|
|
da6abc8db4 | ||
|
|
5fd7c2b01d | ||
|
|
a53b884c47 | ||
|
|
38e11dfaee | ||
|
|
811f35d0ed | ||
|
|
91bcadd85e | ||
|
|
e31b51f9a0 | ||
|
|
56c9e22c1f | ||
|
|
67f1a58ac9 | ||
|
|
127651e9ae | ||
|
|
ab848ea400 | ||
|
|
15d8c80ead | ||
|
|
c61c24ad79 | ||
|
|
9ea9064779 | ||
|
|
3f47368738 | ||
|
|
1fe9f1e4f5 | ||
|
|
4b4a5bc1d3 | ||
|
|
846e076492 | ||
|
|
e06c4f7fe5 | ||
|
|
bf50218983 | ||
|
|
e2710310a0 | ||
|
|
20568e5028 | ||
|
|
97b86c3c4a | ||
|
|
0817a2c767 | ||
|
|
f5333418d7 | ||
|
|
2d59b87527 | ||
|
|
21986f98db | ||
|
|
4fcb9a9d1b | ||
|
|
0218e4eb19 | ||
|
|
9bb5867fad | ||
|
|
38be99b739 | ||
|
|
43e3a83d51 | ||
|
|
b5d9983ff4 | ||
|
|
4ef561c7ba | ||
|
|
546797f329 | ||
|
|
d2765e4b8c | ||
|
|
a2f8c9c1ae | ||
|
|
76b06780d5 | ||
|
|
091b7642c2 | ||
|
|
3b8bdb7164 | ||
|
|
abfd977410 | ||
|
|
92d54f81d6 | ||
|
|
56bcb22afb | ||
|
|
1696166466 | ||
|
|
91e7b3b84f | ||
|
|
076c25bfec | ||
|
|
d184f07b3c | ||
|
|
15ee33eb21 | ||
|
|
5ce11c2698 | ||
|
|
4005f06df6 | ||
|
|
57225f09ed | ||
|
|
21f579b338 | ||
|
|
70699d7f68 | ||
|
|
19be8b676c | ||
|
|
980c63651c | ||
|
|
f9357b44f3 | ||
|
|
4a773c0e58 | ||
|
|
2260fca3dd | ||
|
|
6d9cc92238 | ||
|
|
319611ffbd | ||
|
|
e5e6ba093f | ||
|
|
5d1bfd6fbf | ||
|
|
d39377924c | ||
|
|
fdb2709dd2 | ||
|
|
69d4a0b8d5 | ||
|
|
00a22d4d06 | ||
|
|
fc076ef605 | ||
|
|
fa6aaf8c03 | ||
|
|
adc070ca99 | ||
|
|
5164b81324 | ||
|
|
b4c92f31ad | ||
|
|
8a22540a95 |
No files matched your search
@@ -22,6 +22,10 @@ sapi/nsapi/nsapi.c ident
|
||||
sapi/continuity/capi.c ident
|
||||
Zend/RFCs/002.txt ident
|
||||
Zend/RFCs/003.txt ident
|
||||
ext/exif/exif.c ident
|
||||
ext/ldap/ldap.c ident
|
||||
ext/pdo_pgsql/pdo_pgsql.c ident
|
||||
ext/tidy/tidy.c ident
|
||||
NEWS merge=NEWS
|
||||
UPGRADING merge=NEWS
|
||||
UPGRADING.INTERNALS merge=NEWS
|
||||
|
||||
@@ -8,6 +8,9 @@ notifications:
|
||||
email:
|
||||
on_failure: change
|
||||
|
||||
cache:
|
||||
- apt
|
||||
|
||||
env:
|
||||
global:
|
||||
- MYSQL_TEST_HOST=127.0.0.1
|
||||
@@ -21,6 +24,10 @@ env:
|
||||
- ENABLE_MAINTAINER_ZTS=0 ENABLE_DEBUG=0
|
||||
- ENABLE_MAINTAINER_ZTS=1 ENABLE_DEBUG=1
|
||||
|
||||
before_install:
|
||||
- sudo cp ./travis/de /var/lib/locales/supported.d/de
|
||||
- sudo dpkg-reconfigure locales
|
||||
|
||||
before_script:
|
||||
# Compile PHP
|
||||
- ./travis/compile.sh
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--------------------------------------------------------------------
|
||||
The PHP License, version 3.01
|
||||
Copyright (c) 1999 - 2012 The PHP Group. All rights reserved.
|
||||
Copyright (c) 1999 - 2014 The PHP Group. All rights reserved.
|
||||
--------------------------------------------------------------------
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@ php_lcov.info: lcov-test
|
||||
@rm -rf lcov_data/
|
||||
@$(mkinstalldirs) lcov_data/
|
||||
@echo
|
||||
-@files=`find . -name \*.gcda -o -name \*.gcno -o -name \*.da -o -name \*.c -o -name \*.h | sed -e 's/^\.\///' | sed -e 's/\.gcda//g' -e 's/\.gcno//g' -e 's/\.da//g' | $(EGREP) $(LCOV_INCLUDE) | uniq` ;\
|
||||
-@files=`find . -name \*.gcda -o -name \*.gcno -o -name \*.da -o -name \*.c -o -name \*.h | sed -e 's/^\.\///' | sed -e 's/\.gcda//g' -e 's/\.gcno//g' -e 's/\.da//g' | $(EGREP) $(LCOV_INCLUDE) | sed -e 's/.libs/zzzz/g' | sort | sed -e 's/zzzz/.libs/g' | uniq` ;\
|
||||
for x in $$files; do \
|
||||
echo -n . ;\
|
||||
y=`echo $$x | sed -e 's!\.libs/!!'`; \
|
||||
|
||||
@@ -1,6 +1,209 @@
|
||||
PHP NEWS
|
||||
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||
?? ??? 2014, PHP 5.5.13
|
||||
18 Sep 2014, PHP 5.5.17
|
||||
|
||||
- Core:
|
||||
. Fixed bug #47358 (glob returns error, should be empty array()). (Pierre)
|
||||
. Fixed bug #65463 (SIGSEGV during zend_shutdown()). (Keyur Govande)
|
||||
. Fixed bug #66036 (Crash on SIGTERM in apache process). (Keyur Govande)
|
||||
. Fixed bug #67878 (program_prefix not honoured in man pages). (Remi)
|
||||
|
||||
- COM:
|
||||
. Fixed bug #41577 (DOTNET is successful once per server run)
|
||||
(Aidas Kasparas)
|
||||
|
||||
- FPM:
|
||||
. Fixed #67606 (FPM with mod_fastcgi/apache2.4 is broken). (David Zuelke)
|
||||
|
||||
- OpenSSL:
|
||||
. Fixed bug #41631 (socket timeouts not honored in blocking SSL reads).
|
||||
(Daniel Lowrey)
|
||||
. Fixed bug #67850 (extension won't build if openssl compiled without SSLv3)
|
||||
(Daniel Lowrey)
|
||||
|
||||
- SPL:
|
||||
. Fixed bug #67813 (CachingIterator::__construct InvalidArgumentException
|
||||
wrong message). (tim_siebels_aurich at yahoo dot de)
|
||||
|
||||
- Date:
|
||||
. Fixed bug #66091 (memory leaks in DateTime constructor). (Tjerk)
|
||||
. Fixed bug #66985 (Some timezones are no longer valid in PHP 5.5.10).
|
||||
(Derick)
|
||||
. Fixed bug #67109 (First uppercase letter breaks date string parsing).
|
||||
(Derick)
|
||||
|
||||
- GD
|
||||
. Made fontFetch's path parser thread-safe. (Sara).
|
||||
|
||||
- MySQLi:
|
||||
. Fixed bug #67839 (mysqli does not handle 4-byte floats correctly). (Keyur)
|
||||
|
||||
- Zlib:
|
||||
. Fixed bug #67724 (chained zlib filters silently fail with large amounts of
|
||||
data). (Mike)
|
||||
. Fixed bug #67865 (internal corruption phar error). Mike
|
||||
|
||||
21 Aug 2014, PHP 5.5.16
|
||||
|
||||
- COM:
|
||||
. Fixed missing type checks in com_event_sink (Yussuf Khalil, Stas).
|
||||
|
||||
- Fileinfo:
|
||||
. Fixed bug #67705 (extensive backtracking in rule regular expression).
|
||||
(CVE-2014-3538) (Remi)
|
||||
. Fixed bug #67716 (Segfault in cdf.c). (CVE-2014-3587) (Remi)
|
||||
|
||||
- FPM:
|
||||
. Fixed bug #67635 (php links to systemd libraries without using pkg-config).
|
||||
(pacho@gentoo.org, Remi)
|
||||
|
||||
- GD:
|
||||
. Fixed bug #66901 (php-gd 'c_color' NULL pointer dereference).
|
||||
(CVE-2014-2497) (Remi)
|
||||
. Fixed bug #67730 (Null byte injection possible with imagexxx functions).
|
||||
(CVE-2014-5120) (Ryan Mauger)
|
||||
|
||||
- Milter:
|
||||
. Fixed bug #67715 (php-milter does not build and crashes randomly). (Mike)
|
||||
|
||||
- Network:
|
||||
. Fixed bug #67717 (segfault in dns_get_record). (CVE-2014-3597) (Remi)
|
||||
|
||||
- OpenSSL:
|
||||
. Fixed missing type checks in OpenSSL options. (Yussuf Khalil, Stas)
|
||||
|
||||
- readline:
|
||||
. Fixed bug #55496 (Interactive mode doesn't force a newline before the
|
||||
prompt). (Bob, Johannes)
|
||||
. Fixed bug #67496 (Save command history when exiting interactive shell
|
||||
with control-c). (Dmitry Saprykin, Johannes)
|
||||
|
||||
- Sessions:
|
||||
. Fixed missing type checks in php_session_create_id (Yussuf Khalil, Stas).
|
||||
|
||||
- Core:
|
||||
. Fixed bug #67693 (incorrect push to the empty array) (Tjerk)
|
||||
|
||||
- ODBC:
|
||||
. Fixed bug #60616 (odbc_fetch_into returns junk data at end of multi-byte
|
||||
char fields). (Keyur)
|
||||
|
||||
24 Jul 2014, PHP 5.5.15
|
||||
|
||||
- Core:
|
||||
. Fixed bug #67428 (header('Location: foo') will override a 308-399 response
|
||||
code). (Adam)
|
||||
. Fixed bug #67436 (Autoloader isn't called if two method definitions don't
|
||||
match). (Bob)
|
||||
. Fixed bug #67091 (make install fails to install libphp5.so on FreeBSD 10.0).
|
||||
(Ferenc)
|
||||
. Fixed bug #67497 (eval with parse error causes segmentation fault in
|
||||
generator). (Nikita)
|
||||
. Fixed bug #67151 (strtr with empty array crashes). (Nikita)
|
||||
. Fixed bug #67407 (Windows 8.1/Server 2012 R2 reported as Windows 8/Server
|
||||
2012). (Christian Wenz)
|
||||
. Fixed bug #66608 (Incorrect behavior with nested "finally" blocks).
|
||||
(Laruence, Dmitry)
|
||||
. Implemented FR #34407 (ucwords and Title Case). (Tjerk)
|
||||
|
||||
- CLI server:
|
||||
. Implemented FR #67429 (CLI server is missing some new HTTP response codes).
|
||||
(Adam)
|
||||
. Fixed bug #66830 (Empty header causes PHP built-in web server to hang).
|
||||
(Adam)
|
||||
. Fixed bug #67594 (Unable to access to apache_request_headers() elements).
|
||||
(Tjerk)
|
||||
|
||||
- FPM:
|
||||
. Fixed bug #67530 (error_log=syslog ignored). (Remi)
|
||||
. Fixed bug #67531 (syslog cannot be set in pool configuration). (Remi)
|
||||
|
||||
- Intl:
|
||||
. Fixed bug #66921 (Wrong argument type hint for function
|
||||
intltz_from_date_time_zone). (Stas)
|
||||
. Fixed bug #67052 (NumberFormatter::parse() resets LC_NUMERIC setting).
|
||||
(Stas)
|
||||
|
||||
- OPCache:
|
||||
. Fixed bug #67215 (php-cgi work with opcache, may be segmentation fault
|
||||
happen) (Dmitry, Laruence)
|
||||
|
||||
- pgsql:
|
||||
. Fixed bug #67550 (Error in code "form" instead of "from", pgsql.c, line 756),
|
||||
which affected builds against libpq < 7.3. (Adam)
|
||||
|
||||
- Phar:
|
||||
. Fixed bug #67587 (Redirection loop on nginx with FPM). (Christian Weiske)
|
||||
|
||||
- SPL:
|
||||
. Fixed bug #67539 (ArrayIterator use-after-free due to object change during
|
||||
sorting). (CVE-2014-4698) (research at insighti dot org, Laruence)
|
||||
. Fixed bug #67538 (SPL Iterators use-after-free). (CVE-2014-4670) (Laruence)
|
||||
|
||||
- Streams:
|
||||
. Fixed bug #67430 (http:// wrapper doesn't follow 308 redirects). (Adam)
|
||||
|
||||
- Session:
|
||||
. Fixed bug #66827 (Session raises E_NOTICE when session name variable is array).
|
||||
(Yasuo)
|
||||
|
||||
27 Jun 2014, PHP 5.5.14
|
||||
|
||||
- Core:
|
||||
. Fixed BC break introduced by patch for bug #67072. (Anatol, Stas)
|
||||
. Fixed bug #66622 (Closures do not correctly capture the late bound class
|
||||
(static::) in some cases). (Levi Morrison)
|
||||
. Fixed bug #67390 (insecure temporary file use in the configure script).
|
||||
(Remi) (CVE-2014-3981)
|
||||
. Fixed bug #67399 (putenv with empty variable may lead to crash). (Stas)
|
||||
|
||||
- CLI server:
|
||||
. Fixed Bug #67406 (built-in web-server segfaults on startup). (Remi)
|
||||
|
||||
- Date:
|
||||
. Fixed bug #67308 (Serialize of DateTime truncates fractions of second).
|
||||
(Adam)
|
||||
. Fixed regression in fix for bug #67118 (constructor can't be called twice).
|
||||
(Remi)
|
||||
|
||||
- Fileinfo:
|
||||
. Fixed bug #67326 (fileinfo: cdf_read_short_sector insufficient boundary check).
|
||||
. Fixed bug #67410 (fileinfo: mconvert incorrect handling of truncated pascal
|
||||
string size). (Francisco Alonso, Jan Kaluza, Remi)
|
||||
. Fixed bug #67411 (fileinfo: cdf_check_stream_offset insufficient boundary
|
||||
check). (Francisco Alonso, Jan Kaluza, Remi)
|
||||
. Fixed bug #67412 (fileinfo: cdf_count_chain insufficient boundary check).
|
||||
(Francisco Alonso, Jan Kaluza, Remi)
|
||||
. Fixed bug #67413 (fileinfo: cdf_read_property_info insufficient boundary
|
||||
check). (Francisco Alonso, Jan Kaluza, Remi)
|
||||
|
||||
- Network:
|
||||
. Fixed bug #67432 (Fix potential segfault in dns_get_record()).
|
||||
(CVE-2014-4049). (Sara)
|
||||
|
||||
- OPCache:
|
||||
. Fixed issue #183 (TMP_VAR is not only used once). (Dmitry, Laruence)
|
||||
|
||||
- OpenSSL:
|
||||
. Fixed bug #65698 (certificates validity parsing does not work past 2050).
|
||||
(Paul Oehler)
|
||||
. Fixed bug #66636 (openssl_x509_parse warning with V_ASN1_GENERALIZEDTIME).
|
||||
(Paul Oehler)
|
||||
|
||||
- PDO-ODBC:
|
||||
. Fixed bug #50444 (PDO-ODBC changes for 64-bit).
|
||||
|
||||
- SOAP:
|
||||
. Implemented FR #49898 (Add SoapClient::__getCookies()). (Boro Sitnikovski)
|
||||
|
||||
- SPL:
|
||||
. Fixed bug #66127 (Segmentation fault with ArrayObject unset). (Stas)
|
||||
. Fixed bug #67359 (Segfault in recursiveDirectoryIterator). (Laruence)
|
||||
. Fixed bug #67360 (Missing element after ArrayObject::getIterator). (Adam)
|
||||
. Fixed bug #67492 (unserialize() SPL ArrayObject / SPLObjectStorage Type
|
||||
Confusion). (CVE-2014-3515) (Stefan Esser)
|
||||
|
||||
29 May 2014, PHP 5.5.13
|
||||
|
||||
- CLI server:
|
||||
. Fixed bug #67079 (Missing MIME types for XML/XSL files). (Anatol)
|
||||
@@ -15,6 +218,7 @@ PHP NEWS
|
||||
. Fixed bug #67245 (usage of memcpy() with overlapping src and dst in
|
||||
zend_exceptions.c). (Bob)
|
||||
. Fixed bug #67247 (spl_fixedarray_resize integer overflow). (Stas)
|
||||
. Fixed bug #67249 (printf out-of-bounds read). (Stas)
|
||||
. Fixed bug #67250 (iptcparse out-of-bounds read). (Stas)
|
||||
. Fixed bug #67252 (convert_uudecode out-of-bounds read). (Stas)
|
||||
|
||||
@@ -32,6 +236,9 @@ PHP NEWS
|
||||
|
||||
- Fileinfo:
|
||||
. Fixed bug #66307 (Fileinfo crashes with powerpoint files). (Anatol)
|
||||
. Fixed bug #67327 (fileinfo: CDF infinite loop in nelements DoS) (CVE-2014-0238).
|
||||
. Fixed bug #67328 (fileinfo: fileinfo: numerous file_printf calls resulting in
|
||||
performance degradation) (CVE-2014-0237).
|
||||
|
||||
- FPM:
|
||||
. Fixed bug #66908 (php-fpm reload leaks epoll_create() file descriptor).
|
||||
|
||||
+8
-4
@@ -45,15 +45,16 @@ Currently we have the following branches in use::
|
||||
|
||||
master The active development branch.
|
||||
|
||||
PHP-5.6 Is used to release the PHP 5.6.x series. This is a current
|
||||
stable version and is open for bugfixes only.
|
||||
|
||||
PHP-5.5 Is used to release the PHP 5.5.x series. This is a current
|
||||
stable version and is open for bugfixes only.
|
||||
|
||||
PHP-5.4 Is used to release the PHP 5.4.x series. This is a current
|
||||
stable version and is open for bugfixes only.
|
||||
|
||||
PHP-5.3 Is used to release the PHP 5.3.x series. This is currently
|
||||
in extended support and open forsecurity fixes only. Triaged
|
||||
via security@php.net
|
||||
PHP-5.3 This branch is closed.
|
||||
|
||||
PHP-5.2 This branch is closed.
|
||||
|
||||
@@ -61,9 +62,12 @@ Currently we have the following branches in use::
|
||||
|
||||
PHP-4.4 This branch is closed.
|
||||
|
||||
PHP-X.Y.Z These branches are used for the release managers for tagging
|
||||
the releases, hence they are closed to the general public.
|
||||
|
||||
The next few rules are more of a technical nature::
|
||||
|
||||
1. All changes should first go to the lowest branch (i.e. 5.3) and then
|
||||
1. All changes should first go to the lowest branch (i.e. 5.4) and then
|
||||
get merged up to all other branches. If a change is not needed for
|
||||
later branches (i.e. fixes for features which where dropped from later
|
||||
branches) an empty merge should be done.
|
||||
|
||||
Executable → Regular
File mode changed.
@@ -7,6 +7,7 @@ PHP 5.5 UPGRADE NOTES
|
||||
2. Changes in SAPI modules
|
||||
3. Deprecated Functionality
|
||||
4. Changed Functions
|
||||
a. unserialize() change
|
||||
5. New Functions
|
||||
6. New Classes and Interfaces
|
||||
7. Removed Extensions
|
||||
@@ -193,8 +194,46 @@ PHP 5.5 UPGRADE NOTES
|
||||
- Since 5.5.4, fputcsv() has fifth parameter escape_char, allowing to
|
||||
specify escape char.
|
||||
|
||||
- Manipulated serialization strings for objects implementing Serializable by
|
||||
replacing "C:" with "O:" at the start will now produce an error.
|
||||
4a. unserialize() change
|
||||
------------------------
|
||||
|
||||
- Starting PHP 5.5.13, the bug fix for bug #67072 introduces a change to
|
||||
unserialize() function, detailed below:
|
||||
|
||||
If the string looking like 'O:..:"ClassName":...' is unserialized, and
|
||||
the class named is an internal class that declares custom unserializer
|
||||
function, or extends such class, unserialize would fail.
|
||||
|
||||
Using O: for user classes not extending internal classes (including
|
||||
those implementing Serializable) is still supported in 5.4, though
|
||||
it is deprecated and may not be supported in 5.6 for classes that do not
|
||||
originally serialize to O:. Same for using O: for internal classes
|
||||
implementing Serializable (like ArrayObject) and classes that extend
|
||||
them.
|
||||
|
||||
The reason for that is that O: format is meant to be used with classes
|
||||
that do not define custom handlers, and was never intended for the use
|
||||
with classes that do. When used with the class that relies on custom
|
||||
unserializer, it can leave the object of such internal class in an
|
||||
inconsistent state which has been observed to result in crashes and may
|
||||
also lead to memory corruption and ultimately even arbitrary code
|
||||
execution. This was never the intended use of unserializer, and mere
|
||||
possibility of doing this constitutes a bug, since the data passed to
|
||||
unserialize() is not a valid serialization of any object. Since there
|
||||
are many applications applying unserialize() to untrusted data, this
|
||||
presents a potential security vulnerability. Thus, keeping such bug in
|
||||
the code base was considered too dangerous.
|
||||
|
||||
We are aware that some applications use O: format as a way to
|
||||
instantiate classes. This was never the intended usage of serializer,
|
||||
and ReflectionClass methods such as newInstance or
|
||||
newInstanceWithoutConstructor can be used for that. We're working on
|
||||
providing more comprehensive solution for such use cases in PHP 5.6 and
|
||||
welcome the ideas in this area.
|
||||
|
||||
We note also that using unserialize() on any data that is not the result
|
||||
of serialize() call continues to be an unsupported scenario and should
|
||||
not be relied on to produce any specific result.
|
||||
|
||||
========================================
|
||||
5. New Functions
|
||||
@@ -309,6 +348,9 @@ PHP 5.5 UPGRADE NOTES
|
||||
- LDAP:
|
||||
- ldap_modify_batch() (5.5.10)
|
||||
|
||||
- SOAP:
|
||||
- SoapClient::__getCookies() (5.5.14)
|
||||
|
||||
- Sockets:
|
||||
- socket_sendmsg()
|
||||
- socket_recvmsg()
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
--TEST--
|
||||
Bug #66608 (Incorrect behavior with nested "finally" blocks)
|
||||
--FILE--
|
||||
<?php
|
||||
function bar() {
|
||||
try {
|
||||
echo "1\n";
|
||||
try {
|
||||
} finally {
|
||||
try {
|
||||
} finally {
|
||||
}
|
||||
echo "2\n";
|
||||
}
|
||||
} finally {
|
||||
try {
|
||||
throw new Exception ("");
|
||||
} catch (Exception $ab) {
|
||||
echo "3\n";
|
||||
} finally {
|
||||
try {
|
||||
} finally {
|
||||
echo "4\n";
|
||||
try {
|
||||
} finally {
|
||||
}
|
||||
echo "5\n";
|
||||
}
|
||||
}
|
||||
echo "6\n";
|
||||
try {
|
||||
} finally {
|
||||
while (1) {
|
||||
try {
|
||||
echo "7\n";
|
||||
break;
|
||||
} finally {
|
||||
echo "8\n";
|
||||
}
|
||||
echo "bad";
|
||||
}
|
||||
echo "9\n";
|
||||
while (1) {
|
||||
try {
|
||||
throw new Exception("");
|
||||
} catch(Exception $e) {
|
||||
echo "10\n";
|
||||
break;
|
||||
} finally {
|
||||
echo "11\n";
|
||||
}
|
||||
echo "bak\n";
|
||||
}
|
||||
}
|
||||
echo "12\n";
|
||||
}
|
||||
echo "13\n";
|
||||
}
|
||||
bar();
|
||||
--EXPECT--
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
10
|
||||
11
|
||||
12
|
||||
13
|
||||
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
class a {
|
||||
public function test($arg = c::TESTCONSTANT) {
|
||||
echo __METHOD__ . "($arg)\n";
|
||||
}
|
||||
|
||||
static public function staticTest() {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
<?php
|
||||
|
||||
class b extends a {
|
||||
public function test() {
|
||||
echo __METHOD__ . "()\n";
|
||||
parent::test();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
--TEST--
|
||||
bug67436: Autoloader isn't called if user defined error handler is present
|
||||
|
||||
--INI--
|
||||
error_reporting=
|
||||
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
spl_autoload_register(function($classname) {
|
||||
if (in_array($classname, array('a','b','c'))) {
|
||||
require_once ($classname . '.php');
|
||||
}
|
||||
});
|
||||
|
||||
set_error_handler(function ($errno, $errstr, $errfile, $errline) {
|
||||
}, error_reporting());
|
||||
|
||||
a::staticTest();
|
||||
|
||||
$b = new b();
|
||||
$b->test();
|
||||
|
||||
--EXPECT--
|
||||
b::test()
|
||||
a::test(c::TESTCONSTANT)
|
||||
@@ -0,0 +1,24 @@
|
||||
--TEST--
|
||||
bug67436: E_STRICT instead of custom error handler
|
||||
|
||||
--INI--
|
||||
error_reporting=-1
|
||||
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
spl_autoload_register(function($classname) {
|
||||
if (in_array($classname, array('a','b','c'))) {
|
||||
require_once ($classname . '.php');
|
||||
}
|
||||
});
|
||||
|
||||
a::staticTest();
|
||||
|
||||
$b = new b();
|
||||
$b->test();
|
||||
|
||||
--EXPECTF--
|
||||
Strict Standards: Declaration of b::test() should be compatible with a::test($arg = c::TESTCONSTANT) in %s/bug67436/b.php on line %d
|
||||
b::test()
|
||||
a::test(c::TESTCONSTANT)
|
||||
@@ -0,0 +1,5 @@
|
||||
<?php
|
||||
|
||||
class c {
|
||||
const TESTCONSTANT = "c::TESTCONSTANT";
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
--TEST--
|
||||
Closure 049: static::class in static closure in non-static method.
|
||||
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
class A {
|
||||
function foo() {
|
||||
$f = static function() {
|
||||
return static::class;
|
||||
};
|
||||
return $f();
|
||||
}
|
||||
}
|
||||
|
||||
class B extends A {}
|
||||
|
||||
$b = new B;
|
||||
|
||||
var_dump($b->foo());
|
||||
--EXPECT--
|
||||
string(1) "B"
|
||||
@@ -0,0 +1,22 @@
|
||||
--TEST--
|
||||
Closure 050: static::class in non-static closure in non-static method.
|
||||
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
class A {
|
||||
function foo() {
|
||||
$f = function() {
|
||||
return static::class;
|
||||
};
|
||||
return $f();
|
||||
}
|
||||
}
|
||||
|
||||
class B extends A {}
|
||||
|
||||
$b = new B;
|
||||
var_dump($b->foo());
|
||||
|
||||
--EXPECT--
|
||||
string(1) "B"
|
||||
@@ -0,0 +1,21 @@
|
||||
--TEST--
|
||||
Closure 051: static::class in static closure in static method.
|
||||
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
class A {
|
||||
static function foo() {
|
||||
$f = static function() {
|
||||
return static::class;
|
||||
};
|
||||
return $f();
|
||||
}
|
||||
}
|
||||
|
||||
class B extends A {}
|
||||
|
||||
var_dump(B::foo());
|
||||
|
||||
--EXPECT--
|
||||
string(1) "B"
|
||||
@@ -0,0 +1,21 @@
|
||||
--TEST--
|
||||
Closure 052: static::class in non-static closure in static method.
|
||||
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
class A {
|
||||
static function foo() {
|
||||
$f = function() {
|
||||
return static::class;
|
||||
};
|
||||
return $f();
|
||||
}
|
||||
}
|
||||
|
||||
class B extends A {}
|
||||
|
||||
var_dump(B::foo());
|
||||
|
||||
--EXPECT--
|
||||
string(1) "B"
|
||||
@@ -0,0 +1,22 @@
|
||||
--TEST--
|
||||
Closure 053: self::class in static closure in non-static method.
|
||||
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
class A {
|
||||
function foo() {
|
||||
$f = static function() {
|
||||
return self::class;
|
||||
};
|
||||
return $f();
|
||||
}
|
||||
}
|
||||
|
||||
class B extends A {}
|
||||
|
||||
$b = new B;
|
||||
var_dump($b->foo());
|
||||
|
||||
--EXPECT--
|
||||
string(1) "A"
|
||||
@@ -0,0 +1,22 @@
|
||||
--TEST--
|
||||
Closure 054: self::class in non-static closure in non-static method.
|
||||
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
class A {
|
||||
function foo() {
|
||||
$f = function() {
|
||||
return self::class;
|
||||
};
|
||||
return $f();
|
||||
}
|
||||
}
|
||||
|
||||
class B extends A {}
|
||||
|
||||
$b = new B;
|
||||
var_dump($b->foo());
|
||||
|
||||
--EXPECT--
|
||||
string(1) "A"
|
||||
@@ -0,0 +1,21 @@
|
||||
--TEST--
|
||||
Closure 055: self::class in static closure in static method.
|
||||
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
class A {
|
||||
static function foo() {
|
||||
$f = static function() {
|
||||
return self::class;
|
||||
};
|
||||
return $f();
|
||||
}
|
||||
}
|
||||
|
||||
class B extends A {}
|
||||
|
||||
var_dump(B::foo());
|
||||
|
||||
--EXPECT--
|
||||
string(1) "A"
|
||||
@@ -0,0 +1,21 @@
|
||||
--TEST--
|
||||
Closure 056: self::class in non-static closure in static method.
|
||||
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
class A {
|
||||
static function foo() {
|
||||
$f = function() {
|
||||
return self::class;
|
||||
};
|
||||
return $f();
|
||||
}
|
||||
}
|
||||
|
||||
class B extends A {}
|
||||
|
||||
var_dump(B::foo());
|
||||
|
||||
--EXPECT--
|
||||
string(1) "A"
|
||||
@@ -0,0 +1,37 @@
|
||||
--TEST--
|
||||
Bug 66622: Closures do not correctly capture the late bound class (static::) in some cases
|
||||
|
||||
--FILE--
|
||||
<?php
|
||||
class A {
|
||||
static function name() { return 'A'; }
|
||||
function foo() {
|
||||
$fn = function() { return static::name(); };
|
||||
echo static::name() . ' vs ' . $fn() . "\n";
|
||||
}
|
||||
function bar() {
|
||||
$fn = static function() { return static::name(); };
|
||||
echo static::name() . ' vs ' . $fn() . "\n";
|
||||
}
|
||||
static function baz() {
|
||||
$fn = function() { return static::name(); };
|
||||
echo static::name() . ' vs ' . $fn() . "\n";
|
||||
}
|
||||
}
|
||||
class B extends A {
|
||||
static function name() { return 'B'; }
|
||||
}
|
||||
|
||||
function test() {
|
||||
(new B)->foo();
|
||||
(new B)->bar();
|
||||
(new B)->baz();
|
||||
B::baz();
|
||||
}
|
||||
test();
|
||||
|
||||
--EXPECT--
|
||||
B vs B
|
||||
B vs B
|
||||
B vs B
|
||||
B vs B
|
||||
@@ -0,0 +1,19 @@
|
||||
--TEST--
|
||||
Bug #67467: eval with parse error causes segmentation fault in generator
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
function gen() {
|
||||
$a = 1;
|
||||
yield $a;
|
||||
}
|
||||
|
||||
@eval('abc');
|
||||
|
||||
$values = gen();
|
||||
$values->next();
|
||||
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECT--
|
||||
===DONE===
|
||||
@@ -0,0 +1,15 @@
|
||||
--TEST--
|
||||
Try finally (segfault with empty break)
|
||||
--FILE--
|
||||
<?php
|
||||
function foo () {
|
||||
try {
|
||||
break;
|
||||
} finally {
|
||||
}
|
||||
}
|
||||
|
||||
foo();
|
||||
?>
|
||||
--EXPECTF--
|
||||
Fatal error: Cannot break/continue 1 level in %stry_finally_011.php on line %d
|
||||
+14
@@ -814,6 +814,20 @@ void zend_shutdown(TSRMLS_D) /* {{{ */
|
||||
zend_shutdown_timeout_thread();
|
||||
#endif
|
||||
zend_destroy_rsrc_list(&EG(persistent_list) TSRMLS_CC);
|
||||
|
||||
if (EG(active))
|
||||
{
|
||||
/*
|
||||
* The order of destruction is important here.
|
||||
* See bugs #65463 and 66036.
|
||||
*/
|
||||
zend_hash_reverse_apply(GLOBAL_FUNCTION_TABLE, (apply_func_t) zend_cleanup_function_data_full TSRMLS_CC);
|
||||
zend_hash_reverse_apply(GLOBAL_CLASS_TABLE, (apply_func_t) zend_cleanup_user_class_data TSRMLS_CC);
|
||||
zend_cleanup_internal_classes(TSRMLS_C);
|
||||
zend_hash_reverse_apply(GLOBAL_FUNCTION_TABLE, (apply_func_t) clean_non_persistent_function_full TSRMLS_CC);
|
||||
zend_hash_reverse_apply(GLOBAL_CLASS_TABLE, (apply_func_t) clean_non_persistent_class_full TSRMLS_CC);
|
||||
}
|
||||
|
||||
zend_destroy_modules();
|
||||
|
||||
zend_hash_destroy(GLOBAL_FUNCTION_TABLE);
|
||||
|
||||
@@ -245,16 +245,16 @@ static const zend_function_entry builtin_functions[] = { /* {{{ */
|
||||
ZEND_FE(func_num_args, arginfo_zend__void)
|
||||
ZEND_FE(func_get_arg, arginfo_func_get_arg)
|
||||
ZEND_FE(func_get_args, arginfo_zend__void)
|
||||
ZEND_FE(strlen, arginfo_strlen)
|
||||
ZEND_FE(strcmp, arginfo_strcmp)
|
||||
ZEND_FE(strncmp, arginfo_strncmp)
|
||||
ZEND_FE(strcasecmp, arginfo_strcmp)
|
||||
ZEND_FE(strlen, arginfo_strlen)
|
||||
ZEND_FE(strcmp, arginfo_strcmp)
|
||||
ZEND_FE(strncmp, arginfo_strncmp)
|
||||
ZEND_FE(strcasecmp, arginfo_strcmp)
|
||||
ZEND_FE(strncasecmp, arginfo_strncmp)
|
||||
ZEND_FE(each, arginfo_each)
|
||||
ZEND_FE(each, arginfo_each)
|
||||
ZEND_FE(error_reporting, arginfo_error_reporting)
|
||||
ZEND_FE(define, arginfo_define)
|
||||
ZEND_FE(defined, arginfo_defined)
|
||||
ZEND_FE(get_class, arginfo_get_class)
|
||||
ZEND_FE(define, arginfo_define)
|
||||
ZEND_FE(defined, arginfo_defined)
|
||||
ZEND_FE(get_class, arginfo_get_class)
|
||||
ZEND_FE(get_called_class, arginfo_zend__void)
|
||||
ZEND_FE(get_parent_class, arginfo_get_class)
|
||||
ZEND_FE(method_exists, arginfo_method_exists)
|
||||
@@ -274,13 +274,13 @@ static const zend_function_entry builtin_functions[] = { /* {{{ */
|
||||
ZEND_FE(get_included_files, arginfo_zend__void)
|
||||
ZEND_FALIAS(get_required_files, get_included_files, arginfo_zend__void)
|
||||
ZEND_FE(is_subclass_of, arginfo_is_subclass_of)
|
||||
ZEND_FE(is_a, arginfo_is_subclass_of)
|
||||
ZEND_FE(is_a, arginfo_is_subclass_of)
|
||||
ZEND_FE(get_class_vars, arginfo_get_class_vars)
|
||||
ZEND_FE(get_object_vars, arginfo_get_object_vars)
|
||||
ZEND_FE(get_class_methods, arginfo_get_class_methods)
|
||||
ZEND_FE(trigger_error, arginfo_trigger_error)
|
||||
ZEND_FALIAS(user_error, trigger_error, arginfo_trigger_error)
|
||||
ZEND_FE(set_error_handler, arginfo_set_error_handler)
|
||||
ZEND_FE(set_error_handler, arginfo_set_error_handler)
|
||||
ZEND_FE(restore_error_handler, arginfo_zend__void)
|
||||
ZEND_FE(set_exception_handler, arginfo_set_exception_handler)
|
||||
ZEND_FE(restore_exception_handler, arginfo_zend__void)
|
||||
@@ -288,14 +288,14 @@ static const zend_function_entry builtin_functions[] = { /* {{{ */
|
||||
ZEND_FE(get_declared_traits, arginfo_zend__void)
|
||||
ZEND_FE(get_declared_interfaces, arginfo_zend__void)
|
||||
ZEND_FE(get_defined_functions, arginfo_zend__void)
|
||||
ZEND_FE(get_defined_vars, arginfo_zend__void)
|
||||
ZEND_FE(create_function, arginfo_create_function)
|
||||
ZEND_FE(get_resource_type, arginfo_get_resource_type)
|
||||
ZEND_FE(get_defined_vars, arginfo_zend__void)
|
||||
ZEND_FE(create_function, arginfo_create_function)
|
||||
ZEND_FE(get_resource_type, arginfo_get_resource_type)
|
||||
ZEND_FE(get_loaded_extensions, arginfo_get_loaded_extensions)
|
||||
ZEND_FE(extension_loaded, arginfo_extension_loaded)
|
||||
ZEND_FE(extension_loaded, arginfo_extension_loaded)
|
||||
ZEND_FE(get_extension_funcs, arginfo_extension_loaded)
|
||||
ZEND_FE(get_defined_constants, arginfo_get_defined_constants)
|
||||
ZEND_FE(debug_backtrace, arginfo_debug_backtrace)
|
||||
ZEND_FE(debug_backtrace, arginfo_debug_backtrace)
|
||||
ZEND_FE(debug_print_backtrace, arginfo_debug_print_backtrace)
|
||||
#if ZEND_DEBUG
|
||||
ZEND_FE(zend_test_func, NULL)
|
||||
@@ -305,7 +305,7 @@ static const zend_function_entry builtin_functions[] = { /* {{{ */
|
||||
#endif
|
||||
ZEND_FE(gc_collect_cycles, arginfo_zend__void)
|
||||
ZEND_FE(gc_enabled, arginfo_zend__void)
|
||||
ZEND_FE(gc_enable, arginfo_zend__void)
|
||||
ZEND_FE(gc_enable, arginfo_zend__void)
|
||||
ZEND_FE(gc_disable, arginfo_zend__void)
|
||||
ZEND_FE_END
|
||||
};
|
||||
|
||||
@@ -486,6 +486,7 @@ ZEND_API void zend_create_closure(zval *res, zend_function *func, zend_class_ent
|
||||
}
|
||||
}
|
||||
|
||||
closure->this_ptr = NULL;
|
||||
/* Invariants:
|
||||
* If the closure is unscoped, it has no bound object.
|
||||
* The the closure is scoped, it's either static or it's bound */
|
||||
@@ -497,10 +498,7 @@ ZEND_API void zend_create_closure(zval *res, zend_function *func, zend_class_ent
|
||||
Z_ADDREF_P(this_ptr);
|
||||
} else {
|
||||
closure->func.common.fn_flags |= ZEND_ACC_STATIC;
|
||||
closure->this_ptr = NULL;
|
||||
}
|
||||
} else {
|
||||
closure->this_ptr = NULL;
|
||||
}
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
+6
-3
@@ -3336,8 +3336,11 @@ static char * zend_get_function_declaration(zend_function *fptr TSRMLS_DC) /* {{
|
||||
*zv = *precv->op2.zv;
|
||||
zval_copy_ctor(zv);
|
||||
INIT_PZVAL(zv);
|
||||
zval_update_constant_ex(&zv, (void*)1, fptr->common.scope TSRMLS_CC);
|
||||
if (Z_TYPE_P(zv) == IS_BOOL) {
|
||||
if ((Z_TYPE_P(zv) & IS_CONSTANT_TYPE_MASK) == IS_CONSTANT) {
|
||||
REALLOC_BUF_IF_EXCEED(buf, offset, length, Z_STRLEN_P(zv));
|
||||
memcpy(offset, Z_STRVAL_P(zv), Z_STRLEN_P(zv));
|
||||
offset += Z_STRLEN_P(zv);
|
||||
} else if (Z_TYPE_P(zv) == IS_BOOL) {
|
||||
if (Z_LVAL_P(zv)) {
|
||||
memcpy(offset, "true", 4);
|
||||
offset += 4;
|
||||
@@ -3359,7 +3362,7 @@ static char * zend_get_function_declaration(zend_function *fptr TSRMLS_DC) /* {{
|
||||
*(offset++) = '.';
|
||||
}
|
||||
*(offset++) = '\'';
|
||||
} else if (Z_TYPE_P(zv) == IS_ARRAY) {
|
||||
} else if (Z_TYPE_P(zv) == IS_ARRAY || (Z_TYPE_P(zv) & IS_CONSTANT_TYPE_MASK) == IS_CONSTANT_ARRAY) {
|
||||
memcpy(offset, "Array", 5);
|
||||
offset += 5;
|
||||
} else {
|
||||
|
||||
@@ -666,6 +666,8 @@ ZEND_API void zend_cleanup_internal_class_data(zend_class_entry *ce TSRMLS_DC);
|
||||
ZEND_API void zend_cleanup_internal_classes(TSRMLS_D);
|
||||
ZEND_API int zend_cleanup_function_data(zend_function *function TSRMLS_DC);
|
||||
ZEND_API int zend_cleanup_function_data_full(zend_function *function TSRMLS_DC);
|
||||
ZEND_API int clean_non_persistent_function_full(zend_function *function TSRMLS_DC);
|
||||
ZEND_API int clean_non_persistent_class_full(zend_class_entry **ce TSRMLS_DC);
|
||||
|
||||
ZEND_API void destroy_zend_function(zend_function *function TSRMLS_DC);
|
||||
ZEND_API void zend_function_dtor(zend_function *function);
|
||||
@@ -843,6 +845,9 @@ int zend_add_literal(zend_op_array *op_array, const zval *zv TSRMLS_DC);
|
||||
#define ZEND_FAST_RET_TO_CATCH 1
|
||||
#define ZEND_FAST_RET_TO_FINALLY 2
|
||||
|
||||
#define ZEND_FAST_CALL_FROM_CATCH 1
|
||||
#define ZEND_FAST_CALL_FROM_FINALLY 2
|
||||
|
||||
END_EXTERN_C()
|
||||
|
||||
#define ZEND_CLONE_FUNC_NAME "__clone"
|
||||
|
||||
@@ -109,7 +109,7 @@ static int clean_non_persistent_function(zend_function *function TSRMLS_DC) /* {
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
static int clean_non_persistent_function_full(zend_function *function TSRMLS_DC) /* {{{ */
|
||||
ZEND_API int clean_non_persistent_function_full(zend_function *function TSRMLS_DC) /* {{{ */
|
||||
{
|
||||
return (function->type == ZEND_INTERNAL_FUNCTION) ? ZEND_HASH_APPLY_KEEP : ZEND_HASH_APPLY_REMOVE;
|
||||
}
|
||||
@@ -121,7 +121,7 @@ static int clean_non_persistent_class(zend_class_entry **ce TSRMLS_DC) /* {{{ */
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
static int clean_non_persistent_class_full(zend_class_entry **ce TSRMLS_DC) /* {{{ */
|
||||
ZEND_API int clean_non_persistent_class_full(zend_class_entry **ce TSRMLS_DC) /* {{{ */
|
||||
{
|
||||
return ((*ce)->type == ZEND_INTERNAL_CLASS) ? ZEND_HASH_APPLY_KEEP : ZEND_HASH_APPLY_REMOVE;
|
||||
}
|
||||
@@ -448,8 +448,6 @@ ZEND_API int zend_is_true(zval *op) /* {{{ */
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
#include "../TSRM/tsrm_strtok_r.h"
|
||||
|
||||
#define IS_VISITED_CONSTANT IS_CONSTANT_INDEX
|
||||
#define IS_CONSTANT_VISITED(p) (Z_TYPE_P(p) & IS_VISITED_CONSTANT)
|
||||
#define Z_REAL_TYPE_P(p) (Z_TYPE_P(p) & ~IS_VISITED_CONSTANT)
|
||||
|
||||
@@ -125,6 +125,7 @@ ZEND_API void zend_generator_close(zend_generator *generator, zend_bool finished
|
||||
/* A fatal error / die occurred during the generator execution. Trying to clean
|
||||
* up the stack may not be safe in this case. */
|
||||
if (CG(unclean_shutdown)) {
|
||||
generator->execute_data = NULL;
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
+72
-13
@@ -509,6 +509,49 @@ static void zend_check_finally_breakout(zend_op_array *op_array, zend_uint op_nu
|
||||
}
|
||||
}
|
||||
|
||||
static void zend_adjust_fast_call(zend_op_array *op_array, zend_uint fast_call, zend_uint start, zend_uint end TSRMLS_DC)
|
||||
{
|
||||
int i;
|
||||
zend_uint op_num = 0;
|
||||
|
||||
for (i = 0; i < op_array->last_try_catch; i++) {
|
||||
if (op_array->try_catch_array[i].finally_op > start
|
||||
&& op_array->try_catch_array[i].finally_end < end) {
|
||||
op_num = op_array->try_catch_array[i].finally_op;
|
||||
start = op_array->try_catch_array[i].finally_end;
|
||||
}
|
||||
}
|
||||
|
||||
if (op_num) {
|
||||
/* Must be ZEND_FAST_CALL */
|
||||
ZEND_ASSERT(op_array->opcodes[op_num - 2].opcode == ZEND_FAST_CALL);
|
||||
op_array->opcodes[op_num - 2].extended_value = ZEND_FAST_CALL_FROM_FINALLY;
|
||||
op_array->opcodes[op_num - 2].op2.opline_num = fast_call;
|
||||
}
|
||||
}
|
||||
|
||||
static void zend_resolve_fast_call(zend_op_array *op_array, zend_uint fast_call, zend_uint op_num TSRMLS_DC)
|
||||
{
|
||||
int i;
|
||||
zend_uint finally_op_num = 0;
|
||||
|
||||
for (i = 0; i < op_array->last_try_catch; i++) {
|
||||
if (op_num >= op_array->try_catch_array[i].finally_op
|
||||
&& op_num < op_array->try_catch_array[i].finally_end) {
|
||||
finally_op_num = op_array->try_catch_array[i].finally_op;
|
||||
}
|
||||
}
|
||||
|
||||
if (finally_op_num) {
|
||||
/* Must be ZEND_FAST_CALL */
|
||||
ZEND_ASSERT(op_array->opcodes[finally_op_num - 2].opcode == ZEND_FAST_CALL);
|
||||
if (op_array->opcodes[fast_call].extended_value == 0) {
|
||||
op_array->opcodes[fast_call].extended_value = ZEND_FAST_CALL_FROM_FINALLY;
|
||||
op_array->opcodes[fast_call].op2.opline_num = finally_op_num - 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void zend_resolve_finally_call(zend_op_array *op_array, zend_uint op_num, zend_uint dst_num TSRMLS_DC)
|
||||
{
|
||||
zend_uint start_op;
|
||||
@@ -536,11 +579,23 @@ static void zend_resolve_finally_call(zend_op_array *op_array, zend_uint op_num,
|
||||
opline->opcode = ZEND_FAST_CALL;
|
||||
SET_UNUSED(opline->op1);
|
||||
SET_UNUSED(opline->op2);
|
||||
opline->op1.opline_num = op_array->try_catch_array[i].finally_op;
|
||||
zend_adjust_fast_call(op_array, start_op,
|
||||
op_array->try_catch_array[i].finally_op,
|
||||
op_array->try_catch_array[i].finally_end TSRMLS_CC);
|
||||
if (op_array->try_catch_array[i].catch_op) {
|
||||
opline->extended_value = 1;
|
||||
opline->extended_value = ZEND_FAST_CALL_FROM_CATCH;
|
||||
opline->op2.opline_num = op_array->try_catch_array[i].catch_op;
|
||||
opline->op1.opline_num = get_next_op_number(op_array);
|
||||
/* generate a FAST_CALL to hole CALL_FROM_FINALLY */
|
||||
opline = get_next_op(op_array TSRMLS_CC);
|
||||
opline->opcode = ZEND_FAST_CALL;
|
||||
SET_UNUSED(opline->op1);
|
||||
SET_UNUSED(opline->op2);
|
||||
zend_resolve_fast_call(op_array, start_op + 1, op_array->try_catch_array[i].finally_op - 2 TSRMLS_CC);
|
||||
} else {
|
||||
zend_resolve_fast_call(op_array, start_op, op_array->try_catch_array[i].finally_op - 2 TSRMLS_CC);
|
||||
}
|
||||
opline->op1.opline_num = op_array->try_catch_array[i].finally_op;
|
||||
|
||||
/* generate a sequence of FAST_CALL to upward finally block */
|
||||
while (i > 0) {
|
||||
@@ -605,10 +660,10 @@ static void zend_resolve_finally_ret(zend_op_array *op_array, zend_uint op_num T
|
||||
|
||||
static void zend_resolve_finally_calls(zend_op_array *op_array TSRMLS_DC)
|
||||
{
|
||||
zend_uint i;
|
||||
zend_uint i, j;
|
||||
zend_op *opline;
|
||||
|
||||
for (i = 0; i < op_array->last; i++) {
|
||||
for (i = 0, j = op_array->last; i < j; i++) {
|
||||
opline = op_array->opcodes + i;
|
||||
switch (opline->opcode) {
|
||||
case ZEND_RETURN:
|
||||
@@ -623,15 +678,16 @@ static void zend_resolve_finally_calls(zend_op_array *op_array TSRMLS_DC)
|
||||
zend_brk_cont_element *jmp_to;
|
||||
|
||||
nest_levels = Z_LVAL(op_array->literals[opline->op2.constant].constant);
|
||||
array_offset = opline->op1.opline_num;
|
||||
do {
|
||||
jmp_to = &op_array->brk_cont_array[array_offset];
|
||||
if (nest_levels > 1) {
|
||||
array_offset = jmp_to->parent;
|
||||
}
|
||||
} while (--nest_levels > 0);
|
||||
zend_resolve_finally_call(op_array, i, opline->opcode == ZEND_BRK ? jmp_to->brk : jmp_to->cont TSRMLS_CC);
|
||||
break;
|
||||
if ((array_offset = opline->op1.opline_num) != -1) {
|
||||
do {
|
||||
jmp_to = &op_array->brk_cont_array[array_offset];
|
||||
if (nest_levels > 1) {
|
||||
array_offset = jmp_to->parent;
|
||||
}
|
||||
} while (--nest_levels > 0);
|
||||
zend_resolve_finally_call(op_array, i, opline->opcode == ZEND_BRK ? jmp_to->brk : jmp_to->cont TSRMLS_CC);
|
||||
break;
|
||||
}
|
||||
}
|
||||
case ZEND_GOTO:
|
||||
if (Z_TYPE(op_array->literals[opline->op2.constant].constant) != IS_LONG) {
|
||||
@@ -644,6 +700,9 @@ static void zend_resolve_finally_calls(zend_op_array *op_array TSRMLS_DC)
|
||||
case ZEND_JMP:
|
||||
zend_resolve_finally_call(op_array, i, opline->op1.opline_num TSRMLS_CC);
|
||||
break;
|
||||
case ZEND_FAST_CALL:
|
||||
zend_resolve_fast_call(op_array, i, i TSRMLS_CC);
|
||||
break;
|
||||
case ZEND_FAST_RET:
|
||||
zend_resolve_finally_ret(op_array, i TSRMLS_CC);
|
||||
break;
|
||||
|
||||
+14
-4
@@ -5179,6 +5179,7 @@ ZEND_VM_HANDLER(153, ZEND_DECLARE_LAMBDA_FUNCTION, CONST, UNUSED)
|
||||
{
|
||||
USE_OPLINE
|
||||
zend_function *op_array;
|
||||
int closure_is_static, closure_is_being_defined_inside_static_context;
|
||||
|
||||
SAVE_OPLINE();
|
||||
|
||||
@@ -5187,7 +5188,13 @@ ZEND_VM_HANDLER(153, ZEND_DECLARE_LAMBDA_FUNCTION, CONST, UNUSED)
|
||||
zend_error_noreturn(E_ERROR, "Base lambda function for closure not found");
|
||||
}
|
||||
|
||||
zend_create_closure(&EX_T(opline->result.var).tmp_var, (zend_function *) op_array, EG(scope), EG(This) TSRMLS_CC);
|
||||
closure_is_static = op_array->common.fn_flags & ZEND_ACC_STATIC;
|
||||
closure_is_being_defined_inside_static_context = EX(prev_execute_data) && EX(prev_execute_data)->function_state.function->common.fn_flags & ZEND_ACC_STATIC;
|
||||
if (closure_is_static || closure_is_being_defined_inside_static_context) {
|
||||
zend_create_closure(&EX_T(opline->result.var).tmp_var, (zend_function *) op_array, EG(called_scope), NULL TSRMLS_CC);
|
||||
} else {
|
||||
zend_create_closure(&EX_T(opline->result.var).tmp_var, (zend_function *) op_array, EG(scope), EG(This) TSRMLS_CC);
|
||||
}
|
||||
|
||||
CHECK_EXCEPTION();
|
||||
ZEND_VM_NEXT_OPCODE();
|
||||
@@ -5389,13 +5396,13 @@ ZEND_VM_HANDLER(162, ZEND_FAST_CALL, ANY, ANY)
|
||||
{
|
||||
USE_OPLINE
|
||||
|
||||
if (opline->extended_value &&
|
||||
if ((opline->extended_value & ZEND_FAST_CALL_FROM_CATCH) &&
|
||||
UNEXPECTED(EG(prev_exception) != NULL)) {
|
||||
/* in case of unhandled exception jump to catch block instead of finally */
|
||||
ZEND_VM_SET_OPCODE(&EX(op_array)->opcodes[opline->op2.opline_num]);
|
||||
ZEND_VM_CONTINUE();
|
||||
}
|
||||
EX(fast_ret) = opline + 1;
|
||||
EX(fast_ret) = opline;
|
||||
ZEND_VM_SET_OPCODE(opline->op1.jmp_addr);
|
||||
ZEND_VM_CONTINUE();
|
||||
}
|
||||
@@ -5403,7 +5410,10 @@ ZEND_VM_HANDLER(162, ZEND_FAST_CALL, ANY, ANY)
|
||||
ZEND_VM_HANDLER(163, ZEND_FAST_RET, ANY, ANY)
|
||||
{
|
||||
if (EX(fast_ret)) {
|
||||
ZEND_VM_SET_OPCODE(EX(fast_ret));
|
||||
ZEND_VM_SET_OPCODE(EX(fast_ret) + 1);
|
||||
if ((EX(fast_ret)->extended_value & ZEND_FAST_CALL_FROM_FINALLY)) {
|
||||
EX(fast_ret) = &EX(op_array)->opcodes[EX(fast_ret)->op2.opline_num];
|
||||
}
|
||||
ZEND_VM_CONTINUE();
|
||||
} else {
|
||||
/* special case for unhandled exceptions */
|
||||
|
||||
+14
-4
@@ -1137,13 +1137,13 @@ static int ZEND_FASTCALL ZEND_FAST_CALL_SPEC_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
|
||||
{
|
||||
USE_OPLINE
|
||||
|
||||
if (opline->extended_value &&
|
||||
if ((opline->extended_value & ZEND_FAST_CALL_FROM_CATCH) &&
|
||||
UNEXPECTED(EG(prev_exception) != NULL)) {
|
||||
/* in case of unhandled exception jump to catch block instead of finally */
|
||||
ZEND_VM_SET_OPCODE(&EX(op_array)->opcodes[opline->op2.opline_num]);
|
||||
ZEND_VM_CONTINUE();
|
||||
}
|
||||
EX(fast_ret) = opline + 1;
|
||||
EX(fast_ret) = opline;
|
||||
ZEND_VM_SET_OPCODE(opline->op1.jmp_addr);
|
||||
ZEND_VM_CONTINUE();
|
||||
}
|
||||
@@ -1151,7 +1151,10 @@ static int ZEND_FASTCALL ZEND_FAST_CALL_SPEC_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
|
||||
static int ZEND_FASTCALL ZEND_FAST_RET_SPEC_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
|
||||
{
|
||||
if (EX(fast_ret)) {
|
||||
ZEND_VM_SET_OPCODE(EX(fast_ret));
|
||||
ZEND_VM_SET_OPCODE(EX(fast_ret) + 1);
|
||||
if ((EX(fast_ret)->extended_value & ZEND_FAST_CALL_FROM_FINALLY)) {
|
||||
EX(fast_ret) = &EX(op_array)->opcodes[EX(fast_ret)->op2.opline_num];
|
||||
}
|
||||
ZEND_VM_CONTINUE();
|
||||
} else {
|
||||
/* special case for unhandled exceptions */
|
||||
@@ -6487,6 +6490,7 @@ static int ZEND_FASTCALL ZEND_DECLARE_LAMBDA_FUNCTION_SPEC_CONST_UNUSED_HANDLER
|
||||
{
|
||||
USE_OPLINE
|
||||
zend_function *op_array;
|
||||
int closure_is_static, closure_is_being_defined_inside_static_context;
|
||||
|
||||
SAVE_OPLINE();
|
||||
|
||||
@@ -6495,7 +6499,13 @@ static int ZEND_FASTCALL ZEND_DECLARE_LAMBDA_FUNCTION_SPEC_CONST_UNUSED_HANDLER
|
||||
zend_error_noreturn(E_ERROR, "Base lambda function for closure not found");
|
||||
}
|
||||
|
||||
zend_create_closure(&EX_T(opline->result.var).tmp_var, (zend_function *) op_array, EG(scope), EG(This) TSRMLS_CC);
|
||||
closure_is_static = op_array->common.fn_flags & ZEND_ACC_STATIC;
|
||||
closure_is_being_defined_inside_static_context = EX(prev_execute_data) && EX(prev_execute_data)->function_state.function->common.fn_flags & ZEND_ACC_STATIC;
|
||||
if (closure_is_static || closure_is_being_defined_inside_static_context) {
|
||||
zend_create_closure(&EX_T(opline->result.var).tmp_var, (zend_function *) op_array, EG(called_scope), NULL TSRMLS_CC);
|
||||
} else {
|
||||
zend_create_closure(&EX_T(opline->result.var).tmp_var, (zend_function *) op_array, EG(scope), EG(This) TSRMLS_CC);
|
||||
}
|
||||
|
||||
CHECK_EXCEPTION();
|
||||
ZEND_VM_NEXT_OPCODE();
|
||||
|
||||
@@ -1189,7 +1189,7 @@ function gen_vm($def, $skel) {
|
||||
fputs($f,"#define $op $code\n");
|
||||
}
|
||||
|
||||
fputs($f, "\n#endif");
|
||||
fputs($f, "\n#endif\n");
|
||||
fclose($f);
|
||||
echo "zend_vm_opcodes.h generated successfully.\n";
|
||||
|
||||
|
||||
@@ -170,4 +170,4 @@ ZEND_API const char *zend_get_opcode_name(zend_uchar opcode);
|
||||
#define ZEND_FAST_CALL 162
|
||||
#define ZEND_FAST_RET 163
|
||||
|
||||
#endif
|
||||
#endif
|
||||
+2
-2
@@ -1711,7 +1711,7 @@ int main(int argc, char *argv[])
|
||||
{
|
||||
FILE *fp;
|
||||
long position;
|
||||
char *filename = "/tmp/phpglibccheck";
|
||||
char *filename = tmpnam(NULL);
|
||||
|
||||
fp = fopen(filename, "w");
|
||||
if (fp == NULL) {
|
||||
@@ -2800,7 +2800,7 @@ AC_DEFUN([PHP_DETECT_ICC],
|
||||
|
||||
dnl PHP_DETECT_SUNCC
|
||||
dnl Detect if the systems default compiler is suncc.
|
||||
dnl We also set some usefull CFLAGS if the user didn't set any
|
||||
dnl We also set some useful CFLAGS if the user didn't set any
|
||||
AC_DEFUN([PHP_DETECT_SUNCC],[
|
||||
SUNCC="no"
|
||||
AC_MSG_CHECKING([for suncc])
|
||||
|
||||
Vendored
+9
-11
@@ -615,7 +615,7 @@ ia64-*-hpux*)
|
||||
rm -rf conftest*
|
||||
;;
|
||||
|
||||
x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
|
||||
x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
|
||||
s390*-*linux*|sparc*-*linux*)
|
||||
# Find out which ABI we are using.
|
||||
echo 'int i;' > conftest.$ac_ext
|
||||
@@ -629,7 +629,10 @@ s390*-*linux*|sparc*-*linux*)
|
||||
x86_64-*linux*)
|
||||
LD="${LD-ld} -m elf_i386"
|
||||
;;
|
||||
ppc64-*linux*|powerpc64-*linux*)
|
||||
powerpc64le-*linux*)
|
||||
LD="${LD-ld} -m elf32lppclinux"
|
||||
;;
|
||||
powerpc64-*linux*)
|
||||
LD="${LD-ld} -m elf32ppclinux"
|
||||
;;
|
||||
s390x-*linux*)
|
||||
@@ -648,7 +651,10 @@ s390*-*linux*|sparc*-*linux*)
|
||||
x86_64-*linux*)
|
||||
LD="${LD-ld} -m elf_x86_64"
|
||||
;;
|
||||
ppc*-*linux*|powerpc*-*linux*)
|
||||
powerpcle-*linux*)
|
||||
LD="${LD-ld} -m elf64lppc"
|
||||
;;
|
||||
powerpc-*linux*)
|
||||
LD="${LD-ld} -m elf64ppc"
|
||||
;;
|
||||
s390*-*linux*)
|
||||
@@ -1532,10 +1538,6 @@ dgux*)
|
||||
shlibpath_var=LD_LIBRARY_PATH
|
||||
;;
|
||||
|
||||
freebsd1*)
|
||||
dynamic_linker=no
|
||||
;;
|
||||
|
||||
freebsd* | dragonfly*)
|
||||
# DragonFly does not have aout. When/if they implement a new
|
||||
# versioning mechanism, adjust this.
|
||||
@@ -5843,10 +5845,6 @@ _LT_EOF
|
||||
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
|
||||
;;
|
||||
|
||||
freebsd1*)
|
||||
_LT_AC_TAGVAR(ld_shlibs, $1)=no
|
||||
;;
|
||||
|
||||
# FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
|
||||
# support. Future versions do this automatically, but an explicit c++rt0.o
|
||||
# does not break anything, and helps significantly (at the cost of a little
|
||||
|
||||
Vendored
+6
@@ -982,6 +982,12 @@ EOF
|
||||
ppc:Linux:*:*)
|
||||
echo powerpc-unknown-linux-gnu
|
||||
exit ;;
|
||||
ppc64le:Linux:*:*)
|
||||
echo powerpc64le-unknown-linux-gnu
|
||||
exit ;;
|
||||
ppcle:Linux:*:*)
|
||||
echo powerpcle-unknown-linux-gnu
|
||||
exit ;;
|
||||
s390:Linux:*:* | s390x:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-ibm-linux
|
||||
exit ;;
|
||||
|
||||
+2
-2
@@ -119,8 +119,8 @@ int zend_sprintf(char *buffer, const char *format, ...);
|
||||
|
||||
PHP_MAJOR_VERSION=5
|
||||
PHP_MINOR_VERSION=5
|
||||
PHP_RELEASE_VERSION=13
|
||||
PHP_EXTRA_VERSION="-dev"
|
||||
PHP_RELEASE_VERSION=17
|
||||
PHP_EXTRA_VERSION=""
|
||||
PHP_VERSION="$PHP_MAJOR_VERSION.$PHP_MINOR_VERSION.$PHP_RELEASE_VERSION$PHP_EXTRA_VERSION"
|
||||
PHP_VERSION_ID=`expr [$]PHP_MAJOR_VERSION \* 10000 + [$]PHP_MINOR_VERSION \* 100 + [$]PHP_RELEASE_VERSION`
|
||||
|
||||
|
||||
@@ -698,9 +698,9 @@ PHP_FUNCTION(com_event_sink)
|
||||
/* 0 => typelibname, 1 => dispname */
|
||||
zval **tmp;
|
||||
|
||||
if (zend_hash_index_find(Z_ARRVAL_P(sink), 0, (void**)&tmp) == SUCCESS)
|
||||
if (zend_hash_index_find(Z_ARRVAL_P(sink), 0, (void**)&tmp) == SUCCESS && Z_TYPE_PP(tmp) == IS_STRING)
|
||||
typelibname = Z_STRVAL_PP(tmp);
|
||||
if (zend_hash_index_find(Z_ARRVAL_P(sink), 1, (void**)&tmp) == SUCCESS)
|
||||
if (zend_hash_index_find(Z_ARRVAL_P(sink), 1, (void**)&tmp) == SUCCESS && Z_TYPE_PP(tmp) == IS_STRING)
|
||||
dispname = Z_STRVAL_PP(tmp);
|
||||
} else if (sink != NULL) {
|
||||
convert_to_string(sink);
|
||||
|
||||
@@ -198,7 +198,8 @@ PHP_FUNCTION(com_dotnet_create_instance)
|
||||
IUnknown *unk = NULL;
|
||||
|
||||
php_com_initialize(TSRMLS_C);
|
||||
if (COMG(dotnet_runtime_stuff) == NULL) {
|
||||
stuff = (struct dotnet_runtime_stuff*)COMG(dotnet_runtime_stuff);
|
||||
if (stuff == NULL) {
|
||||
hr = dotnet_init(&where TSRMLS_CC);
|
||||
if (FAILED(hr)) {
|
||||
char buf[1024];
|
||||
@@ -210,9 +211,35 @@ PHP_FUNCTION(com_dotnet_create_instance)
|
||||
ZVAL_NULL(object);
|
||||
return;
|
||||
}
|
||||
}
|
||||
stuff = (struct dotnet_runtime_stuff*)COMG(dotnet_runtime_stuff);
|
||||
|
||||
stuff = (struct dotnet_runtime_stuff*)COMG(dotnet_runtime_stuff);
|
||||
} else if (stuff->dotnet_domain == NULL) {
|
||||
where = "ICorRuntimeHost_GetDefaultDomain";
|
||||
hr = ICorRuntimeHost_GetDefaultDomain(stuff->dotnet_host, &unk);
|
||||
if (FAILED(hr)) {
|
||||
char buf[1024];
|
||||
char *err = php_win32_error_to_msg(hr);
|
||||
snprintf(buf, sizeof(buf), "Failed to re-init .Net domain [%s] %s", where, err);
|
||||
if (err)
|
||||
LocalFree(err);
|
||||
php_com_throw_exception(hr, buf TSRMLS_CC);
|
||||
ZVAL_NULL(object);
|
||||
return;
|
||||
}
|
||||
|
||||
where = "QI: System._AppDomain";
|
||||
hr = IUnknown_QueryInterface(unk, &IID_mscorlib_System_AppDomain, (LPVOID*)&stuff->dotnet_domain);
|
||||
if (FAILED(hr)) {
|
||||
char buf[1024];
|
||||
char *err = php_win32_error_to_msg(hr);
|
||||
snprintf(buf, sizeof(buf), "Failed to re-init .Net domain [%s] %s", where, err);
|
||||
if (err)
|
||||
LocalFree(err);
|
||||
php_com_throw_exception(hr, buf TSRMLS_CC);
|
||||
ZVAL_NULL(object);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
obj = CDNO_FETCH(object);
|
||||
|
||||
|
||||
+12567
-12595
File diff suppressed because it is too large.
Load diff
+15
-41
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| PHP Version 5 |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1997-2013 The PHP Group |
|
||||
| Copyright (c) 1997-2014 The PHP Group |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 3.01 of the PHP license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
@@ -668,7 +668,7 @@ static void timelib_set_relative(char **ptr, timelib_sll amount, int behavior, S
|
||||
}
|
||||
}
|
||||
|
||||
const static timelib_tz_lookup_table* zone_search(const char *word, long gmtoffset, int isdst)
|
||||
const static timelib_tz_lookup_table* abbr_search(const char *word, long gmtoffset, int isdst)
|
||||
{
|
||||
int first_found = 0;
|
||||
const timelib_tz_lookup_table *tp, *first_found_elem = NULL;
|
||||
@@ -696,25 +696,6 @@ const static timelib_tz_lookup_table* zone_search(const char *word, long gmtoffs
|
||||
return first_found_elem;
|
||||
}
|
||||
|
||||
for (tp = timelib_timezone_lookup; tp->name; tp++) {
|
||||
if (tp->full_tz_name && strcasecmp(word, tp->full_tz_name) == 0) {
|
||||
if (!first_found) {
|
||||
first_found = 1;
|
||||
first_found_elem = tp;
|
||||
if (gmtoffset == -1) {
|
||||
return tp;
|
||||
}
|
||||
}
|
||||
if (tp->gmtoffset == gmtoffset) {
|
||||
return tp;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (first_found) {
|
||||
return first_found_elem;
|
||||
}
|
||||
|
||||
|
||||
/* Still didn't find anything, let's find the zone solely based on
|
||||
* offset/isdst then */
|
||||
for (fmp = timelib_timezone_fallbackmap; fmp->name; fmp++) {
|
||||
@@ -725,7 +706,7 @@ const static timelib_tz_lookup_table* zone_search(const char *word, long gmtoffs
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static long timelib_lookup_zone(char **ptr, int *dst, char **tz_abbr, int *found)
|
||||
static long timelib_lookup_abbr(char **ptr, int *dst, char **tz_abbr, int *found)
|
||||
{
|
||||
char *word;
|
||||
char *begin = *ptr, *end;
|
||||
@@ -739,7 +720,7 @@ static long timelib_lookup_zone(char **ptr, int *dst, char **tz_abbr, int *found
|
||||
word = calloc(1, end - begin + 1);
|
||||
memcpy(word, begin, end - begin);
|
||||
|
||||
if ((tp = zone_search(word, -1, 0))) {
|
||||
if ((tp = abbr_search(word, -1, 0))) {
|
||||
value = -tp->gmtoffset / 60;
|
||||
*dst = tp->type;
|
||||
value += tp->type * 60;
|
||||
@@ -783,33 +764,26 @@ long timelib_parse_zone(char **ptr, int *dst, timelib_time *t, int *tz_not_found
|
||||
retval = timelib_parse_tz_cor(ptr);
|
||||
} else {
|
||||
int found = 0;
|
||||
long offset;
|
||||
long offset = 0;
|
||||
char *tz_abbr;
|
||||
|
||||
t->is_localtime = 1;
|
||||
|
||||
offset = timelib_lookup_zone(ptr, dst, &tz_abbr, &found);
|
||||
/* First, we lookup by abbreviation only */
|
||||
offset = timelib_lookup_abbr(ptr, dst, &tz_abbr, &found);
|
||||
if (found) {
|
||||
t->zone_type = TIMELIB_ZONETYPE_ABBR;
|
||||
timelib_time_tz_abbr_update(t, tz_abbr);
|
||||
}
|
||||
#if 0
|
||||
/* If we found a TimeZone identifier, use it */
|
||||
if (tz_name) {
|
||||
t->tz_info = timelib_parse_tzfile(tz_name);
|
||||
t->zone_type = TIMELIB_ZONETYPE_ID;
|
||||
}
|
||||
#endif
|
||||
/* If we have a TimeZone identifier to start with, use it */
|
||||
if (strstr(tz_abbr, "/") || strcmp(tz_abbr, "UTC") == 0) {
|
||||
|
||||
/* Otherwise, we look if we have a TimeZone identifier */
|
||||
if (!found || strcmp("UTC", tz_abbr) == 0) {
|
||||
if ((res = tz_wrapper(tz_abbr, tzdb)) != NULL) {
|
||||
t->tz_info = res;
|
||||
t->zone_type = TIMELIB_ZONETYPE_ID;
|
||||
found++;
|
||||
}
|
||||
}
|
||||
if (found && t->zone_type != TIMELIB_ZONETYPE_ID) {
|
||||
timelib_time_tz_abbr_update(t, tz_abbr);
|
||||
}
|
||||
free(tz_abbr);
|
||||
*tz_not_found = (found == 0);
|
||||
retval = offset;
|
||||
@@ -931,8 +905,8 @@ mssqltime = hour12 ":" minutelz ":" secondlz [:.] [0-9]+ meridian;
|
||||
isoweekday = year4 "-"? "W" weekofyear "-"? [0-7];
|
||||
isoweek = year4 "-"? "W" weekofyear;
|
||||
exif = year4 ":" monthlz ":" daylz " " hour24lz ":" minutelz ":" secondlz;
|
||||
firstdayof = 'first day of'?;
|
||||
lastdayof = 'last day of'?;
|
||||
firstdayof = 'first day of';
|
||||
lastdayof = 'last day of';
|
||||
backof = 'back of ' hour24 space? meridian?;
|
||||
frontof = 'front of ' hour24 space? meridian?;
|
||||
|
||||
@@ -1055,7 +1029,7 @@ weekdayof = (reltextnumber|reltexttext) space (dayfull|dayabbr) space 'of
|
||||
TIMELIB_HAVE_RELATIVE();
|
||||
|
||||
/* skip "last day of" or "first day of" */
|
||||
if (*ptr == 'l') {
|
||||
if (*ptr == 'l' || *ptr == 'L') {
|
||||
s->time->relative.first_last_day_of = 2;
|
||||
} else {
|
||||
s->time->relative.first_last_day_of = 1;
|
||||
@@ -2232,7 +2206,7 @@ char *timelib_timezone_id_from_abbr(const char *abbr, long gmtoffset, int isdst)
|
||||
{
|
||||
const timelib_tz_lookup_table *tp;
|
||||
|
||||
tp = zone_search(abbr, gmtoffset, isdst);
|
||||
tp = abbr_search(abbr, gmtoffset, isdst);
|
||||
if (tp) {
|
||||
return (tp->full_tz_name);
|
||||
} else {
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| PHP Version 5 |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1997-2013 The PHP Group |
|
||||
| Copyright (c) 1997-2014 The PHP Group |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 3.01 of the PHP license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
+1528
-1469
File diff suppressed because it is too large.
Load diff
+40
-20
@@ -50,7 +50,11 @@ static inline long long php_date_llabs( long long i ) { return i >= 0 ? i : -i;
|
||||
int st = snprintf(s, len, "%lld", i); \
|
||||
s[st] = '\0'; \
|
||||
} while (0);
|
||||
#ifdef HAVE_ATOLL
|
||||
# define DATE_A64I(i, s) i = atoll(s)
|
||||
#else
|
||||
# define DATE_A64I(i, s) i = strtoll(s, NULL, 10)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* {{{ arginfo */
|
||||
@@ -2213,7 +2217,7 @@ static HashTable *date_object_get_properties(zval *object TSRMLS_DC)
|
||||
|
||||
/* first we add the date and time in ISO format */
|
||||
MAKE_STD_ZVAL(zv);
|
||||
ZVAL_STRING(zv, date_format("Y-m-d H:i:s", 12, dateobj->time, 1), 0);
|
||||
ZVAL_STRING(zv, date_format("Y-m-d H:i:s.u", 14, dateobj->time, 1), 0);
|
||||
zend_hash_update(props, "date", 5, &zv, sizeof(zv), NULL);
|
||||
|
||||
/* then we add the timezone name (or similar) */
|
||||
@@ -2530,11 +2534,7 @@ static void date_object_free_storage_period(void *object TSRMLS_DC)
|
||||
/* Advanced Interface */
|
||||
PHPAPI zval *php_date_instantiate(zend_class_entry *pce, zval *object TSRMLS_DC)
|
||||
{
|
||||
Z_TYPE_P(object) = IS_OBJECT;
|
||||
object_init_ex(object, pce);
|
||||
Z_SET_REFCOUNT_P(object, 1);
|
||||
Z_UNSET_ISREF_P(object);
|
||||
|
||||
return object;
|
||||
}
|
||||
|
||||
@@ -2577,6 +2577,8 @@ PHPAPI int php_date_initialize(php_date_obj *dateobj, /*const*/ char *time_str,
|
||||
err->error_messages[0].position, err->error_messages[0].character, err->error_messages[0].message);
|
||||
}
|
||||
if (err && err->error_count) {
|
||||
timelib_time_dtor(dateobj->time);
|
||||
dateobj->time = 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -2640,14 +2642,19 @@ PHP_FUNCTION(date_create)
|
||||
zval *timezone_object = NULL;
|
||||
char *time_str = NULL;
|
||||
int time_str_len = 0;
|
||||
zval datetime_object;
|
||||
|
||||
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|sO!", &time_str, &time_str_len, &timezone_object, date_ce_timezone) == FAILURE) {
|
||||
RETURN_FALSE;
|
||||
}
|
||||
|
||||
php_date_instantiate(date_ce_date, return_value TSRMLS_CC);
|
||||
if (!php_date_initialize(zend_object_store_get_object(return_value TSRMLS_CC), time_str, time_str_len, NULL, timezone_object, 0 TSRMLS_CC)) {
|
||||
php_date_instantiate(date_ce_date, &datetime_object TSRMLS_CC);
|
||||
if (!php_date_initialize(zend_object_store_get_object(&datetime_object TSRMLS_CC), time_str, time_str_len, NULL, timezone_object, 0 TSRMLS_CC)) {
|
||||
zval_dtor(&datetime_object);
|
||||
RETURN_FALSE;
|
||||
} else {
|
||||
zval *datetime_object_ptr = &datetime_object;
|
||||
RETVAL_ZVAL(datetime_object_ptr, 0, 0);
|
||||
}
|
||||
}
|
||||
/* }}} */
|
||||
@@ -2660,14 +2667,19 @@ PHP_FUNCTION(date_create_immutable)
|
||||
zval *timezone_object = NULL;
|
||||
char *time_str = NULL;
|
||||
int time_str_len = 0;
|
||||
zval datetime_object;
|
||||
|
||||
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|sO!", &time_str, &time_str_len, &timezone_object, date_ce_timezone) == FAILURE) {
|
||||
RETURN_FALSE;
|
||||
}
|
||||
|
||||
php_date_instantiate(date_ce_immutable, return_value TSRMLS_CC);
|
||||
if (!php_date_initialize(zend_object_store_get_object(return_value TSRMLS_CC), time_str, time_str_len, NULL, timezone_object, 0 TSRMLS_CC)) {
|
||||
php_date_instantiate(date_ce_immutable, &datetime_object TSRMLS_CC);
|
||||
if (!php_date_initialize(zend_object_store_get_object(&datetime_object TSRMLS_CC), time_str, time_str_len, NULL, timezone_object, 0 TSRMLS_CC)) {
|
||||
zval_dtor(&datetime_object);
|
||||
RETURN_FALSE;
|
||||
} else {
|
||||
zval *datetime_object_ptr = &datetime_object;
|
||||
RETVAL_ZVAL(datetime_object_ptr, 0, 0);
|
||||
}
|
||||
}
|
||||
/* }}} */
|
||||
@@ -2680,14 +2692,19 @@ PHP_FUNCTION(date_create_from_format)
|
||||
zval *timezone_object = NULL;
|
||||
char *time_str = NULL, *format_str = NULL;
|
||||
int time_str_len = 0, format_str_len = 0;
|
||||
zval datetime_object;
|
||||
|
||||
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss|O", &format_str, &format_str_len, &time_str, &time_str_len, &timezone_object, date_ce_timezone) == FAILURE) {
|
||||
RETURN_FALSE;
|
||||
}
|
||||
|
||||
php_date_instantiate(date_ce_date, return_value TSRMLS_CC);
|
||||
if (!php_date_initialize(zend_object_store_get_object(return_value TSRMLS_CC), time_str, time_str_len, format_str, timezone_object, 0 TSRMLS_CC)) {
|
||||
php_date_instantiate(date_ce_date, &datetime_object TSRMLS_CC);
|
||||
if (!php_date_initialize(zend_object_store_get_object(&datetime_object TSRMLS_CC), time_str, time_str_len, format_str, timezone_object, 0 TSRMLS_CC)) {
|
||||
zval_dtor(&datetime_object);
|
||||
RETURN_FALSE;
|
||||
} else {
|
||||
zval *datetime_object_ptr = &datetime_object;
|
||||
RETVAL_ZVAL(datetime_object_ptr, 0, 0);
|
||||
}
|
||||
}
|
||||
/* }}} */
|
||||
@@ -2700,14 +2717,19 @@ PHP_FUNCTION(date_create_immutable_from_format)
|
||||
zval *timezone_object = NULL;
|
||||
char *time_str = NULL, *format_str = NULL;
|
||||
int time_str_len = 0, format_str_len = 0;
|
||||
zval datetime_object;
|
||||
|
||||
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss|O", &format_str, &format_str_len, &time_str, &time_str_len, &timezone_object, date_ce_timezone) == FAILURE) {
|
||||
RETURN_FALSE;
|
||||
}
|
||||
|
||||
php_date_instantiate(date_ce_immutable, return_value TSRMLS_CC);
|
||||
if (!php_date_initialize(zend_object_store_get_object(return_value TSRMLS_CC), time_str, time_str_len, format_str, timezone_object, 0 TSRMLS_CC)) {
|
||||
php_date_instantiate(date_ce_immutable, &datetime_object TSRMLS_CC);
|
||||
if (!php_date_initialize(zend_object_store_get_object(&datetime_object TSRMLS_CC), time_str, time_str_len, format_str, timezone_object, 0 TSRMLS_CC)) {
|
||||
zval_dtor(&datetime_object);
|
||||
RETURN_FALSE;
|
||||
} else {
|
||||
zval *datetime_object_ptr = &datetime_object;
|
||||
RETVAL_ZVAL(datetime_object_ptr, 0, 0);
|
||||
}
|
||||
}
|
||||
/* }}} */
|
||||
@@ -2724,9 +2746,7 @@ PHP_METHOD(DateTime, __construct)
|
||||
|
||||
zend_replace_error_handling(EH_THROW, NULL, &error_handling TSRMLS_CC);
|
||||
if (SUCCESS == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|sO!", &time_str, &time_str_len, &timezone_object, date_ce_timezone)) {
|
||||
if (!php_date_initialize(zend_object_store_get_object(getThis() TSRMLS_CC), time_str, time_str_len, NULL, timezone_object, 1 TSRMLS_CC)) {
|
||||
ZVAL_NULL(getThis());
|
||||
}
|
||||
php_date_initialize(zend_object_store_get_object(getThis() TSRMLS_CC), time_str, time_str_len, NULL, timezone_object, 1 TSRMLS_CC);
|
||||
}
|
||||
zend_restore_error_handling(&error_handling TSRMLS_CC);
|
||||
}
|
||||
@@ -2750,7 +2770,7 @@ PHP_METHOD(DateTimeImmutable, __construct)
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
static int php_date_initialize_from_hash(zval **return_value, php_date_obj **dateobj, HashTable *myht TSRMLS_DC)
|
||||
static int php_date_initialize_from_hash(php_date_obj **dateobj, HashTable *myht TSRMLS_DC)
|
||||
{
|
||||
zval **z_date = NULL;
|
||||
zval **z_timezone = NULL;
|
||||
@@ -2820,7 +2840,7 @@ PHP_METHOD(DateTime, __set_state)
|
||||
|
||||
php_date_instantiate(date_ce_date, return_value TSRMLS_CC);
|
||||
dateobj = (php_date_obj *) zend_object_store_get_object(return_value TSRMLS_CC);
|
||||
if (!php_date_initialize_from_hash(&return_value, &dateobj, myht TSRMLS_CC)) {
|
||||
if (!php_date_initialize_from_hash(&dateobj, myht TSRMLS_CC)) {
|
||||
php_error(E_ERROR, "Invalid serialization data for DateTime object");
|
||||
}
|
||||
}
|
||||
@@ -2842,7 +2862,7 @@ PHP_METHOD(DateTimeImmutable, __set_state)
|
||||
|
||||
php_date_instantiate(date_ce_immutable, return_value TSRMLS_CC);
|
||||
dateobj = (php_date_obj *) zend_object_store_get_object(return_value TSRMLS_CC);
|
||||
if (!php_date_initialize_from_hash(&return_value, &dateobj, myht TSRMLS_CC)) {
|
||||
if (!php_date_initialize_from_hash(&dateobj, myht TSRMLS_CC)) {
|
||||
php_error(E_ERROR, "Invalid serialization data for DateTimeImmutable object");
|
||||
}
|
||||
}
|
||||
@@ -2860,7 +2880,7 @@ PHP_METHOD(DateTime, __wakeup)
|
||||
|
||||
myht = Z_OBJPROP_P(object);
|
||||
|
||||
if (!php_date_initialize_from_hash(&return_value, &dateobj, myht TSRMLS_CC)) {
|
||||
if (!php_date_initialize_from_hash(&dateobj, myht TSRMLS_CC)) {
|
||||
php_error(E_ERROR, "Invalid serialization data for DateTime object");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ echo "Done\n";
|
||||
--EXPECTF--
|
||||
object(DateTime)#1 (3) {
|
||||
["date"]=>
|
||||
string(19) "2006-01-23 00:00:00"
|
||||
string(26) "2006-01-23 00:00:00.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -34,7 +34,7 @@ bool(false)
|
||||
string(19) "2006/01/23 00:00:00"
|
||||
object(DateTime)#1 (3) {
|
||||
["date"]=>
|
||||
string(19) "2006-01-30 00:00:00"
|
||||
string(26) "2006-01-30 00:00:00.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -43,7 +43,7 @@ object(DateTime)#1 (3) {
|
||||
string(19) "2006/01/30 00:00:00"
|
||||
object(DateTime)#1 (3) {
|
||||
["date"]=>
|
||||
string(19) "2007-12-10 00:00:00"
|
||||
string(26) "2007-12-10 00:00:00.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
|
||||
@@ -21,7 +21,7 @@ echo "Done\n";
|
||||
--EXPECTF--
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2006-12-12 00:00:00"
|
||||
string(26) "2006-12-12 00:00:00.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -38,7 +38,7 @@ bool(false)
|
||||
string(19) "2006.12.12 00:00:00"
|
||||
object(DateTime)#1 (3) {
|
||||
["date"]=>
|
||||
string(19) "2006-02-15 00:00:00"
|
||||
string(26) "2006-02-15 00:00:00.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -47,7 +47,7 @@ object(DateTime)#1 (3) {
|
||||
string(19) "2006.02.15 00:00:00"
|
||||
object(DateTime)#1 (3) {
|
||||
["date"]=>
|
||||
string(19) "2008-01-29 00:00:00"
|
||||
string(26) "2008-01-29 00:00:00.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
|
||||
@@ -20,7 +20,7 @@ echo "Done\n";
|
||||
--EXPECTF--
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2006-12-12 00:00:00"
|
||||
string(26) "2006-12-12 00:00:00.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
|
||||
@@ -37,7 +37,7 @@ object(DateTimeExt1)#%d (5) {
|
||||
["property2"]=>
|
||||
string(5) "Hello"
|
||||
["date"]=>
|
||||
string(19) "2009-02-03 12:34:41"
|
||||
string(26) "2009-02-03 12:34:41.000000"
|
||||
["timezone_type"]=>
|
||||
int(2)
|
||||
["timezone"]=>
|
||||
@@ -49,7 +49,7 @@ object(DateTimeExt1)#%d (5) {
|
||||
["property2"]=>
|
||||
string(5) "Hello"
|
||||
["date"]=>
|
||||
string(19) "2009-02-03 12:34:41"
|
||||
string(26) "2009-02-03 12:34:41.000000"
|
||||
["timezone_type"]=>
|
||||
int(2)
|
||||
["timezone"]=>
|
||||
@@ -65,7 +65,7 @@ object(DateTimeExt2)#%d (7) {
|
||||
["property2"]=>
|
||||
string(5) "Hello"
|
||||
["date"]=>
|
||||
string(19) "2009-02-03 12:34:41"
|
||||
string(26) "2009-02-03 12:34:41.000000"
|
||||
["timezone_type"]=>
|
||||
int(2)
|
||||
["timezone"]=>
|
||||
@@ -81,7 +81,7 @@ object(DateTimeExt2)#%d (7) {
|
||||
["property2"]=>
|
||||
string(5) "Hello"
|
||||
["date"]=>
|
||||
string(19) "2009-02-03 12:34:41"
|
||||
string(26) "2009-02-03 12:34:41.000000"
|
||||
["timezone_type"]=>
|
||||
int(2)
|
||||
["timezone"]=>
|
||||
|
||||
@@ -32,7 +32,7 @@ var_dump($d2_clone);
|
||||
-- Create a DateTime object --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-02-03 12:34:41"
|
||||
string(26) "2009-02-03 12:34:41.000000"
|
||||
["timezone_type"]=>
|
||||
int(2)
|
||||
["timezone"]=>
|
||||
@@ -42,7 +42,7 @@ object(DateTime)#%d (3) {
|
||||
-- Add some properties --
|
||||
object(DateTime)#%d (5) {
|
||||
["date"]=>
|
||||
string(19) "2009-02-03 12:34:41"
|
||||
string(26) "2009-02-03 12:34:41.000000"
|
||||
["timezone_type"]=>
|
||||
int(2)
|
||||
["timezone"]=>
|
||||
@@ -56,7 +56,7 @@ object(DateTime)#%d (5) {
|
||||
-- clone it --
|
||||
object(DateTime)#%d (5) {
|
||||
["date"]=>
|
||||
string(19) "2009-02-03 12:34:41"
|
||||
string(26) "2009-02-03 12:34:41.000000"
|
||||
["timezone_type"]=>
|
||||
int(2)
|
||||
["timezone"]=>
|
||||
@@ -70,7 +70,7 @@ object(DateTime)#%d (5) {
|
||||
-- Add some more properties --
|
||||
object(DateTime)#%d (7) {
|
||||
["date"]=>
|
||||
string(19) "2009-02-03 12:34:41"
|
||||
string(26) "2009-02-03 12:34:41.000000"
|
||||
["timezone_type"]=>
|
||||
int(2)
|
||||
["timezone"]=>
|
||||
@@ -88,7 +88,7 @@ object(DateTime)#%d (7) {
|
||||
-- clone it --
|
||||
object(DateTime)#%d (7) {
|
||||
["date"]=>
|
||||
string(19) "2009-02-03 12:34:41"
|
||||
string(26) "2009-02-03 12:34:41.000000"
|
||||
["timezone_type"]=>
|
||||
int(2)
|
||||
["timezone"]=>
|
||||
|
||||
@@ -41,7 +41,7 @@ object(DateTime)#%d (3) {
|
||||
}
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2005-07-14 22:30:41"
|
||||
string(26) "2005-07-14 22:30:41.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -49,7 +49,7 @@ object(DateTime)#%d (3) {
|
||||
}
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2005-07-14 22:30:41"
|
||||
string(26) "2005-07-14 22:30:41.000000"
|
||||
["timezone_type"]=>
|
||||
int(2)
|
||||
["timezone"]=>
|
||||
|
||||
@@ -142,7 +142,7 @@ FAILED: DateTime::__construct(): Failed to parse time string (-12345) at positio
|
||||
-- float 10.5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "%s"
|
||||
string(26) "%s"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -150,7 +150,7 @@ object(DateTime)#%d (3) {
|
||||
}
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "%s"
|
||||
string(26) "%s"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -164,7 +164,7 @@ FAILED: DateTime::__construct(): Failed to parse time string (-10.5) at position
|
||||
-- float .5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "%s"
|
||||
string(26) "%s"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -172,7 +172,7 @@ object(DateTime)#%d (3) {
|
||||
}
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "%s"
|
||||
string(26) "%s"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -198,7 +198,7 @@ FAILED: DateTime::__construct() expects parameter 1 to be string, array given
|
||||
-- uppercase NULL --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "%s"
|
||||
string(26) "%s"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -206,7 +206,7 @@ object(DateTime)#%d (3) {
|
||||
}
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "%s"
|
||||
string(26) "%s"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -216,7 +216,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase null --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "%s"
|
||||
string(26) "%s"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -224,7 +224,7 @@ object(DateTime)#%d (3) {
|
||||
}
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "%s"
|
||||
string(26) "%s"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -238,7 +238,7 @@ FAILED: DateTime::__construct(): Failed to parse time string (1) at position 0 (
|
||||
-- lowercase false --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "%s"
|
||||
string(26) "%s"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -246,7 +246,7 @@ object(DateTime)#%d (3) {
|
||||
}
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "%s"
|
||||
string(26) "%s"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -260,7 +260,7 @@ FAILED: DateTime::__construct(): Failed to parse time string (1) at position 0 (
|
||||
-- uppercase FALSE --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "%s"
|
||||
string(26) "%s"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -268,7 +268,7 @@ object(DateTime)#%d (3) {
|
||||
}
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "%s"
|
||||
string(26) "%s"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -278,7 +278,7 @@ object(DateTime)#%d (3) {
|
||||
-- empty string DQ --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "%s"
|
||||
string(26) "%s"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -286,7 +286,7 @@ object(DateTime)#%d (3) {
|
||||
}
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "%s"
|
||||
string(26) "%s"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -296,7 +296,7 @@ object(DateTime)#%d (3) {
|
||||
-- empty string SQ --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "%s"
|
||||
string(26) "%s"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -304,7 +304,7 @@ object(DateTime)#%d (3) {
|
||||
}
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "%s"
|
||||
string(26) "%s"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -338,7 +338,7 @@ FAILED: DateTime::__construct() expects parameter 1 to be string, object given
|
||||
-- undefined var --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "%s"
|
||||
string(26) "%s"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -346,7 +346,7 @@ object(DateTime)#%d (3) {
|
||||
}
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "%s"
|
||||
string(26) "%s"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -356,7 +356,7 @@ object(DateTime)#%d (3) {
|
||||
-- unset var --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "%s"
|
||||
string(26) "%s"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -364,7 +364,7 @@ object(DateTime)#%d (3) {
|
||||
}
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "%s"
|
||||
string(26) "%s"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
|
||||
@@ -153,7 +153,7 @@ FAILED: DateTime::__construct() expects parameter 2 to be DateTimeZone, array gi
|
||||
-- uppercase NULL --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2005-07-14 22:30:41"
|
||||
string(26) "2005-07-14 22:30:41.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -163,7 +163,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase null --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2005-07-14 22:30:41"
|
||||
string(26) "2005-07-14 22:30:41.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -209,7 +209,7 @@ FAILED: DateTime::__construct() expects parameter 2 to be DateTimeZone, object g
|
||||
-- undefined var --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2005-07-14 22:30:41"
|
||||
string(26) "2005-07-14 22:30:41.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -219,7 +219,7 @@ object(DateTime)#%d (3) {
|
||||
-- unset var --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2005-07-14 22:30:41"
|
||||
string(26) "2005-07-14 22:30:41.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
|
||||
@@ -133,7 +133,7 @@ bool(false)
|
||||
-- float 10.5 --
|
||||
object(DateTime)#3 (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-31 10:05:00"
|
||||
string(26) "2009-01-31 10:05:00.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -148,7 +148,7 @@ bool(false)
|
||||
-- float .5 --
|
||||
object(DateTime)#3 (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-31 00:05:00"
|
||||
string(26) "2009-01-31 00:05:00.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
|
||||
@@ -20,20 +20,20 @@ var_dump( $date2->format( "F j, Y, g:i a") );
|
||||
--EXPECTF--
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2005-07-14 22:30:41"
|
||||
string(26) "2005-07-14 22:30:41.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
string(13) "Europe/London"
|
||||
}
|
||||
string(118) "O:8:"DateTime":3:{s:4:"date";s:19:"2005-07-14 22:30:41";s:13:"timezone_type";i:3;s:8:"timezone";s:13:"Europe/London";}"
|
||||
string(125) "O:8:"DateTime":3:{s:4:"date";s:26:"2005-07-14 22:30:41.000000";s:13:"timezone_type";i:3;s:8:"timezone";s:13:"Europe/London";}"
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2005-07-14 22:30:41"
|
||||
string(26) "2005-07-14 22:30:41.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
string(13) "Europe/London"
|
||||
}
|
||||
string(23) "July 14, 2005, 10:30 pm"
|
||||
===DONE===
|
||||
===DONE===
|
||||
@@ -115,7 +115,7 @@ fclose( $file_handle );
|
||||
-- int 0 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "0000-07-02 08:34:10"
|
||||
string(26) "0000-07-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -125,7 +125,7 @@ object(DateTime)#%d (3) {
|
||||
-- int 1 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "0001-07-02 08:34:10"
|
||||
string(26) "0001-07-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -135,7 +135,7 @@ object(DateTime)#%d (3) {
|
||||
-- int 12345 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(20) "12345-07-02 08:34:10"
|
||||
string(27) "12345-07-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -145,7 +145,7 @@ object(DateTime)#%d (3) {
|
||||
-- int -12345 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(21) "-12345-07-02 08:34:10"
|
||||
string(28) "-12345-07-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -155,7 +155,7 @@ object(DateTime)#%d (3) {
|
||||
-- float 10.5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "0010-07-02 08:34:10"
|
||||
string(26) "0010-07-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -165,7 +165,7 @@ object(DateTime)#%d (3) {
|
||||
-- float -10.5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(20) "-0010-07-02 08:34:10"
|
||||
string(27) "-0010-07-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -175,7 +175,7 @@ object(DateTime)#%d (3) {
|
||||
-- float .5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "0000-07-02 08:34:10"
|
||||
string(26) "0000-07-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -205,7 +205,7 @@ bool(false)
|
||||
-- uppercase NULL --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "0000-07-02 08:34:10"
|
||||
string(26) "0000-07-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -215,7 +215,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase null --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "0000-07-02 08:34:10"
|
||||
string(26) "0000-07-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -225,7 +225,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase true --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "0001-07-02 08:34:10"
|
||||
string(26) "0001-07-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -235,7 +235,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase false --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "0000-07-02 08:34:10"
|
||||
string(26) "0000-07-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -245,7 +245,7 @@ object(DateTime)#%d (3) {
|
||||
-- uppercase TRUE --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "0001-07-02 08:34:10"
|
||||
string(26) "0001-07-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -255,7 +255,7 @@ object(DateTime)#%d (3) {
|
||||
-- uppercase FALSE --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "0000-07-02 08:34:10"
|
||||
string(26) "0000-07-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -305,7 +305,7 @@ bool(false)
|
||||
-- undefined var --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "0000-07-02 08:34:10"
|
||||
string(26) "0000-07-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -315,7 +315,7 @@ object(DateTime)#%d (3) {
|
||||
-- unset var --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "0000-07-02 08:34:10"
|
||||
string(26) "0000-07-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -326,4 +326,4 @@ object(DateTime)#%d (3) {
|
||||
|
||||
Warning: DateTime::setDate() expects parameter 1 to be long, resource given in %s on line %d
|
||||
bool(false)
|
||||
===DONE===
|
||||
===DONE===
|
||||
@@ -115,7 +115,7 @@ fclose( $file_handle );
|
||||
-- int 0 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1962-12-02 08:34:10"
|
||||
string(26) "1962-12-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -125,7 +125,7 @@ object(DateTime)#%d (3) {
|
||||
-- int 1 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-01-02 08:34:10"
|
||||
string(26) "1963-01-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -135,7 +135,7 @@ object(DateTime)#%d (3) {
|
||||
-- int 12345 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2991-09-02 08:34:10"
|
||||
string(26) "2991-09-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -145,7 +145,7 @@ object(DateTime)#%d (3) {
|
||||
-- int -12345 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "0934-03-02 08:34:10"
|
||||
string(26) "0934-03-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -155,7 +155,7 @@ object(DateTime)#%d (3) {
|
||||
-- float 10.5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-10-02 08:34:10"
|
||||
string(26) "1963-10-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -165,7 +165,7 @@ object(DateTime)#%d (3) {
|
||||
-- float -10.5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1962-02-02 08:34:10"
|
||||
string(26) "1962-02-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -175,7 +175,7 @@ object(DateTime)#%d (3) {
|
||||
-- float .5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1962-12-02 08:34:10"
|
||||
string(26) "1962-12-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -205,7 +205,7 @@ bool(false)
|
||||
-- uppercase NULL --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1962-12-02 08:34:10"
|
||||
string(26) "1962-12-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -215,7 +215,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase null --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1962-12-02 08:34:10"
|
||||
string(26) "1962-12-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -225,7 +225,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase true --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-01-02 08:34:10"
|
||||
string(26) "1963-01-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -235,7 +235,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase false --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1962-12-02 08:34:10"
|
||||
string(26) "1962-12-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -245,7 +245,7 @@ object(DateTime)#%d (3) {
|
||||
-- uppercase TRUE --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-01-02 08:34:10"
|
||||
string(26) "1963-01-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -255,7 +255,7 @@ object(DateTime)#%d (3) {
|
||||
-- uppercase FALSE --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1962-12-02 08:34:10"
|
||||
string(26) "1962-12-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -305,7 +305,7 @@ bool(false)
|
||||
-- undefined var --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1962-12-02 08:34:10"
|
||||
string(26) "1962-12-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -315,7 +315,7 @@ object(DateTime)#%d (3) {
|
||||
-- unset var --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1962-12-02 08:34:10"
|
||||
string(26) "1962-12-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
|
||||
@@ -115,7 +115,7 @@ fclose( $file_handle );
|
||||
-- int 0 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-06-30 08:34:10"
|
||||
string(26) "1963-06-30 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -125,7 +125,7 @@ object(DateTime)#%d (3) {
|
||||
-- int 1 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-07-01 08:34:10"
|
||||
string(26) "1963-07-01 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -135,7 +135,7 @@ object(DateTime)#%d (3) {
|
||||
-- int 12345 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1997-04-17 08:34:10"
|
||||
string(26) "1997-04-17 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -145,7 +145,7 @@ object(DateTime)#%d (3) {
|
||||
-- int -12345 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1929-09-11 08:34:10"
|
||||
string(26) "1929-09-11 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -155,7 +155,7 @@ object(DateTime)#%d (3) {
|
||||
-- float 10.5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-07-10 08:34:10"
|
||||
string(26) "1963-07-10 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -165,7 +165,7 @@ object(DateTime)#%d (3) {
|
||||
-- float -10.5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-06-20 08:34:10"
|
||||
string(26) "1963-06-20 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -175,7 +175,7 @@ object(DateTime)#%d (3) {
|
||||
-- float .5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-06-30 08:34:10"
|
||||
string(26) "1963-06-30 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -205,7 +205,7 @@ bool(false)
|
||||
-- uppercase NULL --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-06-30 08:34:10"
|
||||
string(26) "1963-06-30 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -215,7 +215,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase null --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-06-30 08:34:10"
|
||||
string(26) "1963-06-30 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -225,7 +225,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase true --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-07-01 08:34:10"
|
||||
string(26) "1963-07-01 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -235,7 +235,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase false --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-06-30 08:34:10"
|
||||
string(26) "1963-06-30 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -245,7 +245,7 @@ object(DateTime)#%d (3) {
|
||||
-- uppercase TRUE --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-07-01 08:34:10"
|
||||
string(26) "1963-07-01 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -255,7 +255,7 @@ object(DateTime)#%d (3) {
|
||||
-- uppercase FALSE --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-06-30 08:34:10"
|
||||
string(26) "1963-06-30 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -305,7 +305,7 @@ bool(false)
|
||||
-- undefined var --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-06-30 08:34:10"
|
||||
string(26) "1963-06-30 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -315,7 +315,7 @@ object(DateTime)#%d (3) {
|
||||
-- unset var --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-06-30 08:34:10"
|
||||
string(26) "1963-06-30 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
|
||||
@@ -115,7 +115,7 @@ fclose( $file_handle );
|
||||
-- int 0 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "0000-02-15 08:34:10"
|
||||
string(26) "0000-02-15 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -125,7 +125,7 @@ object(DateTime)#%d (3) {
|
||||
-- int 1 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "0001-02-13 08:34:10"
|
||||
string(26) "0001-02-13 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -135,7 +135,7 @@ object(DateTime)#%d (3) {
|
||||
-- int 12345 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(20) "12345-02-13 08:34:10"
|
||||
string(27) "12345-02-13 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -145,7 +145,7 @@ object(DateTime)#%d (3) {
|
||||
-- int -12345 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(21) "-12345-02-15 08:34:10"
|
||||
string(28) "-12345-02-15 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -155,7 +155,7 @@ object(DateTime)#%d (3) {
|
||||
-- float 10.5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "0010-02-16 08:34:10"
|
||||
string(26) "0010-02-16 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -165,7 +165,7 @@ object(DateTime)#%d (3) {
|
||||
-- float -10.5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(20) "-0010-02-19 08:34:10"
|
||||
string(27) "-0010-02-19 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -175,7 +175,7 @@ object(DateTime)#%d (3) {
|
||||
-- float .5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "0000-02-15 08:34:10"
|
||||
string(26) "0000-02-15 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -205,7 +205,7 @@ bool(false)
|
||||
-- uppercase NULL --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "0000-02-15 08:34:10"
|
||||
string(26) "0000-02-15 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -215,7 +215,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase null --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "0000-02-15 08:34:10"
|
||||
string(26) "0000-02-15 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -225,7 +225,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase true --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "0001-02-13 08:34:10"
|
||||
string(26) "0001-02-13 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -235,7 +235,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase false --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "0000-02-15 08:34:10"
|
||||
string(26) "0000-02-15 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -245,7 +245,7 @@ object(DateTime)#%d (3) {
|
||||
-- uppercase TRUE --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "0001-02-13 08:34:10"
|
||||
string(26) "0001-02-13 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -255,7 +255,7 @@ object(DateTime)#%d (3) {
|
||||
-- uppercase FALSE --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "0000-02-15 08:34:10"
|
||||
string(26) "0000-02-15 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -305,7 +305,7 @@ bool(false)
|
||||
-- undefined var --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "0000-02-15 08:34:10"
|
||||
string(26) "0000-02-15 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -315,7 +315,7 @@ object(DateTime)#%d (3) {
|
||||
-- unset var --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "0000-02-15 08:34:10"
|
||||
string(26) "0000-02-15 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
|
||||
@@ -115,7 +115,7 @@ fclose( $file_handle );
|
||||
-- int 0 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1962-12-25 08:34:10"
|
||||
string(26) "1962-12-25 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -125,7 +125,7 @@ object(DateTime)#%d (3) {
|
||||
-- int 1 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-01-01 08:34:10"
|
||||
string(26) "1963-01-01 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -135,7 +135,7 @@ object(DateTime)#%d (3) {
|
||||
-- int 12345 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2199-07-30 08:34:10"
|
||||
string(26) "2199-07-30 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -145,7 +145,7 @@ object(DateTime)#%d (3) {
|
||||
-- int -12345 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1726-05-21 08:34:10"
|
||||
string(26) "1726-05-21 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -155,7 +155,7 @@ object(DateTime)#%d (3) {
|
||||
-- float 10.5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-03-05 08:34:10"
|
||||
string(26) "1963-03-05 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -165,7 +165,7 @@ object(DateTime)#%d (3) {
|
||||
-- float -10.5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1962-10-16 08:34:10"
|
||||
string(26) "1962-10-16 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -175,7 +175,7 @@ object(DateTime)#%d (3) {
|
||||
-- float .5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1962-12-25 08:34:10"
|
||||
string(26) "1962-12-25 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -205,7 +205,7 @@ bool(false)
|
||||
-- uppercase NULL --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1962-12-25 08:34:10"
|
||||
string(26) "1962-12-25 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -215,7 +215,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase null --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1962-12-25 08:34:10"
|
||||
string(26) "1962-12-25 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -225,7 +225,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase true --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-01-01 08:34:10"
|
||||
string(26) "1963-01-01 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -235,7 +235,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase false --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1962-12-25 08:34:10"
|
||||
string(26) "1962-12-25 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -245,7 +245,7 @@ object(DateTime)#%d (3) {
|
||||
-- uppercase TRUE --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-01-01 08:34:10"
|
||||
string(26) "1963-01-01 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -255,7 +255,7 @@ object(DateTime)#%d (3) {
|
||||
-- uppercase FALSE --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1962-12-25 08:34:10"
|
||||
string(26) "1962-12-25 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -305,7 +305,7 @@ bool(false)
|
||||
-- undefined var --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1962-12-25 08:34:10"
|
||||
string(26) "1962-12-25 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -315,7 +315,7 @@ object(DateTime)#%d (3) {
|
||||
-- unset var --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1962-12-25 08:34:10"
|
||||
string(26) "1962-12-25 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
|
||||
@@ -115,7 +115,7 @@ fclose( $file_handle );
|
||||
-- int 0 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-02-10 08:34:10"
|
||||
string(26) "1963-02-10 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -125,7 +125,7 @@ object(DateTime)#%d (3) {
|
||||
-- int 1 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-02-11 08:34:10"
|
||||
string(26) "1963-02-11 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -135,7 +135,7 @@ object(DateTime)#%d (3) {
|
||||
-- int 12345 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1996-11-28 08:34:10"
|
||||
string(26) "1996-11-28 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -145,7 +145,7 @@ object(DateTime)#%d (3) {
|
||||
-- int -12345 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1929-04-24 08:34:10"
|
||||
string(26) "1929-04-24 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -155,7 +155,7 @@ object(DateTime)#%d (3) {
|
||||
-- float 10.5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-02-20 08:34:10"
|
||||
string(26) "1963-02-20 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -165,7 +165,7 @@ object(DateTime)#%d (3) {
|
||||
-- float -10.5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-01-31 08:34:10"
|
||||
string(26) "1963-01-31 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -175,7 +175,7 @@ object(DateTime)#%d (3) {
|
||||
-- float .5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-02-10 08:34:10"
|
||||
string(26) "1963-02-10 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -205,7 +205,7 @@ bool(false)
|
||||
-- uppercase NULL --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-02-10 08:34:10"
|
||||
string(26) "1963-02-10 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -215,7 +215,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase null --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-02-10 08:34:10"
|
||||
string(26) "1963-02-10 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -225,7 +225,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase true --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-02-11 08:34:10"
|
||||
string(26) "1963-02-11 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -235,7 +235,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase false --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-02-10 08:34:10"
|
||||
string(26) "1963-02-10 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -245,7 +245,7 @@ object(DateTime)#%d (3) {
|
||||
-- uppercase TRUE --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-02-11 08:34:10"
|
||||
string(26) "1963-02-11 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -255,7 +255,7 @@ object(DateTime)#%d (3) {
|
||||
-- uppercase FALSE --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-02-10 08:34:10"
|
||||
string(26) "1963-02-10 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -305,7 +305,7 @@ bool(false)
|
||||
-- undefined var --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-02-10 08:34:10"
|
||||
string(26) "1963-02-10 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -315,7 +315,7 @@ object(DateTime)#%d (3) {
|
||||
-- unset var --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-02-10 08:34:10"
|
||||
string(26) "1963-02-10 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
|
||||
@@ -115,7 +115,7 @@ fclose( $file_handle );
|
||||
-- int 0 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-31 00:13:45"
|
||||
string(26) "2009-01-31 00:13:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -125,7 +125,7 @@ object(DateTime)#%d (3) {
|
||||
-- int 1 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-31 01:13:45"
|
||||
string(26) "2009-01-31 01:13:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -135,7 +135,7 @@ object(DateTime)#%d (3) {
|
||||
-- int 12345 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2010-06-29 09:13:45"
|
||||
string(26) "2010-06-29 09:13:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -145,7 +145,7 @@ object(DateTime)#%d (3) {
|
||||
-- int -12345 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-30 15:13:45"
|
||||
string(26) "2009-01-30 15:13:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -155,7 +155,7 @@ object(DateTime)#%d (3) {
|
||||
-- float 10.5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-30 10:13:45"
|
||||
string(26) "2009-01-30 10:13:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -165,7 +165,7 @@ object(DateTime)#%d (3) {
|
||||
-- float -10.5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-29 14:13:45"
|
||||
string(26) "2009-01-29 14:13:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -175,7 +175,7 @@ object(DateTime)#%d (3) {
|
||||
-- float .5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-29 00:13:45"
|
||||
string(26) "2009-01-29 00:13:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -205,7 +205,7 @@ bool(false)
|
||||
-- uppercase NULL --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-29 00:13:45"
|
||||
string(26) "2009-01-29 00:13:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -215,7 +215,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase null --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-29 00:13:45"
|
||||
string(26) "2009-01-29 00:13:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -225,7 +225,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase true --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-29 01:13:45"
|
||||
string(26) "2009-01-29 01:13:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -235,7 +235,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase false --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-29 00:13:45"
|
||||
string(26) "2009-01-29 00:13:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -245,7 +245,7 @@ object(DateTime)#%d (3) {
|
||||
-- uppercase TRUE --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-29 01:13:45"
|
||||
string(26) "2009-01-29 01:13:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -255,7 +255,7 @@ object(DateTime)#%d (3) {
|
||||
-- uppercase FALSE --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-29 00:13:45"
|
||||
string(26) "2009-01-29 00:13:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -305,7 +305,7 @@ bool(false)
|
||||
-- undefined var --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-29 00:13:45"
|
||||
string(26) "2009-01-29 00:13:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -315,7 +315,7 @@ object(DateTime)#%d (3) {
|
||||
-- unset var --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-29 00:13:45"
|
||||
string(26) "2009-01-29 00:13:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
|
||||
@@ -115,7 +115,7 @@ fclose( $file_handle );
|
||||
-- int 0 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-31 10:00:45"
|
||||
string(26) "2009-01-31 10:00:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -125,7 +125,7 @@ object(DateTime)#%d (3) {
|
||||
-- int 1 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-31 10:01:45"
|
||||
string(26) "2009-01-31 10:01:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -135,7 +135,7 @@ object(DateTime)#%d (3) {
|
||||
-- int 12345 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-02-08 23:45:45"
|
||||
string(26) "2009-02-08 23:45:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -145,7 +145,7 @@ object(DateTime)#%d (3) {
|
||||
-- int -12345 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-30 20:15:45"
|
||||
string(26) "2009-01-30 20:15:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -155,7 +155,7 @@ object(DateTime)#%d (3) {
|
||||
-- float 10.5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-30 10:10:45"
|
||||
string(26) "2009-01-30 10:10:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -165,7 +165,7 @@ object(DateTime)#%d (3) {
|
||||
-- float -10.5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-30 09:50:45"
|
||||
string(26) "2009-01-30 09:50:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -175,7 +175,7 @@ object(DateTime)#%d (3) {
|
||||
-- float .5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-30 10:00:45"
|
||||
string(26) "2009-01-30 10:00:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -205,7 +205,7 @@ bool(false)
|
||||
-- uppercase NULL --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-30 10:00:45"
|
||||
string(26) "2009-01-30 10:00:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -215,7 +215,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase null --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-30 10:00:45"
|
||||
string(26) "2009-01-30 10:00:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -225,7 +225,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase true --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-30 10:01:45"
|
||||
string(26) "2009-01-30 10:01:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -235,7 +235,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase false --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-30 10:00:45"
|
||||
string(26) "2009-01-30 10:00:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -245,7 +245,7 @@ object(DateTime)#%d (3) {
|
||||
-- uppercase TRUE --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-30 10:01:45"
|
||||
string(26) "2009-01-30 10:01:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -255,7 +255,7 @@ object(DateTime)#%d (3) {
|
||||
-- uppercase FALSE --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-30 10:00:45"
|
||||
string(26) "2009-01-30 10:00:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -305,7 +305,7 @@ bool(false)
|
||||
-- undefined var --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-30 10:00:45"
|
||||
string(26) "2009-01-30 10:00:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -315,7 +315,7 @@ object(DateTime)#%d (3) {
|
||||
-- unset var --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-30 10:00:45"
|
||||
string(26) "2009-01-30 10:00:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
|
||||
@@ -115,7 +115,7 @@ fclose( $file_handle );
|
||||
-- int 0 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-31 10:13:00"
|
||||
string(26) "2009-01-31 10:13:00.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -125,7 +125,7 @@ object(DateTime)#%d (3) {
|
||||
-- int 1 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-31 10:13:01"
|
||||
string(26) "2009-01-31 10:13:01.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -135,7 +135,7 @@ object(DateTime)#%d (3) {
|
||||
-- int 12345 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-31 13:38:45"
|
||||
string(26) "2009-01-31 13:38:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -145,7 +145,7 @@ object(DateTime)#%d (3) {
|
||||
-- int -12345 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-31 06:47:15"
|
||||
string(26) "2009-01-31 06:47:15.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -155,7 +155,7 @@ object(DateTime)#%d (3) {
|
||||
-- float 10.5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-31 10:13:10"
|
||||
string(26) "2009-01-31 10:13:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -165,7 +165,7 @@ object(DateTime)#%d (3) {
|
||||
-- float -10.5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-31 10:12:50"
|
||||
string(26) "2009-01-31 10:12:50.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -175,7 +175,7 @@ object(DateTime)#%d (3) {
|
||||
-- float .5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-31 10:13:00"
|
||||
string(26) "2009-01-31 10:13:00.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -205,7 +205,7 @@ bool(false)
|
||||
-- uppercase NULL --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-31 10:13:00"
|
||||
string(26) "2009-01-31 10:13:00.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -215,7 +215,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase null --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-31 10:13:00"
|
||||
string(26) "2009-01-31 10:13:00.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -225,7 +225,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase true --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-31 10:13:01"
|
||||
string(26) "2009-01-31 10:13:01.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -235,7 +235,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase false --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-31 10:13:00"
|
||||
string(26) "2009-01-31 10:13:00.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -245,7 +245,7 @@ object(DateTime)#%d (3) {
|
||||
-- uppercase TRUE --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-31 10:13:01"
|
||||
string(26) "2009-01-31 10:13:01.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -255,7 +255,7 @@ object(DateTime)#%d (3) {
|
||||
-- uppercase FALSE --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-31 10:13:00"
|
||||
string(26) "2009-01-31 10:13:00.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -305,7 +305,7 @@ bool(false)
|
||||
-- undefined var --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-31 10:13:00"
|
||||
string(26) "2009-01-31 10:13:00.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -315,7 +315,7 @@ object(DateTime)#%d (3) {
|
||||
-- unset var --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-31 10:13:00"
|
||||
string(26) "2009-01-31 10:13:00.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
|
||||
@@ -95,18 +95,18 @@ result = Monday 2037-10-05 00:00:00 NZDT
|
||||
wanted = Monday 00:00:00
|
||||
|
||||
Australia/Adelaide
|
||||
ts = Friday 1971-01-01 17:17:17 CST
|
||||
result = Monday 1971-01-04 00:00:00 CST
|
||||
ts = Friday 1971-01-01 17:17:17 ACST
|
||||
result = Monday 1971-01-04 00:00:00 ACST
|
||||
wanted = Monday 00:00:00
|
||||
|
||||
Australia/Darwin
|
||||
ts = Monday 1971-03-29 17:17:17 CST
|
||||
result = Monday 1971-04-05 00:00:00 CST
|
||||
ts = Monday 1971-03-29 17:17:17 ACST
|
||||
result = Monday 1971-04-05 00:00:00 ACST
|
||||
wanted = Monday 00:00:00
|
||||
|
||||
Australia/Perth
|
||||
ts = Friday 1971-01-01 17:17:17 WST
|
||||
result = Monday 1971-01-04 00:00:00 WST
|
||||
ts = Friday 1971-01-01 17:17:17 AWST
|
||||
result = Monday 1971-01-04 00:00:00 AWST
|
||||
wanted = Monday 00:00:00
|
||||
|
||||
America/Aruba
|
||||
|
||||
@@ -233,8 +233,8 @@ result=Saturday 1970-01-03 00:00:00 CAT 0
|
||||
wanted=Saturday 00:00:00
|
||||
|
||||
TZ=Asia/Kashgar - Is it OK for this to be 3 AM? yes
|
||||
tStamp=Thursday 1980-04-24 17:17:17 KAST 0
|
||||
result=Thursday 1980-05-01 03:00:00 CST 0
|
||||
tStamp=Thursday 1980-04-24 17:17:17 XJT 0
|
||||
result=Thursday 1980-05-01 00:00:00 XJT 0
|
||||
wanted=Thursday 03:00:00
|
||||
|
||||
TZ=Indian/Christmas - Is it OK for this to be 7 AM? Note: does
|
||||
|
||||
@@ -39,5 +39,5 @@ datestr 10:00:00 AM July 1 2005 UTC
|
||||
|
||||
Setting TZ
|
||||
input 10:00:00 AM July 1 2005
|
||||
strftime 10:00:00 AM July 1 2005 EST +1000
|
||||
datestr 10:00:00 AM July 1 2005 EST
|
||||
strftime 10:00:00 AM July 1 2005 AEST +1000
|
||||
datestr 10:00:00 AM July 1 2005 AEST
|
||||
@@ -46,7 +46,7 @@ array(12) {
|
||||
int(-62169984000)
|
||||
object(DateTime)#1 (3) {
|
||||
["date"]=>
|
||||
string(20) "-0001-11-30 00:00:00"
|
||||
string(27) "-0001-11-30 00:00:00.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
|
||||
@@ -46,7 +46,7 @@ array(12) {
|
||||
bool(false)
|
||||
object(DateTime)#1 (3) {
|
||||
["date"]=>
|
||||
string(20) "-0001-11-30 00:00:00"
|
||||
string(20) "-0001-11-30 00:00:00.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
|
||||
@@ -16,7 +16,7 @@ echo $d->format( 'U' ), "\n\n";
|
||||
--EXPECT--
|
||||
object(DateTime)#1 (3) {
|
||||
["date"]=>
|
||||
string(19) "1955-05-23 00:00:00"
|
||||
string(26) "1955-05-23 00:00:00.000000"
|
||||
["timezone_type"]=>
|
||||
int(1)
|
||||
["timezone"]=>
|
||||
@@ -27,7 +27,7 @@ object(DateTime)#1 (3) {
|
||||
|
||||
object(DateTime)#1 (3) {
|
||||
["date"]=>
|
||||
string(19) "1955-05-22 23:00:00"
|
||||
string(26) "1955-05-22 23:00:00.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
|
||||
@@ -44,9 +44,9 @@ array(4) {
|
||||
|
||||
string(6) "Y-m-d+"
|
||||
string(19) "2001-11-29 13:20:01"
|
||||
object(DateTime)#2 (3) {
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2001-11-29 %d:%d:%d"
|
||||
string(26) "2001-11-29 %d:%d:%d.%d"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -70,9 +70,9 @@ array(4) {
|
||||
|
||||
string(7) "Y-m-d +"
|
||||
string(19) "2001-11-29 13:20:01"
|
||||
object(DateTime)#3 (3) {
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2001-11-29 %d:%d:%d"
|
||||
string(26) "2001-11-29 %d:%d:%d.%d"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -96,9 +96,9 @@ array(4) {
|
||||
|
||||
string(6) "Y-m-d+"
|
||||
string(10) "2001-11-29"
|
||||
object(DateTime)#2 (3) {
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2001-11-29 %d:%d:%d"
|
||||
string(26) "2001-11-29 %d:%d:%d.%d"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -139,9 +139,9 @@ array(4) {
|
||||
|
||||
string(7) "Y-m-d +"
|
||||
string(11) "2001-11-29 "
|
||||
object(DateTime)#2 (3) {
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2001-11-29 %d:%d:%d"
|
||||
string(26) "2001-11-29 %d:%d:%d.%d"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
|
||||
@@ -117,7 +117,7 @@ object(DatePeriod)#6 (6) {
|
||||
["start"]=>
|
||||
object(DateTime)#4 (3) {
|
||||
["date"]=>
|
||||
string(19) "2003-01-02 08:00:00"
|
||||
string(26) "2003-01-02 08:00:00.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -201,7 +201,7 @@ object(DatePeriod)#9 (6) {
|
||||
["start"]=>
|
||||
object(DateTime)#6 (3) {
|
||||
["date"]=>
|
||||
string(19) "2003-01-02 08:00:00"
|
||||
string(26) "2003-01-02 08:00:00.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
|
||||
@@ -33,7 +33,7 @@ object(DatePeriod)#1 (6) {
|
||||
["start"]=>
|
||||
object(DateTime)#2 (3) {
|
||||
["date"]=>
|
||||
string(19) "2010-01-01 00:00:00"
|
||||
string(26) "2010-01-01 00:00:00.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -42,7 +42,7 @@ object(DatePeriod)#1 (6) {
|
||||
["current"]=>
|
||||
object(DateTime)#4 (3) {
|
||||
["date"]=>
|
||||
string(19) "2010-01-04 00:00:00"
|
||||
string(26) "2010-01-04 00:00:00.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -92,7 +92,7 @@ object(DatePeriod)#5 (6) {
|
||||
["start"]=>
|
||||
object(DateTime)#10 (3) {
|
||||
["date"]=>
|
||||
string(19) "2010-01-01 00:00:00"
|
||||
string(26) "2010-01-01 00:00:00.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -101,7 +101,7 @@ object(DatePeriod)#5 (6) {
|
||||
["current"]=>
|
||||
object(DateTime)#7 (3) {
|
||||
["date"]=>
|
||||
string(19) "2010-01-04 00:00:00"
|
||||
string(26) "2010-01-04 00:00:00.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
|
||||
@@ -10,7 +10,7 @@ print_r($date);
|
||||
--EXPECTF--
|
||||
DateTime Object
|
||||
(
|
||||
[date] => 2041-01-21 15:24:52
|
||||
[date] => 2041-01-21 15:24:52.000000
|
||||
[timezone_type] => 2
|
||||
[timezone] => GMT
|
||||
)
|
||||
@@ -12,7 +12,7 @@ var_dump($dt);
|
||||
--EXPECT--
|
||||
object(DateTime)#1 (3) {
|
||||
["date"]=>
|
||||
string(19) "2011-02-02 00:00:00"
|
||||
string(26) "2011-02-02 00:00:00.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -20,7 +20,7 @@ object(DateTime)#1 (3) {
|
||||
}
|
||||
object(DateTime)#2 (3) {
|
||||
["date"]=>
|
||||
string(19) "1970-01-01 00:00:00"
|
||||
string(26) "1970-01-01 00:00:00.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
|
||||
@@ -19,7 +19,7 @@ var_dump($dt);
|
||||
--EXPECT--
|
||||
object(DateTime)#2 (3) {
|
||||
["date"]=>
|
||||
string(19) "2011-01-01 00:00:00"
|
||||
string(26) "2011-01-01 00:00:00.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -27,7 +27,7 @@ object(DateTime)#2 (3) {
|
||||
}
|
||||
object(DateTime)#2 (3) {
|
||||
["date"]=>
|
||||
string(19) "2011-01-02 00:00:00"
|
||||
string(26) "2011-01-02 00:00:00.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -35,7 +35,7 @@ object(DateTime)#2 (3) {
|
||||
}
|
||||
object(DateTime)#3 (3) {
|
||||
["date"]=>
|
||||
string(19) "2010-12-31 00:00:00"
|
||||
string(26) "2010-12-31 00:00:00.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
|
||||
@@ -14,7 +14,7 @@ var_dump($t);
|
||||
string(10) "1278455908"
|
||||
object(DateTime)#1 (3) {
|
||||
["date"]=>
|
||||
string(19) "2010-07-06 18:38:28"
|
||||
string(26) "2010-07-06 18:38:28.000000"
|
||||
["timezone_type"]=>
|
||||
int(2)
|
||||
["timezone"]=>
|
||||
|
||||
@@ -0,0 +1,175 @@
|
||||
--TEST--
|
||||
Bug #66986 (Some timezones are no longer valid in PHP 5.5.10)
|
||||
--FILE--
|
||||
<?php
|
||||
$zones = array(
|
||||
"CST6CDT", "Cuba", "Egypt", "Eire", "EST5EDT", "Factory", "GB-Eire",
|
||||
"GMT0", "Greenwich", "Hongkong", "Iceland", "Iran", "Israel", "Jamaica",
|
||||
"Japan", "Kwajalein", "Libya", "MST7MDT", "Navajo", "NZ-CHAT", "Poland",
|
||||
"Portugal", "PST8PDT", "Singapore", "Turkey", "Universal", "W-SU",
|
||||
|
||||
"UTC", "GMT", "GMT+0100", "-0230",
|
||||
);
|
||||
|
||||
foreach ( $zones as $zone )
|
||||
{
|
||||
$d = new DateTimeZone( $zone );
|
||||
print_r($d);
|
||||
}
|
||||
?>
|
||||
--EXPECT--
|
||||
DateTimeZone Object
|
||||
(
|
||||
[timezone_type] => 3
|
||||
[timezone] => CST6CDT
|
||||
)
|
||||
DateTimeZone Object
|
||||
(
|
||||
[timezone_type] => 3
|
||||
[timezone] => Cuba
|
||||
)
|
||||
DateTimeZone Object
|
||||
(
|
||||
[timezone_type] => 3
|
||||
[timezone] => Egypt
|
||||
)
|
||||
DateTimeZone Object
|
||||
(
|
||||
[timezone_type] => 3
|
||||
[timezone] => Eire
|
||||
)
|
||||
DateTimeZone Object
|
||||
(
|
||||
[timezone_type] => 3
|
||||
[timezone] => EST5EDT
|
||||
)
|
||||
DateTimeZone Object
|
||||
(
|
||||
[timezone_type] => 3
|
||||
[timezone] => Factory
|
||||
)
|
||||
DateTimeZone Object
|
||||
(
|
||||
[timezone_type] => 3
|
||||
[timezone] => GB-Eire
|
||||
)
|
||||
DateTimeZone Object
|
||||
(
|
||||
[timezone_type] => 3
|
||||
[timezone] => GMT0
|
||||
)
|
||||
DateTimeZone Object
|
||||
(
|
||||
[timezone_type] => 3
|
||||
[timezone] => Greenwich
|
||||
)
|
||||
DateTimeZone Object
|
||||
(
|
||||
[timezone_type] => 3
|
||||
[timezone] => Hongkong
|
||||
)
|
||||
DateTimeZone Object
|
||||
(
|
||||
[timezone_type] => 3
|
||||
[timezone] => Iceland
|
||||
)
|
||||
DateTimeZone Object
|
||||
(
|
||||
[timezone_type] => 3
|
||||
[timezone] => Iran
|
||||
)
|
||||
DateTimeZone Object
|
||||
(
|
||||
[timezone_type] => 3
|
||||
[timezone] => Israel
|
||||
)
|
||||
DateTimeZone Object
|
||||
(
|
||||
[timezone_type] => 3
|
||||
[timezone] => Jamaica
|
||||
)
|
||||
DateTimeZone Object
|
||||
(
|
||||
[timezone_type] => 3
|
||||
[timezone] => Japan
|
||||
)
|
||||
DateTimeZone Object
|
||||
(
|
||||
[timezone_type] => 3
|
||||
[timezone] => Kwajalein
|
||||
)
|
||||
DateTimeZone Object
|
||||
(
|
||||
[timezone_type] => 3
|
||||
[timezone] => Libya
|
||||
)
|
||||
DateTimeZone Object
|
||||
(
|
||||
[timezone_type] => 3
|
||||
[timezone] => MST7MDT
|
||||
)
|
||||
DateTimeZone Object
|
||||
(
|
||||
[timezone_type] => 3
|
||||
[timezone] => Navajo
|
||||
)
|
||||
DateTimeZone Object
|
||||
(
|
||||
[timezone_type] => 3
|
||||
[timezone] => NZ-CHAT
|
||||
)
|
||||
DateTimeZone Object
|
||||
(
|
||||
[timezone_type] => 3
|
||||
[timezone] => Poland
|
||||
)
|
||||
DateTimeZone Object
|
||||
(
|
||||
[timezone_type] => 3
|
||||
[timezone] => Portugal
|
||||
)
|
||||
DateTimeZone Object
|
||||
(
|
||||
[timezone_type] => 3
|
||||
[timezone] => PST8PDT
|
||||
)
|
||||
DateTimeZone Object
|
||||
(
|
||||
[timezone_type] => 3
|
||||
[timezone] => Singapore
|
||||
)
|
||||
DateTimeZone Object
|
||||
(
|
||||
[timezone_type] => 3
|
||||
[timezone] => Turkey
|
||||
)
|
||||
DateTimeZone Object
|
||||
(
|
||||
[timezone_type] => 3
|
||||
[timezone] => Universal
|
||||
)
|
||||
DateTimeZone Object
|
||||
(
|
||||
[timezone_type] => 3
|
||||
[timezone] => W-SU
|
||||
)
|
||||
DateTimeZone Object
|
||||
(
|
||||
[timezone_type] => 3
|
||||
[timezone] => UTC
|
||||
)
|
||||
DateTimeZone Object
|
||||
(
|
||||
[timezone_type] => 2
|
||||
[timezone] => GMT
|
||||
)
|
||||
DateTimeZone Object
|
||||
(
|
||||
[timezone_type] => 1
|
||||
[timezone] => +01:00
|
||||
)
|
||||
DateTimeZone Object
|
||||
(
|
||||
[timezone_type] => 1
|
||||
[timezone] => -02:30
|
||||
)
|
||||
@@ -0,0 +1,14 @@
|
||||
--TEST--
|
||||
Bug #67109 (First uppercase letter breaks date string parsing)
|
||||
--INI--
|
||||
date.timezone=UTC
|
||||
--FILE--
|
||||
<?php
|
||||
var_dump(date('d.m.Y',strtotime('last day of april')));
|
||||
var_dump(date('d.m.Y',strtotime('Last day of april')));
|
||||
var_dump(date('d.m.Y',strtotime('lAst Day of April')));
|
||||
?>
|
||||
--EXPECTF--
|
||||
string(10) "30.04.%d"
|
||||
string(10) "30.04.%d"
|
||||
string(10) "30.04.%d"
|
||||
@@ -1,5 +1,5 @@
|
||||
--TEST--
|
||||
Bug #67118 php-cgi crashes regularly on IIS 7
|
||||
Bug #67118 crashes in DateTime when this used after failed __construct
|
||||
--INI--
|
||||
date.timezone=Europe/Berlin
|
||||
--FILE--
|
||||
@@ -11,17 +11,17 @@ class mydt extends datetime
|
||||
if (!empty($tz) && !is_object($tz)) {
|
||||
$tz = new DateTimeZone($tz);
|
||||
}
|
||||
|
||||
@parent::__construct($time, $tz);
|
||||
try {
|
||||
@parent::__construct($time, $tz);
|
||||
} catch (Exception $e) {
|
||||
echo "Bad date" . $this->format("Y") . "\n";
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
new mydt("Funktionsansvarig rådgivning och juridik", "UTC");
|
||||
?>
|
||||
--EXPECTF--
|
||||
Fatal error: Uncaught exception 'Exception' with message 'DateTime::__construct(): Failed to parse time string (Funktionsansvarig rådgivning och juridik) at position 0 (F): The timezone could not be found in the database' in %sbug67118.php:%d
|
||||
Stack trace:
|
||||
#0 %sbug67118.php(%d): DateTime->__construct('Funktionsansvar...', Object(DateTimeZone))
|
||||
#1 %sbug67118.php(%d): mydt->__construct('Funktionsansvar...', 'UTC')
|
||||
#2 {main}
|
||||
thrown in %sbug67118.php on line %d
|
||||
Warning: DateTime::format(): The DateTime object has not been correctly initialized by its constructor in %sbug67118.php on line %d
|
||||
Bad date
|
||||
@@ -0,0 +1,35 @@
|
||||
--TEST--
|
||||
Regression introduce in fix for Bug #67118
|
||||
--INI--
|
||||
date.timezone=Europe/Paris
|
||||
--FILE--
|
||||
<?php
|
||||
class Foo extends DateTime {
|
||||
public function __construct($time = null) {
|
||||
$tz = new DateTimeZone('UTC');
|
||||
try {
|
||||
echo "First try\n";
|
||||
parent::__construct($time, $tz);
|
||||
return;
|
||||
} catch (Exception $e) {
|
||||
echo "Second try\n";
|
||||
parent::__construct($time.'C', $tz);
|
||||
}
|
||||
}
|
||||
}
|
||||
$date = '12 Sep 2007 15:49:12 UT';
|
||||
var_dump(new Foo($date));
|
||||
?>
|
||||
Done
|
||||
--EXPECTF--
|
||||
First try
|
||||
Second try
|
||||
object(Foo)#1 (3) {
|
||||
["date"]=>
|
||||
string(%d) "2007-09-12 15:49:%s"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
string(3) "UTC"
|
||||
}
|
||||
Done
|
||||
@@ -0,0 +1,28 @@
|
||||
--TEST--
|
||||
Bug #67308 (Serialize of DateTime truncates fractions of second)
|
||||
--INI--
|
||||
date.timezone=America/Vancouver
|
||||
--FILE--
|
||||
<?php
|
||||
// Ensure we can still unserialize the old style.
|
||||
var_dump(unserialize('O:8:"DateTime":3:{s:4:"date";s:19:"2005-07-14 22:30:41";s:13:"timezone_type";i:3;s:8:"timezone";s:13:"Europe/London";}'));
|
||||
|
||||
// New style.
|
||||
var_dump(unserialize('O:8:"DateTime":3:{s:4:"date";s:26:"2005-07-14 22:30:41.123456";s:13:"timezone_type";i:3;s:8:"timezone";s:13:"Europe/London";}'));
|
||||
--EXPECTF--
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(26) "2005-07-14 22:30:41.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
string(13) "Europe/London"
|
||||
}
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(26) "2005-07-14 22:30:41.123456"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
string(13) "Europe/London"
|
||||
}
|
||||
@@ -46,7 +46,7 @@ Array
|
||||
==
|
||||
DateTime Object
|
||||
(
|
||||
[date] => 2004-06-08 00:00:00
|
||||
[date] => 2004-06-08 00:00:00.000000
|
||||
[timezone_type] => 3
|
||||
[timezone] => UTC
|
||||
)
|
||||
@@ -67,7 +67,7 @@ Array
|
||||
==
|
||||
DateTime Object
|
||||
(
|
||||
[date] => 2004-06-08 00:00:00
|
||||
[date] => 2004-06-08 00:00:00.000000
|
||||
[timezone_type] => 3
|
||||
[timezone] => UTC
|
||||
)
|
||||
@@ -88,7 +88,7 @@ Array
|
||||
==
|
||||
DateTime Object
|
||||
(
|
||||
[date] => 2004-06-08 00:00:00
|
||||
[date] => 2004-06-08 00:00:00.000000
|
||||
[timezone_type] => 3
|
||||
[timezone] => UTC
|
||||
)
|
||||
@@ -109,7 +109,7 @@ Array
|
||||
==
|
||||
DateTime Object
|
||||
(
|
||||
[date] => 2004-06-08 00:00:00
|
||||
[date] => 2004-06-08 00:00:00.000000
|
||||
[timezone_type] => 3
|
||||
[timezone] => UTC
|
||||
)
|
||||
@@ -129,7 +129,7 @@ Array
|
||||
==
|
||||
DateTime Object
|
||||
(
|
||||
[date] => 2004-06-08 00:00:00
|
||||
[date] => 2004-06-08 00:00:00.000000
|
||||
[timezone_type] => 3
|
||||
[timezone] => UTC
|
||||
)
|
||||
|
||||
@@ -25,7 +25,7 @@ var_dump( date_create("2005-07-14 22:30:41 GMT") );
|
||||
*** Testing date_create() : basic functionality ***
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "%s"
|
||||
string(26) "%s"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -33,7 +33,7 @@ object(DateTime)#%d (3) {
|
||||
}
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "%s"
|
||||
string(26) "%s"
|
||||
["timezone_type"]=>
|
||||
int(2)
|
||||
["timezone"]=>
|
||||
@@ -41,7 +41,7 @@ object(DateTime)#%d (3) {
|
||||
}
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2005-07-14 22:30:41"
|
||||
string(26) "2005-07-14 22:30:41.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -49,10 +49,10 @@ object(DateTime)#%d (3) {
|
||||
}
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2005-07-14 22:30:41"
|
||||
string(26) "2005-07-14 22:30:41.000000"
|
||||
["timezone_type"]=>
|
||||
int(2)
|
||||
["timezone"]=>
|
||||
string(3) "GMT"
|
||||
}
|
||||
===DONE===
|
||||
===DONE===
|
||||
@@ -130,7 +130,7 @@ bool(false)
|
||||
-- float 10.5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "%s"
|
||||
string(26) "%s"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -138,7 +138,7 @@ object(DateTime)#%d (3) {
|
||||
}
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "%s"
|
||||
string(26) "%s"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -152,7 +152,7 @@ bool(false)
|
||||
-- float .5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "%s"
|
||||
string(26) "%s"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -160,7 +160,7 @@ object(DateTime)#%d (3) {
|
||||
}
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "%s"
|
||||
string(26) "%s"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -202,7 +202,7 @@ bool(false)
|
||||
-- uppercase NULL --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "%s"
|
||||
string(26) "%s"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -210,7 +210,7 @@ object(DateTime)#%d (3) {
|
||||
}
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "%s"
|
||||
string(26) "%s"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -220,7 +220,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase null --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "%s"
|
||||
string(26) "%s"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -228,7 +228,7 @@ object(DateTime)#%d (3) {
|
||||
}
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "%s"
|
||||
string(26) "%s"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -242,7 +242,7 @@ bool(false)
|
||||
-- lowercase false --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "%s"
|
||||
string(26) "%s"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -250,7 +250,7 @@ object(DateTime)#%d (3) {
|
||||
}
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "%s"
|
||||
string(26) "%s"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -264,7 +264,7 @@ bool(false)
|
||||
-- uppercase FALSE --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "%s"
|
||||
string(26) "%s"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -272,7 +272,7 @@ object(DateTime)#%d (3) {
|
||||
}
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "%s"
|
||||
string(26) "%s"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -282,7 +282,7 @@ object(DateTime)#%d (3) {
|
||||
-- empty string DQ --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "%s"
|
||||
string(26) "%s"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -290,7 +290,7 @@ object(DateTime)#%d (3) {
|
||||
}
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "%s"
|
||||
string(26) "%s"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -300,7 +300,7 @@ object(DateTime)#%d (3) {
|
||||
-- empty string SQ --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "%s"
|
||||
string(26) "%s"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -308,7 +308,7 @@ object(DateTime)#%d (3) {
|
||||
}
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "%s"
|
||||
string(26) "%s"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -346,7 +346,7 @@ bool(false)
|
||||
-- undefined var --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "%s"
|
||||
string(26) "%s"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -354,7 +354,7 @@ object(DateTime)#%d (3) {
|
||||
}
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "%s"
|
||||
string(26) "%s"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -364,7 +364,7 @@ object(DateTime)#%d (3) {
|
||||
-- unset var --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "%s"
|
||||
string(26) "%s"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -372,7 +372,7 @@ object(DateTime)#%d (3) {
|
||||
}
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "%s"
|
||||
string(26) "%s"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
|
||||
@@ -168,7 +168,7 @@ bool(false)
|
||||
-- uppercase NULL --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2005-07-14 22:30:41"
|
||||
string(26) "2005-07-14 22:30:41.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -178,7 +178,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase null --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2005-07-14 22:30:41"
|
||||
string(26) "2005-07-14 22:30:41.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -248,7 +248,7 @@ bool(false)
|
||||
-- undefined var --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2005-07-14 22:30:41"
|
||||
string(26) "2005-07-14 22:30:41.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -258,7 +258,7 @@ object(DateTime)#%d (3) {
|
||||
-- unset var --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2005-07-14 22:30:41"
|
||||
string(26) "2005-07-14 22:30:41.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
|
||||
@@ -125,7 +125,7 @@ object(DateTime)#%d (3) {
|
||||
-- int 1 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "0001-07-02 08:34:10"
|
||||
string(26) "0001-07-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -135,7 +135,7 @@ object(DateTime)#%d (3) {
|
||||
-- int 12345 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(20) "12345-07-02 08:34:10"
|
||||
string(27) "12345-07-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -145,7 +145,7 @@ object(DateTime)#%d (3) {
|
||||
-- int -12345 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(21) "-12345-07-02 08:34:10"
|
||||
string(28) "-12345-07-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -155,7 +155,7 @@ object(DateTime)#%d (3) {
|
||||
-- float 10.5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "0010-07-02 08:34:10"
|
||||
string(26) "0010-07-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -165,7 +165,7 @@ object(DateTime)#%d (3) {
|
||||
-- float -10.5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(20) "-0010-07-02 08:34:10"
|
||||
string(27) "-0010-07-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -225,7 +225,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase true --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "0001-07-02 08:34:10"
|
||||
string(26) "0001-07-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -245,7 +245,7 @@ object(DateTime)#%d (3) {
|
||||
-- uppercase TRUE --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "0001-07-02 08:34:10"
|
||||
string(26) "0001-07-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
|
||||
@@ -115,7 +115,7 @@ fclose( $file_handle );
|
||||
-- int 0 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1962-12-02 08:34:10"
|
||||
string(26) "1962-12-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -125,7 +125,7 @@ object(DateTime)#%d (3) {
|
||||
-- int 1 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-01-02 08:34:10"
|
||||
string(26) "1963-01-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -135,7 +135,7 @@ object(DateTime)#%d (3) {
|
||||
-- int 12345 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2991-09-02 08:34:10"
|
||||
string(26) "2991-09-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -145,7 +145,7 @@ object(DateTime)#%d (3) {
|
||||
-- int -12345 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "0934-03-02 08:34:10"
|
||||
string(26) "0934-03-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -155,7 +155,7 @@ object(DateTime)#%d (3) {
|
||||
-- float 10.5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-10-02 08:34:10"
|
||||
string(26) "1963-10-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -165,7 +165,7 @@ object(DateTime)#%d (3) {
|
||||
-- float -10.5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1962-02-02 08:34:10"
|
||||
string(26) "1962-02-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -175,7 +175,7 @@ object(DateTime)#%d (3) {
|
||||
-- float .5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1962-12-02 08:34:10"
|
||||
string(26) "1962-12-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -205,7 +205,7 @@ bool(false)
|
||||
-- uppercase NULL --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1962-12-02 08:34:10"
|
||||
string(26) "1962-12-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -215,7 +215,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase null --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1962-12-02 08:34:10"
|
||||
string(26) "1962-12-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -225,7 +225,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase true --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-01-02 08:34:10"
|
||||
string(26) "1963-01-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -235,7 +235,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase false --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1962-12-02 08:34:10"
|
||||
string(26) "1962-12-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -245,7 +245,7 @@ object(DateTime)#%d (3) {
|
||||
-- uppercase TRUE --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-01-02 08:34:10"
|
||||
string(26) "1963-01-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -255,7 +255,7 @@ object(DateTime)#%d (3) {
|
||||
-- uppercase FALSE --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1962-12-02 08:34:10"
|
||||
string(26) "1962-12-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -305,7 +305,7 @@ bool(false)
|
||||
-- undefined var --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1962-12-02 08:34:10"
|
||||
string(26) "1962-12-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -315,7 +315,7 @@ object(DateTime)#%d (3) {
|
||||
-- unset var --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1962-12-02 08:34:10"
|
||||
string(26) "1962-12-02 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
|
||||
@@ -115,7 +115,7 @@ fclose( $file_handle );
|
||||
-- int 0 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-06-30 08:34:10"
|
||||
string(26) "1963-06-30 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -125,7 +125,7 @@ object(DateTime)#%d (3) {
|
||||
-- int 1 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-07-01 08:34:10"
|
||||
string(26) "1963-07-01 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -135,7 +135,7 @@ object(DateTime)#%d (3) {
|
||||
-- int 12345 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1997-04-17 08:34:10"
|
||||
string(26) "1997-04-17 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -145,7 +145,7 @@ object(DateTime)#%d (3) {
|
||||
-- int -12345 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1929-09-11 08:34:10"
|
||||
string(26) "1929-09-11 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -155,7 +155,7 @@ object(DateTime)#%d (3) {
|
||||
-- float 10.5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-07-10 08:34:10"
|
||||
string(26) "1963-07-10 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -165,7 +165,7 @@ object(DateTime)#%d (3) {
|
||||
-- float -10.5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-06-20 08:34:10"
|
||||
string(26) "1963-06-20 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -175,7 +175,7 @@ object(DateTime)#%d (3) {
|
||||
-- float .5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-06-30 08:34:10"
|
||||
string(26) "1963-06-30 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -205,7 +205,7 @@ bool(false)
|
||||
-- uppercase NULL --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-06-30 08:34:10"
|
||||
string(26) "1963-06-30 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -215,7 +215,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase null --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-06-30 08:34:10"
|
||||
string(26) "1963-06-30 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -225,7 +225,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase true --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-07-01 08:34:10"
|
||||
string(26) "1963-07-01 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -235,7 +235,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase false --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-06-30 08:34:10"
|
||||
string(26) "1963-06-30 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -245,7 +245,7 @@ object(DateTime)#%d (3) {
|
||||
-- uppercase TRUE --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-07-01 08:34:10"
|
||||
string(26) "1963-07-01 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -255,7 +255,7 @@ object(DateTime)#%d (3) {
|
||||
-- uppercase FALSE --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-06-30 08:34:10"
|
||||
string(26) "1963-06-30 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -305,7 +305,7 @@ bool(false)
|
||||
-- undefined var --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-06-30 08:34:10"
|
||||
string(26) "1963-06-30 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -315,7 +315,7 @@ object(DateTime)#%d (3) {
|
||||
-- unset var --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-06-30 08:34:10"
|
||||
string(26) "1963-06-30 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
|
||||
@@ -14,7 +14,7 @@ var_dump($int);
|
||||
--EXPECT--
|
||||
object(DateTime)#1 (3) {
|
||||
["date"]=>
|
||||
string(19) "2010-10-04 02:18:48"
|
||||
string(26) "2010-10-04 02:18:48.000000"
|
||||
["timezone_type"]=>
|
||||
int(2)
|
||||
["timezone"]=>
|
||||
@@ -22,7 +22,7 @@ object(DateTime)#1 (3) {
|
||||
}
|
||||
object(DateTime)#2 (3) {
|
||||
["date"]=>
|
||||
string(19) "2010-11-06 18:38:28"
|
||||
string(26) "2010-11-06 18:38:28.000000"
|
||||
["timezone_type"]=>
|
||||
int(2)
|
||||
["timezone"]=>
|
||||
|
||||
@@ -115,7 +115,7 @@ fclose( $file_handle );
|
||||
-- int 0 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "0000-02-15 08:34:10"
|
||||
string(26) "0000-02-15 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -125,7 +125,7 @@ object(DateTime)#%d (3) {
|
||||
-- int 1 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "0001-02-13 08:34:10"
|
||||
string(26) "0001-02-13 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -135,7 +135,7 @@ object(DateTime)#%d (3) {
|
||||
-- int 12345 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(20) "12345-02-13 08:34:10"
|
||||
string(27) "12345-02-13 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -145,7 +145,7 @@ object(DateTime)#%d (3) {
|
||||
-- int -12345 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(21) "-12345-02-15 08:34:10"
|
||||
string(28) "-12345-02-15 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -155,7 +155,7 @@ object(DateTime)#%d (3) {
|
||||
-- float 10.5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "0010-02-16 08:34:10"
|
||||
string(26) "0010-02-16 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -165,7 +165,7 @@ object(DateTime)#%d (3) {
|
||||
-- float -10.5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(20) "-0010-02-19 08:34:10"
|
||||
string(27) "-0010-02-19 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -175,7 +175,7 @@ object(DateTime)#%d (3) {
|
||||
-- float .5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "0000-02-15 08:34:10"
|
||||
string(26) "0000-02-15 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -205,7 +205,7 @@ bool(false)
|
||||
-- uppercase NULL --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "0000-02-15 08:34:10"
|
||||
string(26) "0000-02-15 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -215,7 +215,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase null --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "0000-02-15 08:34:10"
|
||||
string(26) "0000-02-15 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -225,7 +225,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase true --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "0001-02-13 08:34:10"
|
||||
string(26) "0001-02-13 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -235,7 +235,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase false --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "0000-02-15 08:34:10"
|
||||
string(26) "0000-02-15 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -245,7 +245,7 @@ object(DateTime)#%d (3) {
|
||||
-- uppercase TRUE --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "0001-02-13 08:34:10"
|
||||
string(26) "0001-02-13 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -255,7 +255,7 @@ object(DateTime)#%d (3) {
|
||||
-- uppercase FALSE --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "0000-02-15 08:34:10"
|
||||
string(26) "0000-02-15 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -305,7 +305,7 @@ bool(false)
|
||||
-- undefined var --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "0000-02-15 08:34:10"
|
||||
string(26) "0000-02-15 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -315,7 +315,7 @@ object(DateTime)#%d (3) {
|
||||
-- unset var --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "0000-02-15 08:34:10"
|
||||
string(26) "0000-02-15 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
|
||||
@@ -115,7 +115,7 @@ fclose( $file_handle );
|
||||
-- int 0 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1962-12-25 08:34:10"
|
||||
string(26) "1962-12-25 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -125,7 +125,7 @@ object(DateTime)#%d (3) {
|
||||
-- int 1 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-01-01 08:34:10"
|
||||
string(26) "1963-01-01 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -135,7 +135,7 @@ object(DateTime)#%d (3) {
|
||||
-- int 12345 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2199-07-30 08:34:10"
|
||||
string(26) "2199-07-30 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -145,7 +145,7 @@ object(DateTime)#%d (3) {
|
||||
-- int -12345 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1726-05-21 08:34:10"
|
||||
string(26) "1726-05-21 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -155,7 +155,7 @@ object(DateTime)#%d (3) {
|
||||
-- float 10.5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-03-05 08:34:10"
|
||||
string(26) "1963-03-05 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -165,7 +165,7 @@ object(DateTime)#%d (3) {
|
||||
-- float -10.5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1962-10-16 08:34:10"
|
||||
string(26) "1962-10-16 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -175,7 +175,7 @@ object(DateTime)#%d (3) {
|
||||
-- float .5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1962-12-25 08:34:10"
|
||||
string(26) "1962-12-25 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -205,7 +205,7 @@ bool(false)
|
||||
-- uppercase NULL --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1962-12-25 08:34:10"
|
||||
string(26) "1962-12-25 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -215,7 +215,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase null --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1962-12-25 08:34:10"
|
||||
string(26) "1962-12-25 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -225,7 +225,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase true --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-01-01 08:34:10"
|
||||
string(26) "1963-01-01 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -235,7 +235,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase false --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1962-12-25 08:34:10"
|
||||
string(26) "1962-12-25 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -245,7 +245,7 @@ object(DateTime)#%d (3) {
|
||||
-- uppercase TRUE --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-01-01 08:34:10"
|
||||
string(26) "1963-01-01 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -255,7 +255,7 @@ object(DateTime)#%d (3) {
|
||||
-- uppercase FALSE --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1962-12-25 08:34:10"
|
||||
string(26) "1962-12-25 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -305,7 +305,7 @@ bool(false)
|
||||
-- undefined var --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1962-12-25 08:34:10"
|
||||
string(26) "1962-12-25 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -315,7 +315,7 @@ object(DateTime)#%d (3) {
|
||||
-- unset var --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1962-12-25 08:34:10"
|
||||
string(26) "1962-12-25 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
|
||||
@@ -115,7 +115,7 @@ fclose( $file_handle );
|
||||
-- int 0 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-02-10 08:34:10"
|
||||
string(26) "1963-02-10 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -125,7 +125,7 @@ object(DateTime)#%d (3) {
|
||||
-- int 1 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-02-11 08:34:10"
|
||||
string(26) "1963-02-11 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -135,7 +135,7 @@ object(DateTime)#%d (3) {
|
||||
-- int 12345 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1996-11-28 08:34:10"
|
||||
string(26) "1996-11-28 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -145,7 +145,7 @@ object(DateTime)#%d (3) {
|
||||
-- int -12345 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1929-04-24 08:34:10"
|
||||
string(26) "1929-04-24 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -155,7 +155,7 @@ object(DateTime)#%d (3) {
|
||||
-- float 10.5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-02-20 08:34:10"
|
||||
string(26) "1963-02-20 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -165,7 +165,7 @@ object(DateTime)#%d (3) {
|
||||
-- float -10.5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-01-31 08:34:10"
|
||||
string(26) "1963-01-31 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -175,7 +175,7 @@ object(DateTime)#%d (3) {
|
||||
-- float .5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-02-10 08:34:10"
|
||||
string(26) "1963-02-10 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -205,7 +205,7 @@ bool(false)
|
||||
-- uppercase NULL --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-02-10 08:34:10"
|
||||
string(26) "1963-02-10 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -215,7 +215,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase null --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-02-10 08:34:10"
|
||||
string(26) "1963-02-10 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -225,7 +225,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase true --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-02-11 08:34:10"
|
||||
string(26) "1963-02-11 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -235,7 +235,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase false --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-02-10 08:34:10"
|
||||
string(26) "1963-02-10 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -245,7 +245,7 @@ object(DateTime)#%d (3) {
|
||||
-- uppercase TRUE --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-02-11 08:34:10"
|
||||
string(26) "1963-02-11 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -255,7 +255,7 @@ object(DateTime)#%d (3) {
|
||||
-- uppercase FALSE --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-02-10 08:34:10"
|
||||
string(26) "1963-02-10 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -305,7 +305,7 @@ bool(false)
|
||||
-- undefined var --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-02-10 08:34:10"
|
||||
string(26) "1963-02-10 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -315,7 +315,7 @@ object(DateTime)#%d (3) {
|
||||
-- unset var --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "1963-02-10 08:34:10"
|
||||
string(26) "1963-02-10 08:34:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
|
||||
@@ -133,7 +133,7 @@ bool(false)
|
||||
-- float 10.5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-31 10:05:00"
|
||||
string(26) "2009-01-31 10:05:00.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -148,7 +148,7 @@ bool(false)
|
||||
-- float .5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-31 00:05:00"
|
||||
string(26) "2009-01-31 00:05:00.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
|
||||
@@ -115,7 +115,7 @@ fclose( $file_handle );
|
||||
-- int 0 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-31 00:13:45"
|
||||
string(26) "2009-01-31 00:13:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -125,7 +125,7 @@ object(DateTime)#%d (3) {
|
||||
-- int 1 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-31 01:13:45"
|
||||
string(26) "2009-01-31 01:13:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -135,7 +135,7 @@ object(DateTime)#%d (3) {
|
||||
-- int 12345 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2010-06-29 09:13:45"
|
||||
string(26) "2010-06-29 09:13:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -145,7 +145,7 @@ object(DateTime)#%d (3) {
|
||||
-- int -12345 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-30 15:13:45"
|
||||
string(26) "2009-01-30 15:13:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -155,7 +155,7 @@ object(DateTime)#%d (3) {
|
||||
-- float 10.5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-30 10:13:45"
|
||||
string(26) "2009-01-30 10:13:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -165,7 +165,7 @@ object(DateTime)#%d (3) {
|
||||
-- float -10.5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-29 14:13:45"
|
||||
string(26) "2009-01-29 14:13:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -175,7 +175,7 @@ object(DateTime)#%d (3) {
|
||||
-- float .5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-29 00:13:45"
|
||||
string(26) "2009-01-29 00:13:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -205,7 +205,7 @@ bool(false)
|
||||
-- uppercase NULL --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-29 00:13:45"
|
||||
string(26) "2009-01-29 00:13:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -215,7 +215,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase null --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-29 00:13:45"
|
||||
string(26) "2009-01-29 00:13:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -225,7 +225,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase true --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-29 01:13:45"
|
||||
string(26) "2009-01-29 01:13:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -235,7 +235,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase false --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-29 00:13:45"
|
||||
string(26) "2009-01-29 00:13:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -245,7 +245,7 @@ object(DateTime)#%d (3) {
|
||||
-- uppercase TRUE --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-29 01:13:45"
|
||||
string(26) "2009-01-29 01:13:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -255,7 +255,7 @@ object(DateTime)#%d (3) {
|
||||
-- uppercase FALSE --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-29 00:13:45"
|
||||
string(26) "2009-01-29 00:13:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -305,7 +305,7 @@ bool(false)
|
||||
-- undefined var --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-29 00:13:45"
|
||||
string(26) "2009-01-29 00:13:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -315,7 +315,7 @@ object(DateTime)#%d (3) {
|
||||
-- unset var --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-29 00:13:45"
|
||||
string(26) "2009-01-29 00:13:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
|
||||
@@ -115,7 +115,7 @@ fclose( $file_handle );
|
||||
-- int 0 --
|
||||
object(DateTime)#3 (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-31 10:00:45"
|
||||
string(26) "2009-01-31 10:00:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -125,7 +125,7 @@ object(DateTime)#3 (3) {
|
||||
-- int 1 --
|
||||
object(DateTime)#3 (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-31 10:01:45"
|
||||
string(26) "2009-01-31 10:01:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -135,7 +135,7 @@ object(DateTime)#3 (3) {
|
||||
-- int 12345 --
|
||||
object(DateTime)#3 (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-02-08 23:45:45"
|
||||
string(26) "2009-02-08 23:45:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -145,7 +145,7 @@ object(DateTime)#3 (3) {
|
||||
-- int -12345 --
|
||||
object(DateTime)#3 (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-30 20:15:45"
|
||||
string(26) "2009-01-30 20:15:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -155,7 +155,7 @@ object(DateTime)#3 (3) {
|
||||
-- float 10.5 --
|
||||
object(DateTime)#3 (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-30 10:10:45"
|
||||
string(26) "2009-01-30 10:10:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -165,7 +165,7 @@ object(DateTime)#3 (3) {
|
||||
-- float -10.5 --
|
||||
object(DateTime)#3 (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-30 09:50:45"
|
||||
string(26) "2009-01-30 09:50:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -175,7 +175,7 @@ object(DateTime)#3 (3) {
|
||||
-- float .5 --
|
||||
object(DateTime)#3 (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-30 10:00:45"
|
||||
string(26) "2009-01-30 10:00:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -205,7 +205,7 @@ bool(false)
|
||||
-- uppercase NULL --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-30 10:00:45"
|
||||
string(26) "2009-01-30 10:00:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -215,7 +215,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase null --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-30 10:00:45"
|
||||
string(26) "2009-01-30 10:00:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -225,7 +225,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase true --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-30 10:01:45"
|
||||
string(26) "2009-01-30 10:01:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -235,7 +235,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase false --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-30 10:00:45"
|
||||
string(26) "2009-01-30 10:00:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -245,7 +245,7 @@ object(DateTime)#%d (3) {
|
||||
-- uppercase TRUE --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-30 10:01:45"
|
||||
string(26) "2009-01-30 10:01:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -255,7 +255,7 @@ object(DateTime)#%d (3) {
|
||||
-- uppercase FALSE --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-30 10:00:45"
|
||||
string(26) "2009-01-30 10:00:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -305,7 +305,7 @@ bool(false)
|
||||
-- undefined var --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-30 10:00:45"
|
||||
string(26) "2009-01-30 10:00:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -315,7 +315,7 @@ object(DateTime)#%d (3) {
|
||||
-- unset var --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-30 10:00:45"
|
||||
string(26) "2009-01-30 10:00:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -326,4 +326,4 @@ object(DateTime)#%d (3) {
|
||||
|
||||
Warning: date_time_set() expects parameter 3 to be long, resource given in %s on line %d
|
||||
bool(false)
|
||||
===DONE===
|
||||
===DONE===
|
||||
@@ -115,7 +115,7 @@ fclose( $file_handle );
|
||||
-- int 0 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-31 10:13:00"
|
||||
string(26) "2009-01-31 10:13:00.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -125,7 +125,7 @@ object(DateTime)#%d (3) {
|
||||
-- int 1 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-31 10:13:01"
|
||||
string(26) "2009-01-31 10:13:01.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -135,7 +135,7 @@ object(DateTime)#%d (3) {
|
||||
-- int 12345 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-31 13:38:45"
|
||||
string(26) "2009-01-31 13:38:45.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -145,7 +145,7 @@ object(DateTime)#%d (3) {
|
||||
-- int -12345 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-31 06:47:15"
|
||||
string(26) "2009-01-31 06:47:15.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -155,7 +155,7 @@ object(DateTime)#%d (3) {
|
||||
-- float 10.5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-31 10:13:10"
|
||||
string(26) "2009-01-31 10:13:10.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -165,7 +165,7 @@ object(DateTime)#%d (3) {
|
||||
-- float -10.5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-31 10:12:50"
|
||||
string(26) "2009-01-31 10:12:50.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -175,7 +175,7 @@ object(DateTime)#%d (3) {
|
||||
-- float .5 --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-31 10:13:00"
|
||||
string(26) "2009-01-31 10:13:00.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -205,7 +205,7 @@ bool(false)
|
||||
-- uppercase NULL --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-31 10:13:00"
|
||||
string(26) "2009-01-31 10:13:00.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -215,7 +215,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase null --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-31 10:13:00"
|
||||
string(26) "2009-01-31 10:13:00.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -225,7 +225,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase true --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-31 10:13:01"
|
||||
string(26) "2009-01-31 10:13:01.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -235,7 +235,7 @@ object(DateTime)#%d (3) {
|
||||
-- lowercase false --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-31 10:13:00"
|
||||
string(26) "2009-01-31 10:13:00.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -245,7 +245,7 @@ object(DateTime)#%d (3) {
|
||||
-- uppercase TRUE --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-31 10:13:01"
|
||||
string(26) "2009-01-31 10:13:01.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -255,7 +255,7 @@ object(DateTime)#%d (3) {
|
||||
-- uppercase FALSE --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-31 10:13:00"
|
||||
string(26) "2009-01-31 10:13:00.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -305,7 +305,7 @@ bool(false)
|
||||
-- undefined var --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-31 10:13:00"
|
||||
string(26) "2009-01-31 10:13:00.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
@@ -315,7 +315,7 @@ object(DateTime)#%d (3) {
|
||||
-- unset var --
|
||||
object(DateTime)#%d (3) {
|
||||
["date"]=>
|
||||
string(19) "2009-01-31 10:13:00"
|
||||
string(26) "2009-01-31 10:13:00.000000"
|
||||
["timezone_type"]=>
|
||||
int(3)
|
||||
["timezone"]=>
|
||||
|
||||
Loaded 100 of 314 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user