mirror of
https://github.com/bdnugget/php-src.git
synced 2026-11-11 03:00:49 +00:00
Compare commits
2114
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
79f14997b4 | ||
|
|
ad1bbaca04 | ||
|
|
778c635c40 | ||
|
|
21891aecc1 | ||
|
|
92f050786f | ||
|
|
f079ef83ab | ||
|
|
5b46c42641 | ||
|
|
4972b45520 | ||
|
|
de8d0920d4 | ||
|
|
58349878fc | ||
|
|
4d64a617c3 | ||
|
|
02f405ccb1 | ||
|
|
08feff327a | ||
|
|
96723680d0 | ||
|
|
6486069a3f | ||
|
|
0d0f3e290b | ||
|
|
8c56ee5cb6 | ||
|
|
c4790e3a9e | ||
|
|
6fcc365c75 | ||
|
|
5121b2a78a | ||
|
|
32dc6ee526 | ||
|
|
8340e30313 | ||
|
|
e9c813af61 | ||
|
|
8eb44c317e | ||
|
|
b185e09245 | ||
|
|
864a2897df | ||
|
|
fc4fb89cac | ||
|
|
30cb5e36b8 | ||
|
|
61e93ccfe8 | ||
|
|
0d4965407e | ||
|
|
88268c6bcc | ||
|
|
594139b1ea | ||
|
|
da692974ab | ||
|
|
47e6f644f7 | ||
|
|
f9bfdc921a | ||
|
|
43fdbe99cd | ||
|
|
0839cadef6 | ||
|
|
fb91408a17 | ||
|
|
22f4a05149 | ||
|
|
58576f71c3 | ||
|
|
bcc1654de3 | ||
|
|
a5e15f2e1c | ||
|
|
6d8c69e3cb | ||
|
|
d4dd29194b | ||
|
|
488500acfb | ||
|
|
64a7e46506 | ||
|
|
34f32d4dcd | ||
|
|
e99fac3d01 | ||
|
|
d6ee7d1d9a | ||
|
|
9b01900321 | ||
|
|
e5ab119ad3 | ||
|
|
e2dd2d7e7a | ||
|
|
3a75666285 | ||
|
|
d03aea048f | ||
|
|
62b9a736bf | ||
|
|
63e14480fc | ||
|
|
12894cc1b6 | ||
|
|
5bd93221a8 | ||
|
|
220490222a | ||
|
|
56567d31b3 | ||
|
|
e3fd31503b | ||
|
|
9846878450 | ||
|
|
8479546920 | ||
|
|
90c6bfd259 | ||
|
|
8d63360fc4 | ||
|
|
c7d2d2a689 | ||
|
|
c2c7bc6a10 | ||
|
|
2a140b8f40 | ||
|
|
dc7ecd41ef | ||
|
|
bb29557060 | ||
|
|
b905bddda8 | ||
|
|
ad5af84a3c | ||
|
|
c5b9552891 | ||
|
|
b0ccd89450 | ||
|
|
5c32e974aa | ||
|
|
25aeeb5e25 | ||
|
|
a5acdfc5f2 | ||
|
|
3795f9d8bb | ||
|
|
0e396980a1 | ||
|
|
b5aeda4e65 | ||
|
|
f046cdf3fa | ||
|
|
21e1f5da43 | ||
|
|
f34a85bc58 | ||
|
|
d7c1980a21 | ||
|
|
73ab144544 | ||
|
|
74d3631062 | ||
|
|
64363f71f2 | ||
|
|
537900c8e8 | ||
|
|
8b35266a35 | ||
|
|
22ee7f8e3e | ||
|
|
ec1a7e02d4 | ||
|
|
7669169bd5 | ||
|
|
56d78654a3 | ||
|
|
6bcb57fc2b | ||
|
|
41284d17b0 | ||
|
|
386581b3f8 | ||
|
|
7ebca7d3b7 | ||
|
|
d07b094461 | ||
|
|
077559d3e4 | ||
|
|
f5a7694305 | ||
|
|
cfda375620 | ||
|
|
ef0c0cc62b | ||
|
|
2e50763315 | ||
|
|
319dff73fb | ||
|
|
6c2ebc6d76 | ||
|
|
11105b1eed | ||
|
|
caac5ef86d | ||
|
|
eea08af619 | ||
|
|
1a36aaf874 | ||
|
|
9a6a266b16 | ||
|
|
ad61a18a2e | ||
|
|
42f8bef053 | ||
|
|
b1cb83f3c9 | ||
|
|
7f75b5fbf4 | ||
|
|
d411d72053 | ||
|
|
f7c77f0f33 | ||
|
|
fc6d0f3264 | ||
|
|
4628a41c00 | ||
|
|
983263ce5d | ||
|
|
e18a1d7c08 | ||
|
|
248be6fcfc | ||
|
|
cf90abfc24 | ||
|
|
35343ffaec | ||
|
|
a151e632d5 | ||
|
|
3515689363 | ||
|
|
8c4d236546 | ||
|
|
a0872d6bed | ||
|
|
1c0971f3ce | ||
|
|
9c2ea13abc | ||
|
|
a034972797 | ||
|
|
7c17499079 | ||
|
|
ad90780930 | ||
|
|
c5b4115fd6 | ||
|
|
7f6018aa3a | ||
|
|
53e37ac843 | ||
|
|
c01d79b2df | ||
|
|
0986f33d1e | ||
|
|
34ff54e4c7 | ||
|
|
a7d2ac4189 | ||
|
|
970298401b | ||
|
|
fc0fe6472e | ||
|
|
59aecb1d88 | ||
|
|
fe3f66e188 | ||
|
|
8710b8c5f5 | ||
|
|
d09ad216a0 | ||
|
|
604990d6a5 | ||
|
|
b7d5d7047b | ||
|
|
c92ae847c7 | ||
|
|
97200944d2 | ||
|
|
fb607b0327 | ||
|
|
81a2bacdc4 | ||
|
|
f90214347e | ||
|
|
d831a501f7 | ||
|
|
ab056b02a1 | ||
|
|
8e43f0085b | ||
|
|
eb99c74567 | ||
|
|
af264f6f0d | ||
|
|
81c25d8700 | ||
|
|
48336bcd71 | ||
|
|
f0a0f89a2c | ||
|
|
3782a4acf2 | ||
|
|
670b075f87 | ||
|
|
97ec0f3db5 | ||
|
|
3450841dbe | ||
|
|
61c9b22536 | ||
|
|
5961160f95 | ||
|
|
cd82349b9e | ||
|
|
5df2f5df42 | ||
|
|
efff8a45e2 | ||
|
|
9255733c4f | ||
|
|
84326a9b72 | ||
|
|
aec3b4e73c | ||
|
|
4e09db1dbf | ||
|
|
78244d64af | ||
|
|
fc4ebee3e3 | ||
|
|
2a130b19fc | ||
|
|
e8a7e6a8cf | ||
|
|
7b581f6d19 | ||
|
|
32220d2e7e | ||
|
|
e989e9f70f | ||
|
|
ae5204a02a | ||
|
|
9e8a1bfcbe | ||
|
|
8aedeb8513 | ||
|
|
0d38bc9f80 | ||
|
|
5500dea5f1 | ||
|
|
93d339bede | ||
|
|
2a29db4b2b | ||
|
|
20b97141d4 | ||
|
|
5238fb0bee | ||
|
|
86ecf121e5 | ||
|
|
b1264f7172 | ||
|
|
99cd9ed713 | ||
|
|
59dc41f761 | ||
|
|
2b413f7af2 | ||
|
|
6654b31e26 | ||
|
|
b6f856fbec | ||
|
|
2f3678eb44 | ||
|
|
8d4080a6e1 | ||
|
|
29f5ce9af3 | ||
|
|
46f922bdf7 | ||
|
|
6370ae56ed | ||
|
|
a9ffac3eda | ||
|
|
5da39c99c6 | ||
|
|
58bd1ac860 | ||
|
|
ab55ed15d5 | ||
|
|
b83a0eb10c | ||
|
|
8370e1aca4 | ||
|
|
f7276af1c6 | ||
|
|
c2ed71a879 | ||
|
|
94518ca8e4 | ||
|
|
1024844a41 | ||
|
|
87db368a75 | ||
|
|
bfb72e0c08 | ||
|
|
905007669d | ||
|
|
18a99796ad | ||
|
|
adc26d2bca | ||
|
|
8c991f6a49 | ||
|
|
849a614275 | ||
|
|
70a53e10c6 | ||
|
|
e6ae0e99c3 | ||
|
|
e4210e3851 | ||
|
|
579e00d489 | ||
|
|
dfcc155c76 | ||
|
|
69fdadf1a0 | ||
|
|
10f77a5d71 | ||
|
|
4bb39ad2a5 | ||
|
|
57492cc2d4 | ||
|
|
0cd997d79c | ||
|
|
418223e2f6 | ||
|
|
17907a50cd | ||
|
|
460a4fecef | ||
|
|
8fee6ac1e2 | ||
|
|
84cd3c125c | ||
|
|
33c87b395f | ||
|
|
bdf9c4d15c | ||
|
|
a91f9fb786 | ||
|
|
9417c070f6 | ||
|
|
cb3cca21b3 | ||
|
|
67313884c1 | ||
|
|
5c8027584f | ||
|
|
85a578e029 | ||
|
|
00b9392bf5 | ||
|
|
b041abbb4e | ||
|
|
1b7e3fe2a5 | ||
|
|
71c7cdb7d9 | ||
|
|
f7aec44aee | ||
|
|
6c65d6df59 | ||
|
|
3ce27140dc | ||
|
|
900d49a553 | ||
|
|
cdb699b497 | ||
|
|
bc22352c30 | ||
|
|
f94b3012bd | ||
|
|
882a9effe6 | ||
|
|
a8a4d7944d | ||
|
|
a939717011 | ||
|
|
ec4fd02760 | ||
|
|
d43833ecff | ||
|
|
379cd5a6df | ||
|
|
db312cf18e | ||
|
|
a74463e9bd | ||
|
|
ddcc5257ac | ||
|
|
f19c2e00ec | ||
|
|
64f82f9c00 | ||
|
|
f75efcb505 | ||
|
|
60db0632dd | ||
|
|
bac905b982 | ||
|
|
9bb52c750c | ||
|
|
85a261bb85 | ||
|
|
d05c2a40d8 | ||
|
|
af1d83d783 | ||
|
|
c19fa0bbde | ||
|
|
ba6c82eee9 | ||
|
|
b3fc86b5f4 | ||
|
|
933d1d174c | ||
|
|
5e9c6555ad | ||
|
|
cc96967132 | ||
|
|
ca42324497 | ||
|
|
7a6ac7ce16 | ||
|
|
599221036f | ||
|
|
ce90a27a48 | ||
|
|
5461b5a6b1 | ||
|
|
eef44c609b | ||
|
|
4ccdc86561 | ||
|
|
b8572a0c9c | ||
|
|
c98ef984d8 | ||
|
|
6b86285dd2 | ||
|
|
fbeb8ae0d4 | ||
|
|
a4d0a4c625 | ||
|
|
ccdeb10696 | ||
|
|
84051ba42b | ||
|
|
c287dec802 | ||
|
|
185f085735 | ||
|
|
0d1efb245b | ||
|
|
25de19a2fb | ||
|
|
484de9c3a4 | ||
|
|
25670c59d3 | ||
|
|
b30602b78b | ||
|
|
3d4c1d6886 | ||
|
|
644cf05505 | ||
|
|
90bdbfa921 | ||
|
|
24d824d4e8 | ||
|
|
2d234ec4ac | ||
|
|
d5bb2e38ef | ||
|
|
9e8bf1a20f | ||
|
|
bfa084ddba | ||
|
|
241659ff70 | ||
|
|
e5bd8e32f5 | ||
|
|
5b561a6df3 | ||
|
|
2796160d15 | ||
|
|
0e46f5113c | ||
|
|
24af85dfe9 | ||
|
|
8c8907458c | ||
|
|
481ec28566 | ||
|
|
5e223ad13b | ||
|
|
31c35e5cad | ||
|
|
2b059ae91f | ||
|
|
dfba12435d | ||
|
|
085ff7f19b | ||
|
|
5fd5bead8a | ||
|
|
f2415625d4 | ||
|
|
aa1b0709f2 | ||
|
|
684d68bb27 | ||
|
|
3e669bc950 | ||
|
|
347032c753 | ||
|
|
a4295629b8 | ||
|
|
06b36f7cea | ||
|
|
253392f64f | ||
|
|
635e2bb028 | ||
|
|
4e874820e9 | ||
|
|
b9af8f2719 | ||
|
|
d95275052b | ||
|
|
a3c0b190d1 | ||
|
|
9e1c5a32a3 | ||
|
|
4cbde95247 | ||
|
|
a3af52c11e | ||
|
|
d0a54af4c5 | ||
|
|
f20a62b164 | ||
|
|
f58f7f4e67 | ||
|
|
66832decc5 | ||
|
|
bbe1f9d280 | ||
|
|
7154c617bf | ||
|
|
6aba1816ee | ||
|
|
3eafc3d329 | ||
|
|
937e9f801d | ||
|
|
4ce11c2a63 | ||
|
|
012e5bf4cd | ||
|
|
ab34dafb69 | ||
|
|
9ee0707cfa | ||
|
|
6abf54a489 | ||
|
|
55a299075b | ||
|
|
17683295e4 | ||
|
|
bd0aaa0198 | ||
|
|
66fbae9d75 | ||
|
|
2994c23670 | ||
|
|
eb83ca1cd3 | ||
|
|
15afc78f85 | ||
|
|
b01f5b35f5 | ||
|
|
58c05c04f4 | ||
|
|
d1ce095f84 | ||
|
|
b09703e921 | ||
|
|
ca0d712c3c | ||
|
|
d72347f7bc | ||
|
|
6190512876 | ||
|
|
3f666e1dfe | ||
|
|
bb6aa3ebd3 | ||
|
|
7cf9dfe237 | ||
|
|
d66e492c3d | ||
|
|
72e366657b | ||
|
|
c7c71b8530 | ||
|
|
3cfdbdbd12 | ||
|
|
c6fb5f38c0 | ||
|
|
7d8d573f0d | ||
|
|
f5fae65194 | ||
|
|
bde40a73db | ||
|
|
ee372651d0 | ||
|
|
860c3a5a32 | ||
|
|
6c3e2b32bf | ||
|
|
ef7cb6880f | ||
|
|
4bfba57f96 | ||
|
|
40ad5745a7 | ||
|
|
e9f5066faa | ||
|
|
2e3ae884fb | ||
|
|
2196bda958 | ||
|
|
ab6a987f86 | ||
|
|
ee72c31788 | ||
|
|
2fae8d37c0 | ||
|
|
bcd9356df5 | ||
|
|
950de07889 | ||
|
|
20c3b72bf0 | ||
|
|
039c69da18 | ||
|
|
06c57b7d55 | ||
|
|
b935f6f13a | ||
|
|
7901a6dbef | ||
|
|
b45292a819 | ||
|
|
59087fee52 | ||
|
|
fc8d9584b1 | ||
|
|
bd8df0b32a | ||
|
|
4e03ce9fc5 | ||
|
|
f4248e51a4 | ||
|
|
f74f26f487 | ||
|
|
c23052d6d2 | ||
|
|
7a652e397b | ||
|
|
f496bf9dda | ||
|
|
da6e561d2b | ||
|
|
3756201e04 | ||
|
|
916ad6c8f7 | ||
|
|
8768ab94b3 | ||
|
|
673dc5ee5f | ||
|
|
c1cb5e6885 | ||
|
|
8c7f03c8a4 | ||
|
|
0a1ba06e5d | ||
|
|
c83472edf1 | ||
|
|
d23ad35375 | ||
|
|
ae07423bcd | ||
|
|
9c2183f622 | ||
|
|
911355bee8 | ||
|
|
de8052aa41 | ||
|
|
279e4f7219 | ||
|
|
7cb0480d04 | ||
|
|
16177d63f2 | ||
|
|
c60079862b | ||
|
|
a8a55dc086 | ||
|
|
4ec16344a9 | ||
|
|
a8c0463961 | ||
|
|
5b6cc7d96c | ||
|
|
e20b4ab640 | ||
|
|
b6b6ec2a97 | ||
|
|
c230f7defb | ||
|
|
22efcfd530 | ||
|
|
6357acc086 | ||
|
|
0a5d10a5b9 | ||
|
|
02aad34c43 | ||
|
|
7eb04b7907 | ||
|
|
046bff25fb | ||
|
|
559c624806 | ||
|
|
30dc899c2e | ||
|
|
ea80259eb3 | ||
|
|
49f673979b | ||
|
|
128119b9ab | ||
|
|
6f5b9894a2 | ||
|
|
820b5aa9e4 | ||
|
|
28dfe0dfd9 | ||
|
|
1cbe552f4d | ||
|
|
d79e01e211 | ||
|
|
37661c8b39 | ||
|
|
efcd3e318b | ||
|
|
bc9fc0d6cf | ||
|
|
0242b892d2 | ||
|
|
d61e8d63fd | ||
|
|
5db70599d1 | ||
|
|
4250a26f5c | ||
|
|
40666b6708 | ||
|
|
5d1cf6a544 | ||
|
|
6dec77d25e | ||
|
|
4a400ce14f | ||
|
|
ac48d5d24f | ||
|
|
0626f6ca0a | ||
|
|
40a3cdd97b | ||
|
|
131033352d | ||
|
|
2ad81f4584 | ||
|
|
22f2b206b7 | ||
|
|
52e1590285 | ||
|
|
c2ec68ab62 | ||
|
|
26b8b65c18 | ||
|
|
14594953d2 | ||
|
|
da9abd8b73 | ||
|
|
d69ab24f69 | ||
|
|
13af4c9a09 | ||
|
|
b15e33f85a | ||
|
|
d0ea27b802 | ||
|
|
419a9c6cac | ||
|
|
5a606e0be3 | ||
|
|
b4dd85ff46 | ||
|
|
7a05927e44 | ||
|
|
63dae4ee74 | ||
|
|
6543134dea | ||
|
|
cdbe4a5cab | ||
|
|
3b3f8137c3 | ||
|
|
4320984303 | ||
|
|
8b443a1851 | ||
|
|
b81012c718 | ||
|
|
bd196f4bd0 | ||
|
|
93608bf8a5 | ||
|
|
fc34aa8489 | ||
|
|
e678e7a6af | ||
|
|
e8ec9a98dd | ||
|
|
51e3beb4cb | ||
|
|
934e19107d | ||
|
|
c37b13e0db | ||
|
|
9aebeaaf09 | ||
|
|
b3a48855ab | ||
|
|
331726338b | ||
|
|
497fae9d1f | ||
|
|
ef08c58664 | ||
|
|
339b4dbd6f | ||
|
|
ab6a675131 | ||
|
|
426fb96cc9 | ||
|
|
36d62a2f84 | ||
|
|
0b9f9de012 | ||
|
|
85ad81736c | ||
|
|
1ea0bae9c0 | ||
|
|
57f76446cf | ||
|
|
0f3d8acfd6 | ||
|
|
46ae03d872 | ||
|
|
7241dea7ef | ||
|
|
b6307d1014 | ||
|
|
4e3cd72df5 | ||
|
|
244c9a4ba0 | ||
|
|
c0c096b752 | ||
|
|
366832fbd2 | ||
|
|
4e4b98a66d | ||
|
|
dc0db7382c | ||
|
|
350aec954e | ||
|
|
7107105429 | ||
|
|
17f504a0ec | ||
|
|
70331c361e | ||
|
|
2256ec00ef | ||
|
|
2618322506 | ||
|
|
268ac81e39 | ||
|
|
1d3f0d8891 | ||
|
|
c2d53719c2 | ||
|
|
bb2f034eff | ||
|
|
363b0ce10b | ||
|
|
0a865c89c5 | ||
|
|
94ab6069b8 | ||
|
|
dfdd1e4caf | ||
|
|
2814b749ec | ||
|
|
7aa61c312d | ||
|
|
fb81446ec9 | ||
|
|
aae30f20fc | ||
|
|
8e49bacf95 | ||
|
|
a570981151 | ||
|
|
f5117c81b3 | ||
|
|
a420b562df | ||
|
|
c13c6e4f68 | ||
|
|
4dbac17f9c | ||
|
|
e0ded79c0f | ||
|
|
794c2e8e5d | ||
|
|
b9f0ff7aab | ||
|
|
f7beb9f30c | ||
|
|
1e93bb16e4 | ||
|
|
36d6ddc241 | ||
|
|
7e0dc09703 | ||
|
|
ad7732c0cc | ||
|
|
8c86ea4693 | ||
|
|
2f6cebb206 | ||
|
|
af34ed0d97 | ||
|
|
7f367c9d83 | ||
|
|
0d088689c0 | ||
|
|
80e04c2c35 | ||
|
|
13996df552 | ||
|
|
3db21d2f4c | ||
|
|
a6a9dc2eec | ||
|
|
7243d31ae0 | ||
|
|
19ea8abd09 | ||
|
|
e47c21e0bc | ||
|
|
2bb4d8282c | ||
|
|
4020933726 | ||
|
|
db77890bbd | ||
|
|
abe364335b | ||
|
|
cfeb12ccf5 | ||
|
|
d20fe303b3 | ||
|
|
493c9fcf93 | ||
|
|
60949ca571 | ||
|
|
6ed54ddc79 | ||
|
|
e1fac162a0 | ||
|
|
ae75d4350d | ||
|
|
da2d7e7229 | ||
|
|
110344d65c | ||
|
|
54a5c714ca | ||
|
|
7b073bbad8 | ||
|
|
8b4e1abdb0 | ||
|
|
25558ffdbb | ||
|
|
c21ced1ec9 | ||
|
|
aa749a1269 | ||
|
|
4ba37d04d4 | ||
|
|
4eb9e62209 | ||
|
|
eb0a6a666f | ||
|
|
8f514cd18c | ||
|
|
1340c04976 | ||
|
|
014729d00b | ||
|
|
95c6c6d2cd | ||
|
|
d734669230 | ||
|
|
1a78dc5fbf | ||
|
|
924ae32ddf | ||
|
|
18606377dd | ||
|
|
a0303c772a | ||
|
|
52747127f8 | ||
|
|
c127df868e | ||
|
|
b5c8fcb5fa | ||
|
|
158ebbd9b5 | ||
|
|
da0a76c561 | ||
|
|
f1a8fde76a | ||
|
|
cce5e8c9ea | ||
|
|
9aeb125f4a | ||
|
|
aab9009deb | ||
|
|
209169786a | ||
|
|
6b8bf38333 | ||
|
|
8bd18e174b | ||
|
|
0bd9518f8c | ||
|
|
c95360658f | ||
|
|
f8781c168e | ||
|
|
a7d31c8dac | ||
|
|
b58ed261d7 | ||
|
|
aa9ea59851 | ||
|
|
57e49322a5 | ||
|
|
c4da6009bb | ||
|
|
d3e0b57e1a | ||
|
|
3c19326480 | ||
|
|
23a3fdbf04 | ||
|
|
64931b62cc | ||
|
|
a8c6b992b8 | ||
|
|
5519008169 | ||
|
|
8c100e6451 | ||
|
|
fe306ed1a6 | ||
|
|
241aa9a59d | ||
|
|
cd9e244a68 | ||
|
|
927ea59de3 | ||
|
|
f3f057127b | ||
|
|
592e78ab87 | ||
|
|
71ac32bdb8 | ||
|
|
bd8fe7fcf0 | ||
|
|
f60da5cd5e | ||
|
|
68d1942a9a | ||
|
|
df2c11b731 | ||
|
|
611a05f857 | ||
|
|
64e8f63978 | ||
|
|
00a9f063f8 | ||
|
|
270640283e | ||
|
|
9c14ce94f3 | ||
|
|
134b2718d4 | ||
|
|
8e2de517bb | ||
|
|
bb293e15c3 | ||
|
|
ae1d56d098 | ||
|
|
9e1beb4f1c | ||
|
|
88edad9f08 | ||
|
|
6ec23a56d8 | ||
|
|
261eabbdd4 | ||
|
|
33c650020a | ||
|
|
71ad4dd19b | ||
|
|
15c1b8a3a2 | ||
|
|
c388f97ac9 | ||
|
|
d4a1506d52 | ||
|
|
b03351633a | ||
|
|
04a291d39a | ||
|
|
82814fc852 | ||
|
|
2556b354b3 | ||
|
|
00dfb7dc14 | ||
|
|
00df9b67ce | ||
|
|
bf9a25d0bb | ||
|
|
83bdbe5b53 | ||
|
|
2ca2153a06 | ||
|
|
e464f0f456 | ||
|
|
7ae7cc363a | ||
|
|
528e7869b6 | ||
|
|
72030596ba | ||
|
|
17d16cf2af | ||
|
|
edc87ef840 | ||
|
|
8098790208 | ||
|
|
50ba309495 | ||
|
|
a4bd0d6a25 | ||
|
|
703fc059bf | ||
|
|
496fd1c041 | ||
|
|
435b820f68 | ||
|
|
e02f8809f1 | ||
|
|
1d0b88d316 | ||
|
|
376d4554fb | ||
|
|
623a2021ab | ||
|
|
289402edc6 | ||
|
|
98691ba0c0 | ||
|
|
f803888510 | ||
|
|
fbc6470cb6 | ||
|
|
3d9af317e6 | ||
|
|
6f63c45639 | ||
|
|
e98a40f1fa | ||
|
|
02eb02d1ce | ||
|
|
38c5dd2929 | ||
|
|
dbc09d3325 | ||
|
|
b6fe60ab52 | ||
|
|
6070381f9d | ||
|
|
872661b91d | ||
|
|
b3b9ee1467 | ||
|
|
598f182c29 | ||
|
|
58a14f225d | ||
|
|
890bd3f002 | ||
|
|
0ba24fb65a | ||
|
|
9622ccface | ||
|
|
681405fc4a | ||
|
|
24a80c3ebf | ||
|
|
b74698f135 | ||
|
|
2baf1500e0 | ||
|
|
40c24a65c4 | ||
|
|
138ad7d252 | ||
|
|
e7494a7e9e | ||
|
|
2dc3862c7f | ||
|
|
57510065ce | ||
|
|
cea6a783af | ||
|
|
941a94ead4 | ||
|
|
d22d6910ad | ||
|
|
cc4b453611 | ||
|
|
0139cd0e53 | ||
|
|
7af8089096 | ||
|
|
588d88960c | ||
|
|
c28a9a4e5c | ||
|
|
e0924b7451 | ||
|
|
b2424b2e08 | ||
|
|
9bd48c2e15 | ||
|
|
fad0caaee9 | ||
|
|
579c9abfb3 | ||
|
|
721fec251b | ||
|
|
b05b949a47 | ||
|
|
e9de9f3aeb | ||
|
|
a3cb94abff | ||
|
|
fa406902d5 | ||
|
|
36a14076a8 | ||
|
|
3815b367d5 | ||
|
|
844cb82c45 | ||
|
|
2e8f773eee | ||
|
|
a9cac89541 | ||
|
|
8212034254 | ||
|
|
9ffefbc74e | ||
|
|
7c01510b95 | ||
|
|
3a9cdbfd41 | ||
|
|
bac9ab777e | ||
|
|
ced39e3168 | ||
|
|
dcd7879556 | ||
|
|
97ec02ce81 | ||
|
|
4c98758328 | ||
|
|
5b502880b6 | ||
|
|
51d8950b53 | ||
|
|
b122cd4b08 | ||
|
|
143d1c8011 | ||
|
|
f987de46b4 | ||
|
|
936b1e56c3 | ||
|
|
2486b846cc | ||
|
|
af888a4807 | ||
|
|
a329ecd8c4 | ||
|
|
2af3190a3d | ||
|
|
e13d51cea3 | ||
|
|
2c5c8c161c | ||
|
|
3bbd4b17a9 | ||
|
|
e415260868 | ||
|
|
4d3c8240d5 | ||
|
|
60efdff75f | ||
|
|
9490f1c847 | ||
|
|
a0c8d5d80a | ||
|
|
6b46a441cd | ||
|
|
dda1f722e2 | ||
|
|
57b520541b | ||
|
|
5460d2dad6 | ||
|
|
a0dd931d85 | ||
|
|
f9fb94ff00 | ||
|
|
0a7b720094 | ||
|
|
76ad7425ad | ||
|
|
ea544cf38f | ||
|
|
ecca329c14 | ||
|
|
890f7f46b4 | ||
|
|
23d3ddea25 | ||
|
|
75a548a7e9 | ||
|
|
b260064bbf | ||
|
|
187b6cc583 | ||
|
|
af0adbed39 | ||
|
|
7c3bdf444d | ||
|
|
863bf8a574 | ||
|
|
d4696abdb9 | ||
|
|
e7925c9767 | ||
|
|
159bae3d99 | ||
|
|
5fdeb391f3 | ||
|
|
b0c0b79136 | ||
|
|
ad1f706fda | ||
|
|
a8c338aa65 | ||
|
|
c326593c1a | ||
|
|
03cb8e959b | ||
|
|
d32c6512e1 | ||
|
|
c095e20ca8 | ||
|
|
9269f58477 | ||
|
|
3446a75a36 | ||
|
|
5bb29235dc | ||
|
|
719e78c78f | ||
|
|
382bc9d0e4 | ||
|
|
4d0439e487 | ||
|
|
5916b8dd04 | ||
|
|
5fd4035194 | ||
|
|
e264b8a4d3 | ||
|
|
5ec19bb68c | ||
|
|
4a6faadcce | ||
|
|
6aed41421e | ||
|
|
e5928942ac | ||
|
|
24046edbbb | ||
|
|
cbb928b8eb | ||
|
|
3e46adb183 | ||
|
|
fb57a8363e | ||
|
|
12ff2532c9 | ||
|
|
62ca4594f8 | ||
|
|
bddc4e6c1d | ||
|
|
d8e5ee075f | ||
|
|
e89500cdfb | ||
|
|
5a7596591f | ||
|
|
8b91c8f32e | ||
|
|
03418c1d36 | ||
|
|
5a29be9b7d | ||
|
|
d467331307 | ||
|
|
cdbf1938f2 | ||
|
|
f133b09907 | ||
|
|
fbda9ce9f4 | ||
|
|
197142b3e0 | ||
|
|
8f4112bfdd | ||
|
|
b0f1719ee5 | ||
|
|
cc50a96139 | ||
|
|
8d476ded8e | ||
|
|
e7bd6769df | ||
|
|
8ac5b549e0 | ||
|
|
0893e10ac3 | ||
|
|
33921efc44 | ||
|
|
b343aa9945 | ||
|
|
3c042299e6 | ||
|
|
eb28594aa5 | ||
|
|
a218299d6a | ||
|
|
e6566d9477 | ||
|
|
1017c44f4a | ||
|
|
a03039bade | ||
|
|
d18cdaf6dd | ||
|
|
709f73aea7 | ||
|
|
646500bfe9 | ||
|
|
1e0494a714 | ||
|
|
001f506533 | ||
|
|
4c8afd895a | ||
|
|
7e2bccf776 | ||
|
|
491674bea6 | ||
|
|
c47fb30b5b | ||
|
|
81b8096ea8 | ||
|
|
3fbee80f35 | ||
|
|
428006f54d | ||
|
|
d67821cd02 | ||
|
|
f4371b9cc6 | ||
|
|
4acffedc6b | ||
|
|
cd90395cb6 | ||
|
|
49678f0908 | ||
|
|
25a82d8a5c | ||
|
|
67f27b0aef | ||
|
|
305e946358 | ||
|
|
2580744813 | ||
|
|
2bc716c131 | ||
|
|
0615bf6cb4 | ||
|
|
855f7dfd95 | ||
|
|
28a0aef13e | ||
|
|
c0ec353655 | ||
|
|
ea4734926e | ||
|
|
cc034dcb38 | ||
|
|
ad73bdcbe0 | ||
|
|
bb8e5de181 | ||
|
|
631da59b50 | ||
|
|
062626d03e | ||
|
|
a5cea052e8 | ||
|
|
44205dc58a | ||
|
|
9d79a201f1 | ||
|
|
c61c3dd422 | ||
|
|
a5fe9808aa | ||
|
|
df71093dd8 | ||
|
|
58a0906bf9 | ||
|
|
8152c64c02 | ||
|
|
410e106aae | ||
|
|
3019a1c6a3 | ||
|
|
b94970a3bd | ||
|
|
eef799a6ec | ||
|
|
c797466259 | ||
|
|
ad28ef81c0 | ||
|
|
d41c6dc6d6 | ||
|
|
45794ee259 | ||
|
|
656f02fada | ||
|
|
036f28f115 | ||
|
|
60d70459f3 | ||
|
|
b551a55bca | ||
|
|
b1d0f9bb43 | ||
|
|
0fefec1a35 | ||
|
|
e403b15ebb | ||
|
|
412a28d124 | ||
|
|
24af08eb80 | ||
|
|
91682f88e4 | ||
|
|
a8c5828ce0 | ||
|
|
de03dd6387 | ||
|
|
bc81f55541 | ||
|
|
303a642a0d | ||
|
|
5dd9ad8f53 | ||
|
|
5ef3e0c57b | ||
|
|
94238838cf | ||
|
|
11f0ff9c1a | ||
|
|
7357ac0b96 | ||
|
|
e3c8bd51de | ||
|
|
470da4e960 | ||
|
|
5e46f636a5 | ||
|
|
faf80a4035 | ||
|
|
1f7c9e197c | ||
|
|
6df3e40977 | ||
|
|
2cbe63513c | ||
|
|
e011229598 | ||
|
|
969f05a709 | ||
|
|
595ee08653 | ||
|
|
6b0de601be | ||
|
|
d8bb2766a8 | ||
|
|
fa3394eccb | ||
|
|
dec65f584b | ||
|
|
abe0e61801 | ||
|
|
35c82a75eb | ||
|
|
e58513c4d0 | ||
|
|
71bd44ac02 | ||
|
|
d3dc0a39bc | ||
|
|
e1791bedd5 | ||
|
|
6eaf1671b5 | ||
|
|
f42742f796 | ||
|
|
cb83e27b02 | ||
|
|
93ffc14028 | ||
|
|
b33c2d9b17 | ||
|
|
8a929e054e | ||
|
|
b29b16af2e | ||
|
|
3ced246dfc | ||
|
|
3282497f82 | ||
|
|
bcf354a97a | ||
|
|
3abc925a8a | ||
|
|
e1661efced | ||
|
|
1f6debba12 | ||
|
|
33a91ad309 | ||
|
|
c3678550a3 | ||
|
|
6cbe6d7d52 | ||
|
|
f2ed06347b | ||
|
|
1b8ecbcf54 | ||
|
|
e0e9b5ac39 | ||
|
|
3d8dc4d3b1 | ||
|
|
0a50368580 | ||
|
|
4d631ec31b | ||
|
|
6df490d0ca | ||
|
|
262cbbe8d0 | ||
|
|
ffe605f2ed | ||
|
|
1c667a88e7 | ||
|
|
061ff97f69 | ||
|
|
308a64bc08 | ||
|
|
42728f947c | ||
|
|
0a2e6f723e | ||
|
|
8a5bd01a44 | ||
|
|
31f8d7dc20 | ||
|
|
48d9adc3f0 | ||
|
|
e117d540d1 | ||
|
|
afccca77dd | ||
|
|
d09fbaa495 | ||
|
|
184309c2e9 | ||
|
|
594fd87ca7 | ||
|
|
728acc3785 | ||
|
|
9a0bed9863 | ||
|
|
612dab64ee | ||
|
|
b76dcd68ee | ||
|
|
a750f195cd | ||
|
|
991a29cfd6 | ||
|
|
ca9dd7d826 | ||
|
|
0ea0e1615f | ||
|
|
224e1f50ae | ||
|
|
6333f71ea3 | ||
|
|
c19322869b | ||
|
|
ba3862b369 | ||
|
|
13dc73940d | ||
|
|
69722777a0 | ||
|
|
08b5c498ce | ||
|
|
932346c00f | ||
|
|
56f006a998 | ||
|
|
4c4b955dce | ||
|
|
655743c4e7 | ||
|
|
91e31d0243 | ||
|
|
dfc8044098 | ||
|
|
69f0675a35 | ||
|
|
b47525e508 | ||
|
|
941ac55d2f | ||
|
|
09540ee965 | ||
|
|
e2599c3dbf | ||
|
|
1a04335ec2 | ||
|
|
ba5f66777e | ||
|
|
386a3b9305 | ||
|
|
4329db25a1 | ||
|
|
72857b6dbb | ||
|
|
c0cb5a83bf | ||
|
|
006922ba18 | ||
|
|
ef04eea493 | ||
|
|
846b0826ab | ||
|
|
15c9f414a6 | ||
|
|
c508b5e66a | ||
|
|
9daaedc125 | ||
|
|
049882f29c | ||
|
|
f4a15e4fb8 | ||
|
|
d696f11814 | ||
|
|
57641c166f | ||
|
|
fdd42afa6c | ||
|
|
fab0baa274 | ||
|
|
06550ce8e0 | ||
|
|
2352850c52 | ||
|
|
1536082186 | ||
|
|
a349428685 | ||
|
|
4fb5b322ee | ||
|
|
3905ce46d9 | ||
|
|
4f7d14f8d9 | ||
|
|
6cc5e191d0 | ||
|
|
0d9bc3a679 | ||
|
|
ba8a8d9f25 | ||
|
|
4566f48777 | ||
|
|
c81c189198 | ||
|
|
a952406eb3 | ||
|
|
35b7ad00a6 | ||
|
|
6cf5be04d6 | ||
|
|
a3a2fe37af | ||
|
|
09f0161160 | ||
|
|
e3a1bf1e62 | ||
|
|
5ece2f6369 | ||
|
|
d38a901189 | ||
|
|
5337c02684 | ||
|
|
b5017bd725 | ||
|
|
d6c7d9630b | ||
|
|
0dce979bfc | ||
|
|
eef28dacec | ||
|
|
8524b33feb | ||
|
|
f8e8c5534b | ||
|
|
0823526afe | ||
|
|
f0c27e68b2 | ||
|
|
cd63787e9a | ||
|
|
8bba75f0f8 | ||
|
|
f3c44f6065 | ||
|
|
a72a517e2f | ||
|
|
0988162649 | ||
|
|
3d41ebf595 | ||
|
|
20c3266588 | ||
|
|
999a7acd71 | ||
|
|
967413c58c | ||
|
|
5e33a09f20 | ||
|
|
a51fc50b6e | ||
|
|
ddf3f9b068 | ||
|
|
529263d680 | ||
|
|
de6b4c0091 | ||
|
|
4dff36f6b4 | ||
|
|
bcb70109d2 | ||
|
|
462940cbb0 | ||
|
|
08a6122f54 | ||
|
|
fe9db9ab0a | ||
|
|
bfe844e41e | ||
|
|
9986219353 | ||
|
|
33d913d9da | ||
|
|
5eb6b78c90 | ||
|
|
e26ae04d5f | ||
|
|
9d3ac92729 | ||
|
|
0ce7487110 | ||
|
|
46488c8bb4 | ||
|
|
116584297a | ||
|
|
9a1c6c55b8 | ||
|
|
c3a79b5990 | ||
|
|
8acd34d6d8 | ||
|
|
d1ee4b407c | ||
|
|
7d918fae4c | ||
|
|
7e762989e7 | ||
|
|
87071cf1d6 | ||
|
|
3eb6167902 | ||
|
|
21e809b7be | ||
|
|
3fd2e85458 | ||
|
|
4b9b5505f0 | ||
|
|
f43767b249 | ||
|
|
27763b3666 | ||
|
|
e4a4ab60c7 | ||
|
|
8cf678c306 | ||
|
|
1bf64add7b | ||
|
|
595e93be27 | ||
|
|
69edc17192 | ||
|
|
ae281c372a | ||
|
|
7199bc5f86 | ||
|
|
c0ffebcee6 | ||
|
|
eb7e9b6bfc | ||
|
|
5ca5efcdda | ||
|
|
ca8596ab83 | ||
|
|
3fab7a3ed6 | ||
|
|
a29501195f | ||
|
|
b4dd030782 | ||
|
|
a5f0cbed44 | ||
|
|
650b76e542 | ||
|
|
d5809b85f9 | ||
|
|
dc929d011c | ||
|
|
766e4b3c15 | ||
|
|
bab59278d7 | ||
|
|
c221e148d7 | ||
|
|
d3f03cc468 | ||
|
|
bd7a277d48 | ||
|
|
196e54fc43 | ||
|
|
09f89c8cb0 | ||
|
|
2a7bd2b823 | ||
|
|
9d1f2f30d3 | ||
|
|
9a74c68a4c | ||
|
|
21698c12fe | ||
|
|
90236679e9 | ||
|
|
5682438549 | ||
|
|
8dc3e7b147 | ||
|
|
9e9f413aeb | ||
|
|
af01525d1e | ||
|
|
be945f9fe2 | ||
|
|
81151a5dbf | ||
|
|
497c7714e6 | ||
|
|
77d3a41f8a | ||
|
|
1e37cc7b82 | ||
|
|
a55c4799aa | ||
|
|
e53f6428ac | ||
|
|
f4007c8f6b | ||
|
|
edc39221c0 | ||
|
|
5f47b4178e | ||
|
|
e9c81e4983 | ||
|
|
9c252b4b07 | ||
|
|
2d16ed7706 | ||
|
|
efe24c0205 | ||
|
|
6b0d0f7ceb | ||
|
|
7262ccfac9 | ||
|
|
0730fa2af9 | ||
|
|
9305339d94 | ||
|
|
26bf79a15e | ||
|
|
b5e2cc5197 | ||
|
|
06e3607102 | ||
|
|
6818826bbd | ||
|
|
25c6fbe515 | ||
|
|
42fb30298c | ||
|
|
46783871e3 | ||
|
|
6ed7a799af | ||
|
|
38a52c5b0d | ||
|
|
8a39d704c4 | ||
|
|
7f293b91b4 | ||
|
|
caa9702a5a | ||
|
|
a022e10c2d | ||
|
|
a3c168239d | ||
|
|
27df981727 | ||
|
|
020f1ba949 | ||
|
|
1ee421ff66 | ||
|
|
635d65ab4e | ||
|
|
084ab84411 | ||
|
|
222900c4b0 | ||
|
|
d1be6c8152 | ||
|
|
b6be0f9817 | ||
|
|
60b1f64cc7 | ||
|
|
4e1b287b82 | ||
|
|
38317bb3bd | ||
|
|
6bc126681c | ||
|
|
bd30309d65 | ||
|
|
0eabbc9f89 | ||
|
|
a8355965bb | ||
|
|
2b32ff53cd | ||
|
|
abcfcd3f2e | ||
|
|
1890173d8c | ||
|
|
8c4d1f6657 | ||
|
|
bb35f045df | ||
|
|
00566c3949 | ||
|
|
321732227f | ||
|
|
170ef60d6f | ||
|
|
96873fecef | ||
|
|
6319efa013 | ||
|
|
44840ace8e | ||
|
|
a4673bd7b7 | ||
|
|
5f8809907a | ||
|
|
64cfbf539f | ||
|
|
248c30dad7 | ||
|
|
1978e9109f | ||
|
|
41901d127c | ||
|
|
4f161fe289 | ||
|
|
7fda1750f1 | ||
|
|
9057102e6e | ||
|
|
e615889d6b | ||
|
|
5253ea11de | ||
|
|
40f971b5b6 | ||
|
|
248345d920 | ||
|
|
655cb3aaf7 | ||
|
|
156a899e4a | ||
|
|
28796e9aa6 | ||
|
|
ab78a63357 | ||
|
|
2ec2739c19 | ||
|
|
b08c3d880e | ||
|
|
307ec8ece4 | ||
|
|
9230473cd3 | ||
|
|
d1a4819c09 | ||
|
|
7c37c2c37e | ||
|
|
b247dc3418 | ||
|
|
43f63e4753 | ||
|
|
99baa01aac | ||
|
|
0e2491f553 | ||
|
|
cf39bec447 | ||
|
|
7230be4951 | ||
|
|
ba38b8a9c9 | ||
|
|
5fc9d15692 | ||
|
|
805ca9c51f | ||
|
|
f02aa075cb | ||
|
|
c6aae12cc1 | ||
|
|
3a21310f37 | ||
|
|
1b02f3ec31 | ||
|
|
2b53e96832 | ||
|
|
11eeb0c3ac | ||
|
|
0c4867144a | ||
|
|
5dd6467bd0 | ||
|
|
a596d53131 | ||
|
|
b842d8e3d8 | ||
|
|
980b9be4b4 | ||
|
|
293beeb74a | ||
|
|
2e4c7dbb03 | ||
|
|
ce6abe492c | ||
|
|
4f89b2e0cb | ||
|
|
d3326d5b26 | ||
|
|
30b14ee8e9 | ||
|
|
e96c51a175 | ||
|
|
164b4ad4dd | ||
|
|
da4096c210 | ||
|
|
19dc0411f7 | ||
|
|
9e0ed1cb67 | ||
|
|
82d8cfb681 | ||
|
|
31dcd92f46 | ||
|
|
ae8a3a0f9e | ||
|
|
de247c88cd | ||
|
|
e5c570997e | ||
|
|
b8cc3a9c32 | ||
|
|
33df597531 | ||
|
|
daa209297d | ||
|
|
f4eb5095a6 | ||
|
|
f7ef84c32d | ||
|
|
b31ff96be9 | ||
|
|
3b329a9926 | ||
|
|
4e798f6e02 | ||
|
|
9477097564 | ||
|
|
75d362225c | ||
|
|
286d53397a | ||
|
|
a23aec662c | ||
|
|
e134382a71 | ||
|
|
94c7fd0603 | ||
|
|
1dd48ca039 | ||
|
|
f286018dd0 | ||
|
|
617716b171 | ||
|
|
690f2ab5ed | ||
|
|
976edd47e2 | ||
|
|
5516735c88 | ||
|
|
cf1b4cf673 | ||
|
|
e8b05734be | ||
|
|
5610ad29e3 | ||
|
|
23d4f9882f | ||
|
|
ca24e21972 | ||
|
|
2c6d0f8c48 | ||
|
|
496bc9fce3 | ||
|
|
d327027ea9 | ||
|
|
81b6d3e725 | ||
|
|
9711fbace9 | ||
|
|
a47eec0754 | ||
|
|
8bdc4285aa | ||
|
|
bbd37d99e1 | ||
|
|
0d993d2172 | ||
|
|
812c1e0475 | ||
|
|
e46cd60d89 | ||
|
|
a0d479994f | ||
|
|
b31f168184 | ||
|
|
54df2c9d36 | ||
|
|
4ddaf76efc | ||
|
|
417f113940 | ||
|
|
0941045fcc | ||
|
|
e274f52bbf | ||
|
|
2f594ec2b3 | ||
|
|
6c87db9e99 | ||
|
|
974adb419a | ||
|
|
565c7708ca | ||
|
|
256e6e3350 | ||
|
|
c792839d8f | ||
|
|
9aa81a786b | ||
|
|
ba8cfb4a93 | ||
|
|
2a37a0c495 | ||
|
|
daba35fead | ||
|
|
ebd4ab4d78 | ||
|
|
779e6d203e | ||
|
|
3bc9bc5de8 | ||
|
|
54931f5259 | ||
|
|
96d755978c | ||
|
|
f0f1557998 | ||
|
|
1a29376c07 | ||
|
|
995c3002aa | ||
|
|
1c7eb15eea | ||
|
|
d55f456497 | ||
|
|
96dfe589fe | ||
|
|
eeecc8a015 | ||
|
|
01d8e59d3b | ||
|
|
4571221d8e | ||
|
|
e623e5352d | ||
|
|
1a7524d7c6 | ||
|
|
0030ec7f4e | ||
|
|
1b31cbdf1a | ||
|
|
52e03bc612 | ||
|
|
030542c238 | ||
|
|
2e4d679629 | ||
|
|
4ad526693c | ||
|
|
d4fd9a58cf | ||
|
|
98f245e5f9 | ||
|
|
000a9e3015 | ||
|
|
919b0bd5b4 | ||
|
|
ee5fd96e37 | ||
|
|
0f2986fe9d | ||
|
|
c9103e18b0 | ||
|
|
621238a3c3 | ||
|
|
9a469dadd5 | ||
|
|
34f1c973a9 | ||
|
|
df5cfe27b4 | ||
|
|
757a76df3f | ||
|
|
3052233876 | ||
|
|
c59d0aeb0a | ||
|
|
47ae4b0cb9 | ||
|
|
c1fee15561 | ||
|
|
46854447c5 | ||
|
|
ae7ba4bf58 | ||
|
|
a26f8ca351 | ||
|
|
e451fb4a42 | ||
|
|
b345d31ffd | ||
|
|
017df4e790 | ||
|
|
b80eaf1721 | ||
|
|
97d493effb | ||
|
|
6e5ddd7b30 | ||
|
|
36cc9d0d42 | ||
|
|
c47f0cc73b | ||
|
|
f25c366a73 | ||
|
|
313ff9998e | ||
|
|
dcc18b6d6f | ||
|
|
7675a85828 | ||
|
|
2f4ee2fc86 | ||
|
|
806961aeee | ||
|
|
91860cf594 | ||
|
|
894237d531 | ||
|
|
8864ad2606 | ||
|
|
4b0c39887c | ||
|
|
9270751a7f | ||
|
|
32d69c853a | ||
|
|
3982f722c2 | ||
|
|
c10d6d3c89 | ||
|
|
d77c684c42 | ||
|
|
a744a6feb5 | ||
|
|
85d77d8cea | ||
|
|
7ba278b7b2 | ||
|
|
f3d9a1adbd | ||
|
|
b87970a956 | ||
|
|
aafc593eb5 | ||
|
|
98e70ab585 | ||
|
|
23e4102e95 | ||
|
|
3887a6e835 | ||
|
|
ecc34bddcc | ||
|
|
23e671a51e | ||
|
|
ce32c4ece7 | ||
|
|
916815b779 | ||
|
|
b732622dfa | ||
|
|
b711486feb | ||
|
|
20241fe16a | ||
|
|
d1623186d5 | ||
|
|
ef28855f4e | ||
|
|
46a669b7fa | ||
|
|
650cdaed12 | ||
|
|
990f7043d9 | ||
|
|
9f6e05964f | ||
|
|
3593a55341 | ||
|
|
b529831df8 | ||
|
|
c9571d7786 | ||
|
|
71df205907 | ||
|
|
cc3ceea197 | ||
|
|
cf7089972f | ||
|
|
fb5f1b7fad | ||
|
|
88fcc4859f | ||
|
|
d8cf02edb3 | ||
|
|
1066066436 | ||
|
|
cf6bb99723 | ||
|
|
a5efa0d4c3 | ||
|
|
560ac37280 | ||
|
|
a78730c257 | ||
|
|
ac19a759b6 | ||
|
|
57be0d2ed7 | ||
|
|
0cbcd08e7c | ||
|
|
f6ec1b481e | ||
|
|
4f4f52d8b0 | ||
|
|
ef11786501 | ||
|
|
be10050d8f | ||
|
|
3c8d91f558 | ||
|
|
8fdec883ab | ||
|
|
4b935b9a8a | ||
|
|
1564872062 | ||
|
|
0bb094e52b | ||
|
|
ea71e02c7a | ||
|
|
70f72d39e4 | ||
|
|
22db404132 | ||
|
|
f66d5f0cc5 | ||
|
|
b325b340b7 | ||
|
|
a5c41b2c8e | ||
|
|
4b0cdf8cd4 | ||
|
|
3e3d9e941e | ||
|
|
97c460c813 | ||
|
|
49787c93be | ||
|
|
a2c0f11235 | ||
|
|
9c392835de | ||
|
|
0b34e041e3 | ||
|
|
d608181dc7 | ||
|
|
53e5260662 | ||
|
|
0a89e44ed7 | ||
|
|
83b5eb54c4 | ||
|
|
e78ea8251a | ||
|
|
1de8a4c08c | ||
|
|
a935b06236 | ||
|
|
b3685eef5a | ||
|
|
7f1e8292d7 | ||
|
|
98694f919c | ||
|
|
882cb200cc | ||
|
|
7e071d9a1f | ||
|
|
3674649c59 | ||
|
|
bf85bf515e | ||
|
|
a6f0d99e5b | ||
|
|
594dadf9ae | ||
|
|
bed55bd176 | ||
|
|
b87c4b6abe | ||
|
|
32cf3cc19f | ||
|
|
dcac8e1a44 | ||
|
|
9b73ab50b6 | ||
|
|
eab79e8de6 | ||
|
|
73d7fb493c | ||
|
|
f7c0b7d09e | ||
|
|
ba77f8515b | ||
|
|
163c92510a | ||
|
|
2d920f6848 | ||
|
|
86d81fd743 | ||
|
|
f2874cf737 | ||
|
|
2a8cd27f4e | ||
|
|
a29793c4d2 | ||
|
|
3a5eca2bae | ||
|
|
b77cefd588 | ||
|
|
884c97d4d7 | ||
|
|
c35454440c | ||
|
|
1fad73d13d | ||
|
|
e8ea32a789 | ||
|
|
c6018b85c4 | ||
|
|
ae1fa04899 | ||
|
|
b1183590e9 | ||
|
|
beee0d14a0 | ||
|
|
bc80bdb973 | ||
|
|
0a494976c5 | ||
|
|
66125c18a3 | ||
|
|
63d0774ed6 | ||
|
|
29bf2d3a09 | ||
|
|
9859780570 | ||
|
|
84f28ce6c1 | ||
|
|
03897956b2 | ||
|
|
813bd67320 | ||
|
|
d8eece2b43 | ||
|
|
e4b07b3ebe | ||
|
|
99cb1b8004 | ||
|
|
1c82ec11a1 | ||
|
|
b19c520142 | ||
|
|
cfe1dc3b46 | ||
|
|
882503110d | ||
|
|
3560bb9c2b | ||
|
|
3db688c6c9 | ||
|
|
e11fc8bda4 | ||
|
|
6b5f4da085 | ||
|
|
8a3d3aefbb | ||
|
|
e4b1fb6455 | ||
|
|
22181d6451 | ||
|
|
0f3e95b926 | ||
|
|
4b6d351cd3 | ||
|
|
e07d2f4803 | ||
|
|
3102638061 | ||
|
|
e6c1ff254d | ||
|
|
efcfe44299 | ||
|
|
1b31dfb160 | ||
|
|
ec50ec65b9 | ||
|
|
08891a1c1b | ||
|
|
99d8090cb2 | ||
|
|
97e8c6f4a9 | ||
|
|
79f3cb9856 | ||
|
|
9438584d76 | ||
|
|
1e1d2e2b0d | ||
|
|
8adbc92d4b | ||
|
|
0e8430bc78 | ||
|
|
40a049b27e | ||
|
|
dd3d739cc6 | ||
|
|
bf75124011 | ||
|
|
b8eb8bc7d5 | ||
|
|
3b5af6d43f | ||
|
|
897090c01e | ||
|
|
27c24383ee | ||
|
|
546418a66b | ||
|
|
d4348d11dd | ||
|
|
3ebfbe6bd2 | ||
|
|
6e7a8f10d1 | ||
|
|
43c1a1b73c | ||
|
|
7aca138456 | ||
|
|
a59f50faca | ||
|
|
e568ea3277 | ||
|
|
96a273a10d | ||
|
|
db138c59d4 | ||
|
|
936e199d38 | ||
|
|
e77c65f081 | ||
|
|
ec58143e93 | ||
|
|
a9cd02c033 | ||
|
|
70bd938bbd | ||
|
|
e63d1706cf | ||
|
|
be88f5a960 | ||
|
|
d9826ec143 | ||
|
|
7f053e062c | ||
|
|
4854dd71de | ||
|
|
8c57c3a9fe | ||
|
|
a6931b3923 | ||
|
|
c4ba9edd57 | ||
|
|
f90bdf8933 | ||
|
|
d7baf87c61 | ||
|
|
d8415108b4 | ||
|
|
75e6dd1c61 | ||
|
|
8cea6123e9 | ||
|
|
890b1602fb | ||
|
|
ef4931f627 | ||
|
|
503330fb88 | ||
|
|
70ec0f41ac | ||
|
|
62c47d1778 | ||
|
|
c1e73b4a67 | ||
|
|
96fc6717e9 | ||
|
|
7316ee0399 | ||
|
|
dfeddbe539 | ||
|
|
5d762d93be | ||
|
|
2889c497f5 | ||
|
|
191c216bea | ||
|
|
c0365c3134 | ||
|
|
d77acff66f | ||
|
|
032d0962c2 | ||
|
|
a62e9a01b0 | ||
|
|
d0ec239661 | ||
|
|
869d6002d6 | ||
|
|
67a66b858f | ||
|
|
384a96faf6 | ||
|
|
cdd43e622d | ||
|
|
7d1b4145b1 | ||
|
|
6be7584eba | ||
|
|
bdf2753ee8 | ||
|
|
a007ddb190 | ||
|
|
8452176fba | ||
|
|
8c446726cf | ||
|
|
fc48f9096d | ||
|
|
d025a14d33 | ||
|
|
695e195a27 | ||
|
|
fbc568013a | ||
|
|
0601249f82 | ||
|
|
ec940d4d5a | ||
|
|
29894e4446 | ||
|
|
45f624adc4 | ||
|
|
85e237888c | ||
|
|
bc9bc3972c | ||
|
|
df44615339 | ||
|
|
917eefc3ff | ||
|
|
ada35ab562 | ||
|
|
2f390c25d8 | ||
|
|
be8fe97cb4 | ||
|
|
502b00c3f6 | ||
|
|
2fdbd380ba | ||
|
|
f030fe2f3a | ||
|
|
897818e1a0 | ||
|
|
5232c4a544 | ||
|
|
8899425e26 | ||
|
|
fa4ea0fff4 | ||
|
|
0131b2b032 | ||
|
|
9aabcf7016 | ||
|
|
3e5ddd2a80 | ||
|
|
04dd0e1094 | ||
|
|
bf9288d457 | ||
|
|
93962139fb | ||
|
|
9caaee66bd | ||
|
|
2f558a3798 | ||
|
|
c25b8a3699 | ||
|
|
212299c1fa | ||
|
|
0562581de8 | ||
|
|
9240c5f521 | ||
|
|
1bd3483dea | ||
|
|
4f22ac0cdd | ||
|
|
664ebfa499 | ||
|
|
f5a09e87ee | ||
|
|
8a9fc3439a | ||
|
|
e21f5f9592 | ||
|
|
b3aa24ff98 | ||
|
|
9749926224 | ||
|
|
6f1261c70c | ||
|
|
9dde2b0cbe | ||
|
|
35df0e5571 | ||
|
|
21ed9234a0 | ||
|
|
08f8fcf8f4 | ||
|
|
0d7fa88b4e | ||
|
|
000ef9c4b5 | ||
|
|
54866c02ff | ||
|
|
31de8e9018 | ||
|
|
55ab9b75a6 | ||
|
|
2711d70d33 | ||
|
|
5602a5ba65 | ||
|
|
3d373f86f0 | ||
|
|
44713e7b63 | ||
|
|
eb4aff5a91 | ||
|
|
4c18dfc852 | ||
|
|
f21084cb0b | ||
|
|
858d827790 | ||
|
|
df60983b75 | ||
|
|
d3a9f93111 | ||
|
|
c58e878513 | ||
|
|
007f571beb | ||
|
|
ba66cac1cf | ||
|
|
c2f3636cf2 | ||
|
|
d3b653e97b | ||
|
|
5fe5da90ea | ||
|
|
60ce60d395 | ||
|
|
15e772ce13 | ||
|
|
fcee086982 | ||
|
|
0b1931a8ff | ||
|
|
c0d7215b81 | ||
|
|
6ee00c8199 | ||
|
|
ca59b1158e | ||
|
|
8d743e70e0 | ||
|
|
c1717ed8e6 | ||
|
|
7976182b94 | ||
|
|
168b6500fd | ||
|
|
6377c0ccca | ||
|
|
38e4fb09e0 | ||
|
|
512af63a63 | ||
|
|
dec54a98fa | ||
|
|
38a02b6244 | ||
|
|
2301d93156 | ||
|
|
bf020f87e1 | ||
|
|
046635075b | ||
|
|
529d8177fe | ||
|
|
8f31f0cfaa | ||
|
|
206c7b8372 | ||
|
|
ab1ba644db | ||
|
|
057e1973c7 | ||
|
|
8e30a80733 | ||
|
|
eb7dc34bfb | ||
|
|
592a0835fa | ||
|
|
39379b8f58 | ||
|
|
d705522bbe | ||
|
|
76a447c900 | ||
|
|
a7e85b3c07 | ||
|
|
c17e7e896e | ||
|
|
7f7c80babf | ||
|
|
3fea0b7b8c | ||
|
|
b8bcdbc5f6 | ||
|
|
49c1882837 | ||
|
|
ef7bd06657 | ||
|
|
71d28a82cf | ||
|
|
b2141b04d2 | ||
|
|
b0e700524f | ||
|
|
5156c7b38f | ||
|
|
e7b930ea9a | ||
|
|
bcd201f522 | ||
|
|
da7d537d49 | ||
|
|
22896664a8 | ||
|
|
294a44a9cb | ||
|
|
f51e1c2064 | ||
|
|
345e0255b5 | ||
|
|
307f622817 | ||
|
|
82da3f5074 | ||
|
|
5fe199fb0f | ||
|
|
4580a7fd8e | ||
|
|
9d37c58059 | ||
|
|
721687e11c | ||
|
|
b7459aaf7d | ||
|
|
3baf1f7632 | ||
|
|
d9c1a380ad | ||
|
|
3c5b9a6e6a | ||
|
|
86028ad122 | ||
|
|
703c55577b | ||
|
|
3fbb2081a1 | ||
|
|
dc09c2ef9c | ||
|
|
c80b4c7440 | ||
|
|
32663f7da7 | ||
|
|
618afbdfc8 | ||
|
|
626d318f07 | ||
|
|
fff515bc46 | ||
|
|
1095da42e0 | ||
|
|
ce3c90414b | ||
|
|
6c332449f9 | ||
|
|
09d433a349 | ||
|
|
f94f36fee8 | ||
|
|
6253c6c5e1 | ||
|
|
93024bc268 | ||
|
|
68caaadc6a | ||
|
|
576ff830a9 | ||
|
|
f4681fd86b | ||
|
|
0eb0b781e0 | ||
|
|
b27d49579a | ||
|
|
27caee32bd | ||
|
|
8b3becf06c | ||
|
|
958803655e | ||
|
|
e61dfb0213 | ||
|
|
8de3367453 | ||
|
|
04b1b727dd | ||
|
|
3064cb787d | ||
|
|
10e1eecf3f | ||
|
|
bcb447f6b8 | ||
|
|
56dd9f5731 | ||
|
|
e7217e032c | ||
|
|
30c916f21a | ||
|
|
277f9357f4 | ||
|
|
1f52d756fd | ||
|
|
61d6c4e616 | ||
|
|
72a75a87ea | ||
|
|
e39f37d36b | ||
|
|
35dbaea547 | ||
|
|
7b610aba35 | ||
|
|
14dbb2dfe9 | ||
|
|
5b84ae26ab | ||
|
|
c477a0b181 | ||
|
|
887f44a9dd | ||
|
|
a81e8ae358 | ||
|
|
aa5084d17b | ||
|
|
c933634253 | ||
|
|
d75d455737 | ||
|
|
312a8eede3 | ||
|
|
43c84919be | ||
|
|
319cbe1c5a | ||
|
|
17b877a772 | ||
|
|
d9248ab10e | ||
|
|
bf23d8d2b8 | ||
|
|
901419d028 | ||
|
|
95e3f66299 | ||
|
|
69feece2bc | ||
|
|
343af548a6 | ||
|
|
1b9b6312c3 | ||
|
|
531c8b9f8c | ||
|
|
73dd4043b3 | ||
|
|
d647e000a7 | ||
|
|
6ba4559b51 | ||
|
|
498c2c7f3b | ||
|
|
1d33a3e95e | ||
|
|
43210250ea | ||
|
|
346c090924 | ||
|
|
effc5f1927 | ||
|
|
3334de5fa2 | ||
|
|
45ae792d08 | ||
|
|
19b6ffed3c | ||
|
|
422f14cb0f | ||
|
|
8aa3554d19 | ||
|
|
0ef991e5ae | ||
|
|
dda7692c87 | ||
|
|
34c4ac7bac | ||
|
|
b440eb4b45 | ||
|
|
2e9d063814 | ||
|
|
d3c83378eb | ||
|
|
ed02f202f0 | ||
|
|
f4b5a51952 | ||
|
|
d3c337e59d | ||
|
|
fa9fdbeeac | ||
|
|
d4a158260b | ||
|
|
75cfa5c2e0 | ||
|
|
d7e5dfb2de | ||
|
|
6649a16c3d | ||
|
|
9ac84b2f1a | ||
|
|
2b47899981 | ||
|
|
1bbab25455 | ||
|
|
6fd9e5a64f | ||
|
|
e273318d76 | ||
|
|
03c835464f | ||
|
|
aeeda84714 | ||
|
|
230d5bc4fc | ||
|
|
00855fcc34 | ||
|
|
f05de12fcf | ||
|
|
7ef1a91508 | ||
|
|
5d65789877 | ||
|
|
1a10666b08 | ||
|
|
6b4910b028 | ||
|
|
e70b3a94f4 | ||
|
|
fe81fa0338 | ||
|
|
e6820914ff | ||
|
|
98a2eeacc7 | ||
|
|
6e4d1b9be6 | ||
|
|
eab2cdedd3 | ||
|
|
4ae7321f3e | ||
|
|
6833acff23 | ||
|
|
f7fe18dde4 | ||
|
|
7575ef4778 | ||
|
|
138b4435dd | ||
|
|
e155585e6e | ||
|
|
2e79463120 | ||
|
|
c6cbbdb335 | ||
|
|
e614839111 | ||
|
|
7d02c9dcb2 | ||
|
|
efc6ccaa01 | ||
|
|
07862d7218 | ||
|
|
6cea418c31 | ||
|
|
2ca2dc0b08 | ||
|
|
9518bae116 | ||
|
|
340bcffdf0 | ||
|
|
384c52faee | ||
|
|
33218e6b24 | ||
|
|
3f2f79936c | ||
|
|
613d30f215 | ||
|
|
e4860af785 | ||
|
|
e7de7ff9e2 | ||
|
|
aa202a7e93 | ||
|
|
21e17d7ec0 | ||
|
|
7022fbae55 | ||
|
|
8c77d2a6ca | ||
|
|
ce3b796f90 | ||
|
|
c49718f601 | ||
|
|
c8442648aa | ||
|
|
f4667ee268 | ||
|
|
58379a1d6c | ||
|
|
c98c136297 | ||
|
|
98af84b898 | ||
|
|
e1f398a216 | ||
|
|
d6d7b57b9b | ||
|
|
44c021d851 | ||
|
|
f5aeda2971 | ||
|
|
fb0c96d07b | ||
|
|
9727e938ee | ||
|
|
f8438519e6 | ||
|
|
3e489fe078 | ||
|
|
b91a49ef84 | ||
|
|
fa6c536c26 | ||
|
|
a66eb331f0 | ||
|
|
aa88cd901f | ||
|
|
a8949a5f0e | ||
|
|
0cf082db67 | ||
|
|
7e58c96022 | ||
|
|
faa3fd4ae0 | ||
|
|
dcca4db029 | ||
|
|
28e76fe7f4 | ||
|
|
c06fbbf0c4 | ||
|
|
3137e1e422 | ||
|
|
8c0dc5e887 | ||
|
|
b95ec3528a | ||
|
|
7410964887 | ||
|
|
e3601d22a7 | ||
|
|
3996e49272 | ||
|
|
62d4d8b8d2 | ||
|
|
9e9ef37e98 | ||
|
|
3fe8b55917 | ||
|
|
f04cbae3fd | ||
|
|
990aa7456e | ||
|
|
b35224fa81 | ||
|
|
1ac5cf8746 | ||
|
|
e04f5603f7 | ||
|
|
d5a1296008 | ||
|
|
46fcf913b2 | ||
|
|
b16beb540c | ||
|
|
689f3488a5 | ||
|
|
fb7c1f0561 | ||
|
|
8eb44394cb | ||
|
|
0b35120921 | ||
|
|
7662d4df64 | ||
|
|
0e720a8b42 | ||
|
|
539457f8e4 | ||
|
|
2967f6116f | ||
|
|
498595a122 | ||
|
|
dc79ac371b | ||
|
|
01108f7879 | ||
|
|
f63e56dc1a | ||
|
|
3c653277a6 | ||
|
|
09f052358f | ||
|
|
e923ffddab | ||
|
|
866283d43f | ||
|
|
348c0cddae | ||
|
|
e956cc30d7 | ||
|
|
e80a144fce | ||
|
|
224b12ba8b | ||
|
|
61b9dedd90 | ||
|
|
4f2bca6cc9 | ||
|
|
6bc321395d | ||
|
|
12b66c262a | ||
|
|
cc22d6690f | ||
|
|
87d6f497f7 | ||
|
|
f3f97394b2 | ||
|
|
5443879053 | ||
|
|
58cb6bb07f | ||
|
|
8c1c4865ac | ||
|
|
cfe01e1b06 | ||
|
|
ba80543b16 | ||
|
|
eccc955ed5 | ||
|
|
1caf22fdce | ||
|
|
fd2d420919 | ||
|
|
f17f5da8af | ||
|
|
2037023874 | ||
|
|
f58beefc8f | ||
|
|
ec92bb884e | ||
|
|
fe238490f9 | ||
|
|
50d32d4d7e | ||
|
|
5cf2c9dc45 | ||
|
|
6553a4c7e2 | ||
|
|
9ad129468a | ||
|
|
49c233212b | ||
|
|
60328db583 | ||
|
|
da2ab06111 | ||
|
|
00f14fbd74 | ||
|
|
46b276ee4b | ||
|
|
8566f52297 | ||
|
|
d66e7cb27c | ||
|
|
1c68938c60 | ||
|
|
ce972676b5 | ||
|
|
976be82fb9 | ||
|
|
6fba73e8e2 | ||
|
|
372c38a53a | ||
|
|
c3e2f113f3 | ||
|
|
21e071be06 | ||
|
|
96d568f1fb | ||
|
|
bfa890d81e | ||
|
|
a0ab6b7160 | ||
|
|
4472024ea2 | ||
|
|
ea97aa5e8c | ||
|
|
f845c37b41 | ||
|
|
d995df614c | ||
|
|
adc3993122 | ||
|
|
da201c1be8 | ||
|
|
9bf68ef6c5 | ||
|
|
e656b82956 | ||
|
|
8460074372 | ||
|
|
c594f47f76 | ||
|
|
f5fb13103f | ||
|
|
27374bfaf5 | ||
|
|
1098ec03c1 | ||
|
|
9f2c906e80 | ||
|
|
0fcdcbbfd9 | ||
|
|
68289c4759 | ||
|
|
eccfb9c202 | ||
|
|
a462e687dc | ||
|
|
79d649e173 | ||
|
|
cf0c7a9f5a | ||
|
|
fd3d8e9537 | ||
|
|
e05ec94e1e | ||
|
|
62bdbc0e57 | ||
|
|
3b79941168 | ||
|
|
56c1b316da | ||
|
|
8be61d707f | ||
|
|
6f3b02cba4 | ||
|
|
d99e8894ff | ||
|
|
610fd92ee7 | ||
|
|
4dfa3fc731 | ||
|
|
eb9a7a76e6 | ||
|
|
643709eb96 | ||
|
|
1a4535f692 | ||
|
|
f0d8e67ff5 | ||
|
|
37319639ec | ||
|
|
9d14b408cf | ||
|
|
a6c7324979 | ||
|
|
5bb7b8ed58 | ||
|
|
04e687245e | ||
|
|
466b22c1fe | ||
|
|
74a63cc1b2 | ||
|
|
19904f86d3 | ||
|
|
f554eba8f3 | ||
|
|
5cc056a6ce | ||
|
|
758503e26f | ||
|
|
6a58298bf6 | ||
|
|
a892e4874f | ||
|
|
6a67d06c26 | ||
|
|
9f704ce6d1 | ||
|
|
174e96246b | ||
|
|
2f99f9d1c8 | ||
|
|
3cdc895213 | ||
|
|
363bfdb404 | ||
|
|
a347b91a9e | ||
|
|
5c86a323e5 | ||
|
|
9a831f1e4d | ||
|
|
f01c842ef6 | ||
|
|
21ce9394a7 | ||
|
|
b9575ead72 | ||
|
|
eab2cbf494 | ||
|
|
ebc587846b | ||
|
|
aeb1744011 | ||
|
|
22d433a3db | ||
|
|
63a30ff1f0 | ||
|
|
a91a5601e4 | ||
|
|
07d96b9201 | ||
|
|
3e7446f0e7 | ||
|
|
635ea0d5fd | ||
|
|
c2b34e208a | ||
|
|
9f2283b8a0 | ||
|
|
7299ff3b04 | ||
|
|
95d8125199 | ||
|
|
51f9d5bedc | ||
|
|
67ea97dfdf | ||
|
|
20cc9e3939 | ||
|
|
9f9f6d2e5d | ||
|
|
b70466417e | ||
|
|
eb4103503c | ||
|
|
4ca58ffa00 | ||
|
|
3ad7c1ad4a | ||
|
|
30efc9f68e | ||
|
|
db861c3944 | ||
|
|
cbc98fb3c0 | ||
|
|
b900a96852 | ||
|
|
a104447d46 | ||
|
|
f2ddefcc56 | ||
|
|
0964cd270e | ||
|
|
185648217f | ||
|
|
bcd33d5f18 | ||
|
|
c156a2e1b0 | ||
|
|
25168fffd5 | ||
|
|
19639aa9ab | ||
|
|
a491b82c4c | ||
|
|
15563f8d91 | ||
|
|
987f6f8fcf | ||
|
|
c24bd1584c | ||
|
|
2a314dbc47 | ||
|
|
c41145799d | ||
|
|
2492892fde | ||
|
|
65530de209 | ||
|
|
a81ac8d04b | ||
|
|
f4de039522 | ||
|
|
7c6ba77780 | ||
|
|
371135fa2c | ||
|
|
78a5b7693c | ||
|
|
baf8cadeff | ||
|
|
8d2dd7901c | ||
|
|
d1ee85c2dd | ||
|
|
a32c1f9eee | ||
|
|
f47c78487b | ||
|
|
c0c7a9f010 | ||
|
|
61b2fcc3ce | ||
|
|
37d672d2a3 | ||
|
|
a736f99e2f | ||
|
|
7a7cda7a4c | ||
|
|
353e07f57b | ||
|
|
cd8adc0cf2 | ||
|
|
a87d9876cf | ||
|
|
f2fab902c4 | ||
|
|
ab285a85fd | ||
|
|
1d5397dde0 | ||
|
|
e5df7fa8b2 | ||
|
|
ca16776087 | ||
|
|
c53cdf6dd8 | ||
|
|
fb2b1606ba | ||
|
|
b7ea5dc5f4 | ||
|
|
7f544adbb5 | ||
|
|
4ad939be1b | ||
|
|
34e0ba1f92 | ||
|
|
ba1aac47b7 | ||
|
|
b680c5c5e1 | ||
|
|
f5e71d99d5 | ||
|
|
4de4565710 | ||
|
|
aedbdb087d | ||
|
|
43aa6922d3 | ||
|
|
999998ecaa | ||
|
|
a6d84dbb82 | ||
|
|
ff06fb72de | ||
|
|
7c264559b2 | ||
|
|
faacd7f865 | ||
|
|
c3e6a90808 | ||
|
|
87c9e68c91 | ||
|
|
f847c6f948 | ||
|
|
3c1a774ddc | ||
|
|
65e57a8a2c | ||
|
|
73d503471c | ||
|
|
694585e1a8 | ||
|
|
c68b34c40f | ||
|
|
be0458269e | ||
|
|
ec09711101 | ||
|
|
47676bc067 | ||
|
|
8d2afe0e57 | ||
|
|
eb8b4fd4a1 | ||
|
|
55b0a90e91 | ||
|
|
97666ab4ef | ||
|
|
e56a091bf3 | ||
|
|
d00b6bc170 | ||
|
|
cc33e8f536 | ||
|
|
d1974bad1b | ||
|
|
6d7667267b | ||
|
|
318c7aead7 | ||
|
|
952a2c8234 | ||
|
|
f858c193b6 | ||
|
|
e1573bf6e9 | ||
|
|
61d132cddc | ||
|
|
dd9698a6cb | ||
|
|
4187a6e3c7 | ||
|
|
289997715a | ||
|
|
2d92309797 | ||
|
|
9392a1c9de | ||
|
|
32b3d10174 | ||
|
|
cde34a07b7 | ||
|
|
8d952c906f | ||
|
|
de504dce25 | ||
|
|
4fb4cac65c | ||
|
|
f14292df21 | ||
|
|
bad7aeeffb | ||
|
|
23ffaecc7d | ||
|
|
aa52c68a7a | ||
|
|
ae37249fa9 | ||
|
|
1c9a470cbc | ||
|
|
021389c4dc | ||
|
|
fb95a19824 | ||
|
|
1ef7bf6997 | ||
|
|
1d9baf3dd5 | ||
|
|
b36d4ae02c | ||
|
|
8d91c1a46d | ||
|
|
1cd9875465 | ||
|
|
e5057f7c22 | ||
|
|
334f5d87ff | ||
|
|
8eeff6d2d4 | ||
|
|
15cf2a60b0 | ||
|
|
ee28f62dc0 | ||
|
|
6d6630a250 | ||
|
|
60b465fc5b | ||
|
|
14b80ad199 | ||
|
|
cec2347c96 | ||
|
|
2a128504a2 | ||
|
|
54d85cbfda | ||
|
|
e6dcba6052 | ||
|
|
beeac8672e | ||
|
|
ba93fc60af | ||
|
|
55b5376d19 | ||
|
|
88141e3ed0 | ||
|
|
d5adc7ceff | ||
|
|
4440d3897e | ||
|
|
8030941485 | ||
|
|
7a794caed0 | ||
|
|
dddac3e86e | ||
|
|
467db93099 | ||
|
|
16bbd70cd5 | ||
|
|
e0787f3d24 | ||
|
|
986800ce88 | ||
|
|
b21bf3d357 | ||
|
|
ecce72aa83 | ||
|
|
183c8aa287 | ||
|
|
13ac7169af | ||
|
|
7e4be5c520 | ||
|
|
f124c2086e | ||
|
|
0638c657e1 |
No files matched your search
+12
-7
@@ -148,20 +148,19 @@ Naming Conventions
|
||||
'buildsomewidget'
|
||||
'getI()'
|
||||
|
||||
[7] Classes should be given descriptive names. Avoid using abbreviations
|
||||
where possible. Each word in the class name should start with a capital
|
||||
letter, with words underscore delimited. The class name should be prefixed
|
||||
with the name of the 'parent set'.
|
||||
[7] Classes should be given descriptive names. Avoid using abbreviations where
|
||||
possible. Each word in the class name should start with a capital letter,
|
||||
without underscore delimiters (CampelCaps starting with a capital letter).
|
||||
The class name should be prefixed with the name of the 'parent set' (e.g.
|
||||
the name of the extension).
|
||||
|
||||
Good:
|
||||
'Curl'
|
||||
'Foo_Bar'
|
||||
'FooBar'
|
||||
|
||||
Bad:
|
||||
'foobar'
|
||||
'foo_bar'
|
||||
'FooBar'
|
||||
|
||||
|
||||
Syntax and indentation
|
||||
----------------------
|
||||
@@ -208,6 +207,12 @@ Syntax and indentation
|
||||
indent preprocessor directives you should put the # at the beginning
|
||||
of a line, followed by any number of whitespace.
|
||||
|
||||
Testing
|
||||
-------
|
||||
|
||||
[1] Extensions should be well tested using *.phpt tests. Read about that
|
||||
in README.TESTING.
|
||||
|
||||
Documentation and Folding Hooks
|
||||
-------------------------------
|
||||
|
||||
|
||||
+14
-9
@@ -46,9 +46,9 @@ MAINTENANCE: Maintained
|
||||
STATUS: Experimental
|
||||
-------------------------------------------------------------------------------
|
||||
EXTENSION: apache2handler
|
||||
PRIMARY MAINTAINER: Aaron Bannert <aaron@php.net>
|
||||
PRIMARY MAINTAINER: Aaron Bannert <aaron@php.net>, Ilia Alshanetsky <iliaa@php.net>
|
||||
MAINTENANCE: Maintained
|
||||
STATUS: Experimental
|
||||
STATUS: Working
|
||||
-------------------------------------------------------------------------------
|
||||
EXTENSION: caudium
|
||||
MAINTENANCE: Unknown
|
||||
@@ -68,6 +68,11 @@ PRIMARY MAINTAINER: Alex Leigh <aleigh@php.net>
|
||||
MAINTENANCE: Unknown
|
||||
STATUS: Unknown
|
||||
-------------------------------------------------------------------------------
|
||||
EXTENSION: date
|
||||
PRIMARY MAINTAINER: Derick Rethans <derick@php.net>
|
||||
MAINTENANCE: Maintained
|
||||
STATUS: Working
|
||||
-------------------------------------------------------------------------------
|
||||
EXTENSION: embed
|
||||
PRIMARY MAINTAINER: Edin Kadribasic <edink@php.net>
|
||||
MAINTENANCE: Maintained
|
||||
@@ -171,9 +176,9 @@ MAINTENANCE: Maintained
|
||||
STATUS: Working
|
||||
-------------------------------------------------------------------------------
|
||||
EXTENSION: mysqli
|
||||
PRIMARY MAINTAINER: Georg Richter <georg@php.net>
|
||||
PRIMARY MAINTAINER: Georg Richter <georg@php.net>, Andrey Hristov <andrey@php.net>
|
||||
MAINTENANCE: Maintained
|
||||
STATUS: Experimental
|
||||
STATUS: Working
|
||||
SINCE: 5.0
|
||||
-------------------------------------------------------------------------------
|
||||
EXTENSION: oci8
|
||||
@@ -297,7 +302,7 @@ MAINTENANCE: Maintained
|
||||
STATUS: Working
|
||||
-------------------------------------------------------------------------------
|
||||
EXTENSION: curl
|
||||
PRIMARY MAINTAINER: Sterling Hughes <sterling@php.net>
|
||||
PRIMARY MAINTAINER: Sterling Hughes <sterling@php.net>,Ilia Alshanetsky <iliaa@php.net>
|
||||
MAINTENANCE: Maintained
|
||||
STATUS: Working
|
||||
SINCE: 4.0.2
|
||||
@@ -352,8 +357,8 @@ MAINTENANCE: Maintained
|
||||
STATUS: Working
|
||||
-------------------------------------------------------------------------------
|
||||
EXTENSION: imap
|
||||
PRIMARY MAINTAINER: Chuck Hagenbuch <chuck@horde.org>
|
||||
MAINTENANCE: Odd Fixes
|
||||
PRIMARY MAINTAINER: Chuck Hagenbuch <chuck@horde.org>, Ilia Alshanetsky <iliaa@php.net>
|
||||
MAINTENANCE: Maintained
|
||||
STATUS: Working
|
||||
-------------------------------------------------------------------------------
|
||||
EXTENSION: ircg
|
||||
@@ -447,7 +452,7 @@ STATUS: Working
|
||||
EXTENSION: pspell
|
||||
PRIMARY MAINTAINER: Vlad Krupin <phpdevel@echospace.com>
|
||||
MAINTENANCE: Unknown
|
||||
STATUS: Unknown
|
||||
STATUS: Working
|
||||
SINCE: 4.0.2
|
||||
-------------------------------------------------------------------------------
|
||||
EXTENSION: readline
|
||||
@@ -460,7 +465,7 @@ MAINTENANCE: Maintained
|
||||
STATUS: Working
|
||||
-------------------------------------------------------------------------------
|
||||
EXTENSION: session
|
||||
PRIMARY MAINTAINER: Sascha Schumann <sascha@schumann.cx>
|
||||
PRIMARY MAINTAINER: Sascha Schumann <sascha@schumann.cx>, Ilia Alshanetsky <iliaa@php.net>
|
||||
MAINTENANCE: Maintained
|
||||
STATUS: Working
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
Installing PHP
|
||||
_________________________________________________________________
|
||||
|
||||
@@ -17,6 +16,7 @@ Installing PHP
|
||||
OpenBSD installation notes
|
||||
Solaris specific installation tips
|
||||
Gentoo installation notes
|
||||
Debian GNU/Linux installation notes
|
||||
|
||||
3. Installation on Mac OS X
|
||||
|
||||
@@ -43,6 +43,8 @@ Installing PHP
|
||||
|
||||
The configuration file
|
||||
How to change configuration settings
|
||||
|
||||
7. Installation FAQ
|
||||
_________________________________________________________________
|
||||
|
||||
Preface
|
||||
@@ -164,7 +166,7 @@ Apache 1.3.x on Unix systems
|
||||
your files.
|
||||
|
||||
Example 2-1. Installation Instructions (Apache Shared Module Version)
|
||||
for PHP
|
||||
for PHP
|
||||
1. gunzip apache_xxx.tar.gz
|
||||
2. tar -xvf apache_xxx.tar
|
||||
3. gunzip php-xxx.tar.gz
|
||||
@@ -248,36 +250,38 @@ Apache 1.3.x on Unix systems
|
||||
Alternatively, to install PHP as a static object:
|
||||
|
||||
Example 2-2. Installation Instructions (Static Module Installation for
|
||||
Apache) for PHP
|
||||
Apache) for PHP
|
||||
1. gunzip -c apache_1.3.x.tar.gz | tar xf -
|
||||
2. cd apache_1.3.x
|
||||
3. ./configure
|
||||
4. cd ..
|
||||
|
||||
5. gunzip -c php-4.x.y.tar.gz | tar xf -
|
||||
6. cd php-4.x.y
|
||||
5. gunzip -c php-5.x.y.tar.gz | tar xf -
|
||||
6. cd php-5.x.y
|
||||
7. ./configure --with-mysql --with-apache=../apache_1.3.x
|
||||
8. make
|
||||
9. make install
|
||||
|
||||
10. cd ../apache_1.3.x
|
||||
|
||||
11. ./configure --prefix=/www --activate-module=src/modules/php4/libphp4.a
|
||||
(The above line is correct! Yes, we know libphp4.a does not exist at this
|
||||
11. ./configure --prefix=/www --activate-module=src/modules/php5/libphp5.a
|
||||
(The above line is correct! Yes, we know libphp5.a does not exist at this
|
||||
stage. It isn't supposed to. It will be created.)
|
||||
|
||||
12. make
|
||||
(you should now have an httpd binary which you can copy to your Apache bin
|
||||
dir if
|
||||
is is your first install then you need to "make install" as well)
|
||||
it is your first install then you need to "make install" as well)
|
||||
|
||||
13. cd ../php-4.x.y
|
||||
13. cd ../php-5.x.y
|
||||
14. cp php.ini-dist /usr/local/lib/php.ini
|
||||
|
||||
15. You can edit /usr/local/lib/php.ini file to set PHP options.
|
||||
Edit your httpd.conf or srm.conf file and add:
|
||||
AddType application/x-httpd-php .php
|
||||
|
||||
Note: Replace php-5 by php-4 and php5 by php4 in PHP 4.
|
||||
|
||||
Depending on your Apache install and Unix variant, there are many
|
||||
possible ways to stop and restart the server. Below are some typical
|
||||
lines used in restarting the server, for different apache/unix
|
||||
@@ -309,9 +313,9 @@ stop and start:
|
||||
|
||||
./configure --with-apxs --with-pgsql
|
||||
|
||||
This will create a libphp4.so shared library that is loaded into
|
||||
Apache using a LoadModule line in Apache's httpd.conf file. The
|
||||
PostgreSQL support is embedded into this libphp4.so library.
|
||||
This will create a libphp5.so (or libphp4.so in PHP 4) shared library
|
||||
that is loaded into Apache using a LoadModule line in Apache's
|
||||
httpd.conf file. The PostgreSQL support is embedded into this library.
|
||||
|
||||
./configure --with-apxs --with-pgsql=shared
|
||||
|
||||
@@ -322,14 +326,14 @@ stop and start:
|
||||
|
||||
./configure --with-apache=/path/to/apache_source --with-pgsql
|
||||
|
||||
This will create a libmodphp4.a library, a mod_php4.c and some
|
||||
accompanying files and copy this into the src/modules/php4 directory
|
||||
This will create a libmodphp5.a library, a mod_php5.c and some
|
||||
accompanying files and copy this into the src/modules/php5 directory
|
||||
in the Apache source tree. Then you compile Apache using
|
||||
--activate-module=src/modules/php4/libphp4.a and the Apache build
|
||||
system will create libphp4.a and link it statically into the httpd
|
||||
binary. The PostgreSQL support is included directly into this httpd
|
||||
binary, so the final result here is a single httpd binary that
|
||||
includes all of Apache and all of PHP.
|
||||
--activate-module=src/modules/php5/libphp5.a and the Apache build
|
||||
system will create libphp5.a and link it statically into the httpd
|
||||
binary (replace php5 by php4 in PHP 4). The PostgreSQL support is
|
||||
included directly into this httpd binary, so the final result here is
|
||||
a single httpd binary that includes all of Apache and all of PHP.
|
||||
|
||||
./configure --with-apache=/path/to/apache_source --with-pgsql=shared
|
||||
|
||||
@@ -380,8 +384,8 @@ Apache 2.0 on Unix systems
|
||||
|
||||
* PHP 4.3.0 or later available at http://www.php.net/downloads.php.
|
||||
* the latest stable development version. Get the source code
|
||||
http://snaps.php.net/php4-latest.tar.gz or download binaries for
|
||||
Windows http://snaps.php.net/win32/php4-win32-latest.zip.
|
||||
http://snaps.php.net/php5-latest.tar.gz or download binaries for
|
||||
Windows http://snaps.php.net/win32/php5-win32-latest.zip.
|
||||
* a prerelease version downloadable from http://qa.php.net/.
|
||||
* you have always the option to obtain PHP through anonymous CVS.
|
||||
|
||||
@@ -403,7 +407,7 @@ Apache 2.0 on Unix systems
|
||||
files.
|
||||
|
||||
Example 2-4. Installation Instructions (Apache 2 Shared Module
|
||||
Version)
|
||||
Version)
|
||||
1. gzip -d httpd-2_0_NN.tar.gz
|
||||
2. tar xvf httpd-2_0_NN.tar
|
||||
3. gunzip php-NN.tar.gz
|
||||
@@ -461,11 +465,11 @@ Apache 2.0 on Unix systems
|
||||
|
||||
For PHP 4:
|
||||
|
||||
LoadModule php4_module libexec/libphp4.so
|
||||
LoadModule php4_module modules/libphp4.so
|
||||
|
||||
For PHP 5:
|
||||
|
||||
LoadModule php5_module libexec/libphp5.so
|
||||
LoadModule php5_module modules/libphp5.so
|
||||
|
||||
15. Tell Apache to parse certain extensions as PHP. For example,
|
||||
let's have Apache parse the .php extension as PHP. You could
|
||||
@@ -1097,6 +1101,121 @@ Common Problems
|
||||
"Apache PHP".
|
||||
_________________________________________________________________
|
||||
|
||||
Debian GNU/Linux installation notes
|
||||
|
||||
This section contains notes and hints specific to installing PHP on
|
||||
Debian GNU/Linux.
|
||||
_________________________________________________________________
|
||||
|
||||
Using APT
|
||||
|
||||
While you can just download the PHP source and compile it yourself,
|
||||
using Debian's packaging system is the simplest and cleanest method of
|
||||
installing PHP. If you are not familiar with building software on
|
||||
Linux, this is the way to go.
|
||||
|
||||
The first decision you need to make is whether you want to install
|
||||
Apache 1.3.x or Apache 2.x. The corresponding PHP packages are
|
||||
respectively named libapache-mod-php* and libapache2-mod-php*. The
|
||||
steps given below will use Apache 1.3.x. Please note that, as of this
|
||||
writing, there is no official Debian packages of PHP 5. Then the steps
|
||||
given below will install PHP 4.
|
||||
|
||||
PHP is available in Debian as CGI or CLI flavour too, named
|
||||
respectively php4-cgi and php4-cli. If you need them, you'll just have
|
||||
to reproduce the following steps with the good package names. Another
|
||||
special package you'd want to install is php4-pear. It contains a
|
||||
minimal PEAR installation and the pear commandline utility.
|
||||
|
||||
If you need more recent packages of PHP than the Debian's stable ones
|
||||
or if some PHP modules lacks the Debian official repository, perhaps
|
||||
you should take a look at http://www.apt-get.org/. One of the results
|
||||
found should be Dotdeb. This unofficial repository is maintained by
|
||||
Guillaume Plessis and contains Debian packages of the most recent
|
||||
versions of PHP 4 and PHP 5. To use it, just add the to following two
|
||||
lines to your /etc/apt/sources.lists and run apt-get update :
|
||||
|
||||
Example 2-10. The two Dotdeb related lines
|
||||
deb http://packages.dotdeb.org stable all
|
||||
deb-src http://packages.dotdeb.org stable all
|
||||
|
||||
The last thing to consider is whether your list of packages is up to
|
||||
date. If you have not updated it recently, you need to run apt-get
|
||||
update before anything else. This way, you will be using the most
|
||||
recent stable version of the Apache and PHP packages.
|
||||
|
||||
Now that everything is in place, you can use the following example to
|
||||
install Apache and PHP:
|
||||
|
||||
Example 2-11. Debian Install Example with Apache 1.3
|
||||
# apt-get install libapache-mod-php4
|
||||
|
||||
APT will automatically install the PHP 4 module for Apache 1.3, and
|
||||
all its dependencies and then activate it. If you're not asked to
|
||||
restart Apache during the install process, you'll have to do it
|
||||
manually :
|
||||
|
||||
Example 2-12. Stopping and starting Apache once PHP 4 is installed
|
||||
# /etc/init.d/apache stop
|
||||
# /etc/init.d/apache start
|
||||
_________________________________________________________________
|
||||
|
||||
Better control on configuration
|
||||
|
||||
In the last section, PHP was installed with only core modules. This
|
||||
may not be what you want and you will soon discover that you need more
|
||||
activated modules, like MySQL, cURL, GD, etc.
|
||||
|
||||
When you compile PHP from source yourself, you need to activate
|
||||
modules via the configure command. With APT, you just have to install
|
||||
additional packages. They're all named 'php4-*' (or 'php5-*' if you
|
||||
installed PHP 5 from a third party repository).
|
||||
|
||||
Example 2-13. Getting the list of PHP additional packages
|
||||
# dpkg -l 'php4-*'
|
||||
|
||||
As you can see from the last output, there's a lot of PHP modules that
|
||||
you can install (excluding the php4-cgi, php4-cli or php4-pear special
|
||||
packages). Look at them closely and choose what you need. If you
|
||||
choose a module and you do not have the proper libraries, APT will
|
||||
automatically install all the dependencies for you.
|
||||
|
||||
If you choose to add the MySQL, cURL and GD support to PHP the command
|
||||
will look something like this:
|
||||
|
||||
Example 2-14. Install PHP with MySQL, cURL and GD
|
||||
# apt-get install php4-mysql php4-curl php4-gd
|
||||
|
||||
APT will automatically add the appropriate lines to your different
|
||||
php.ini (/etc/php4/apache/php.ini, /etc/php4/cgi/php.ini, etc).
|
||||
|
||||
Example 2-15. These lines activate MySQL, cURL and GD into PHP
|
||||
extension=mysql.so
|
||||
extension=curl.so
|
||||
extension=gd.so
|
||||
|
||||
You'll only have to stop/start Apache as previously to activate the
|
||||
modules.
|
||||
_________________________________________________________________
|
||||
|
||||
Common Problems
|
||||
|
||||
* If you see the PHP source instead of the result the script should
|
||||
produce, APT has probably not included /etc/apache/conf.d/php4 in
|
||||
your Apache 1.3 configuration. Please ensure that the following
|
||||
line is present in your /etc/apache/httpd.conf file then
|
||||
stop/start Apache:
|
||||
|
||||
Example 2-16. This line activates PHP 4 into Apache
|
||||
# Include /etc/apache/conf.d/
|
||||
|
||||
* If you installed an additional module and if its functions are not
|
||||
available in your scripts, please ensure that the appropriate line
|
||||
is present in your php.ini, as seen before. APT may fail during
|
||||
the installation of the additional module, due to a confusing
|
||||
debconf configuration.
|
||||
_________________________________________________________________
|
||||
|
||||
Chapter 3. Installation on Mac OS X
|
||||
|
||||
This section contains notes and hints specific to installing PHP on
|
||||
@@ -1119,7 +1238,7 @@ Using Packages
|
||||
|
||||
Compiling for OS X Server
|
||||
|
||||
Mac OS X Server install.
|
||||
Mac OS X Server install.
|
||||
|
||||
1. Get the latest distributions of Apache and PHP.
|
||||
2. Untar them, and run the configure program on Apache like so.
|
||||
@@ -1221,24 +1340,24 @@ Chapter 4. Installation of PECL extensions
|
||||
|
||||
Introduction to PECL Installations
|
||||
|
||||
PHP extensions may be installed in a variety of ways. PECL is a
|
||||
repository of PHP extensions living within the PEAR structure, and the
|
||||
following demonstrates how to install these extensions.
|
||||
PECL is a repository of PHP extensions that are made available to you
|
||||
via the PEAR packaging system. This section of the manual is intended
|
||||
to demonstrate how to obtain and install PECL extensions.
|
||||
|
||||
These instructions assume /your/phpsrcdir/ is the path to the PHP
|
||||
source, and extname is the name of the PECL extension. Adjust
|
||||
accordingly. These instructions also assume a familiarity with the
|
||||
pear command.
|
||||
source distribution, and that extname is the name of the PECL
|
||||
extension. Adjust accordingly. These instructions also assume a
|
||||
familiarity with the pear command.
|
||||
|
||||
Shared extensions may be installed by including them inside of php.ini
|
||||
using the extension PHP directive. See also the extensions_dir
|
||||
directive, and dl(). The installation methods described below do not
|
||||
automatically configure PHP to include these extensions, this step
|
||||
must be done manually.
|
||||
To be useful, a shared extension must be built, installed, and loaded.
|
||||
The methods described below provide you with various instructions on
|
||||
how to build and install the extensions, but they do not automatically
|
||||
load them. Extensions can be loaded by adding an extension directive.
|
||||
To this php.ini file, or through the use of the dl() function.
|
||||
|
||||
When building PHP modules, it's important to have the appropriate
|
||||
versions of the required tools (autoconf, automake, libtool, etc.) See
|
||||
the Anonymous CVS Instructions for details on the required tools, and
|
||||
When building PHP modules, it's important to have known-good versions
|
||||
of the required tools (autoconf, automake, libtool, etc.) See the
|
||||
Anonymous CVS Instructions for details on the required tools, and
|
||||
required versions.
|
||||
_________________________________________________________________
|
||||
|
||||
@@ -1247,16 +1366,19 @@ Downloading PECL extensions
|
||||
There are several options for downloading PECL extensions, such as:
|
||||
|
||||
* http://pecl.php.net
|
||||
Listed here is information like the ChangeLog, release
|
||||
information, requirements, revisions, etc. Although not every PECL
|
||||
extension has a webpage, most do.
|
||||
The PECL web site contains information about the different
|
||||
extensions that are offered by the PHP Development Team. The
|
||||
information available here includes: ChangeLog, release notes,
|
||||
requirements and other similar details.
|
||||
* pear download extname
|
||||
The pear command may also be used to download source files.
|
||||
PECL extensions that have releases listed on the PECL web site are
|
||||
available for download and installation using the pear command.
|
||||
Specific revisions may also be specified.
|
||||
* CVS
|
||||
All PECL files reside in CVS. A web-based view may be seen at
|
||||
http://cvs.php.net/pecl/. To download straight from CVS, consider
|
||||
the following where phpfi is the password for user cvsread:
|
||||
Most PECL extensions also reside in CVS. A web-based view may be
|
||||
seen at http://cvs.php.net/pecl/. To download straight from CVS,
|
||||
the following sequence of commands may be used. Note that phpfi is
|
||||
the password for user cvsread:
|
||||
|
||||
$ cvs -d:pserver:cvsread@cvs.php.net:/repository login
|
||||
$ cvs -d:pserver:cvsread@cvs.php.net:/repository co pecl/extname
|
||||
@@ -1270,9 +1392,10 @@ $ cvs -d:pserver:cvsread@cvs.php.net:/repository co pecl/extname
|
||||
|
||||
PECL for Windows users
|
||||
|
||||
Like with any other PHP extension DLL, to install move the PECL
|
||||
extension DLLs into the extension_dir folder and include them within
|
||||
php.ini. For example:
|
||||
As with any other PHP extension DLL, installation is as simple as
|
||||
copying the PECL extension DLLs into the extension_dir folder and
|
||||
loading them from php.ini. For example, add the following line to your
|
||||
php.ini:
|
||||
|
||||
extension=php_extname.dll
|
||||
|
||||
@@ -1286,67 +1409,76 @@ Compiling shared PECL extensions with PEAR
|
||||
|
||||
$ pear install extname
|
||||
|
||||
That will download the source for extname, and compile it on the
|
||||
system. This results in an extname.so file that may then be included
|
||||
in php.ini
|
||||
This will download the source for extname, compile, and install
|
||||
extname.so into your extension_dir. extname.so may then be loaded via
|
||||
php.ini
|
||||
|
||||
In case the systems preferred_state is set higher than an available
|
||||
extname version, like it's set to stable and the extension is still in
|
||||
beta, either alter the preferred_state via pear config-set or specify
|
||||
a specific version of the PECL extension. For example:
|
||||
By default, the pear command will not install packages that are marked
|
||||
with the alpha or beta state. If no stable packages are available, you
|
||||
may install a beta package using the following command:
|
||||
|
||||
$ pear install extname-0.1.1
|
||||
$ pear install extname-beta
|
||||
|
||||
Regardless, pear will copy this extname.so into the extensions
|
||||
directory. Adjust php.ini accordingly.
|
||||
You may also install a specific version using this variant:
|
||||
|
||||
$ pear install extname-0.1
|
||||
_________________________________________________________________
|
||||
|
||||
Compiling shared PECL extensions with phpize
|
||||
|
||||
If using pear is not an option, like for building shared PECL
|
||||
extensions from CVS, or for unreleased PECL packages, then creating a
|
||||
shared extension may also be done by manually using the phpize
|
||||
command. The pear command essentially does this but it may also be
|
||||
done manually. Assuming the source file is named extname.tgz, and that
|
||||
it was downloaded into the current directory, consider the following:
|
||||
Sometimes, using the pear installer is not an option. This could be
|
||||
because you're behind a firewall, or it could be because the extension
|
||||
you want to install is not available as a PEAR compatible package,
|
||||
such as unreleased extensions from CVS. If you need to build such an
|
||||
extension, you can use the lower-level build tools to perform the
|
||||
build manually.
|
||||
|
||||
The phpize command is used to prepare the build environment for a PHP
|
||||
extension. In the following sample, the sources for an extension are
|
||||
in a directory named extname:
|
||||
|
||||
$ pear download extname
|
||||
$ gzip -d < extname.tgz | tar -xvf -
|
||||
$ cd extname
|
||||
$ phpize
|
||||
$ ./configure && make
|
||||
$ ./configure
|
||||
$ make
|
||||
# make install
|
||||
|
||||
Upon success, this will create extname.so and put it into the modules/
|
||||
and/or .libs/ directory within the extname/ source. Move this shared
|
||||
extension (extname.so) into the PHP extensions directory, and adjust
|
||||
php.ini accordingly.
|
||||
A successful install will have created extname.so and put it into the
|
||||
PHP extensions directory. You'll need to and adjust php.ini and add an
|
||||
extension=extname.so line before you can use the extension.
|
||||
_________________________________________________________________
|
||||
|
||||
Compiling PECL extensions statically into PHP
|
||||
|
||||
To statically include the extension within the PHP build, put the
|
||||
extensions source into the ext/ directory found in the PHP source. For
|
||||
example:
|
||||
You might find that you need to build a PECL extension statically into
|
||||
your PHP binary. To do this, you'll need to place the extension source
|
||||
under the php-src/ext/ directory and tell the PHP build system to
|
||||
regenerate its configure script.
|
||||
|
||||
$ cd /your/phpsrcdir/ext
|
||||
$ pear download extname
|
||||
$ gzip -d < extname.tgz | tar -xvf -
|
||||
$ mv extname-x.x.x extname
|
||||
$ rm package.xml
|
||||
|
||||
This will result in the following directory:
|
||||
|
||||
/your/phpsrcdir/ext/extname
|
||||
|
||||
From here, build PHP as normal:
|
||||
From here, force PHP to rebuild the configure script, and then build
|
||||
PHP as normal:
|
||||
|
||||
$ cd /your/phpsrcdir
|
||||
$ ./buildconf
|
||||
$ rm configure
|
||||
$ ./buildconf --force
|
||||
$ ./configure --help
|
||||
$ ./configure --with-extname --enable-someotherext --with-foobar
|
||||
$ make
|
||||
$ make install
|
||||
|
||||
Note: To run the 'buildconf' script you need autoconf 2.13 and
|
||||
automake 1.4+ (newer versions of autoconf may work, but are not
|
||||
supported).
|
||||
|
||||
Whether --enable-extname or --with-extname is used depends on the
|
||||
extension. Typically an extension that does not require external
|
||||
libraries uses --enable. To be sure, run the following after
|
||||
@@ -1403,14 +1535,23 @@ The configuration file
|
||||
versions of PHP, this happens only once when the web server is
|
||||
started. For the CGI and CLI version, it happens on every invocation.
|
||||
|
||||
The default location of php.ini is a compile time option (see the FAQ
|
||||
entry), but can be changed for the CGI and CLI version with the -c
|
||||
command line switch, see the chapter about using PHP from the command
|
||||
line. You can also use the environment variable PHPRC for an
|
||||
additional path to search for a php.ini file.
|
||||
php.ini is searched in these locations (in order):
|
||||
|
||||
* SAPI module specific location (PHPIniDir directive in Apache 2, -c
|
||||
command line option in CGI and CLI, php_ini parameter in NSAPI,
|
||||
PHP_INI_PATH environment variable in THTTPD)
|
||||
* HKEY_LOCAL_MACHINE\SOFTWARE\PHP\IniFilePath (Windows Registry
|
||||
location)
|
||||
* The PHPRC environment variable
|
||||
* Current working directory (for CLI)
|
||||
* The web server's directory (for SAPI modules), or directory of PHP
|
||||
(otherwise in Windows)
|
||||
* Windows directory (C:\windows or C:\winnt) (for Windows), or
|
||||
--with-config-file-path compile time option
|
||||
|
||||
If php-SAPI.ini exists (where SAPI is used SAPI, so the filename is
|
||||
e.g. php-cli.ini or php-apache.ini), it's used instead of php.ini.
|
||||
SAPI name can be determined by php_sapi_name().
|
||||
|
||||
Note: The Apache web server changes the directory to root at
|
||||
startup causing PHP to attempt to read php.ini from the root
|
||||
@@ -1418,11 +1559,11 @@ The configuration file
|
||||
|
||||
The php.ini directives handled by extensions are documented
|
||||
respectively on the pages of the extensions themselves. The list of
|
||||
the core directives is available in the appendix. Probably not all the
|
||||
PHP directives are documented in the manual though. For a completel
|
||||
list of directives available in your PHP version, please read your
|
||||
well commented php.ini file. Alternatively, you may find the the
|
||||
latest php.ini from CVS helpful too.
|
||||
the core directives is available in the appendix. Probably not all PHP
|
||||
directives are documented in the manual though. For a complete list of
|
||||
directives available in your PHP version, please read your well
|
||||
commented php.ini file. Alternatively, you may find the the latest
|
||||
php.ini from CVS helpful too.
|
||||
|
||||
Example 6-1. php.ini example
|
||||
; any text on a line after an unquoted semicolon (;) is ignored
|
||||
@@ -1438,6 +1579,10 @@ include_path = ".:/usr/local/lib/php"
|
||||
|
||||
; backslashes are treated the same as any other character
|
||||
include_path = ".;c:\php\lib"
|
||||
|
||||
Since PHP 5.1.0, it is possible to refer to existing .ini variables
|
||||
from within .ini files. Example: open_basedir = ${open_basedir}
|
||||
":/new/dir".
|
||||
_________________________________________________________________
|
||||
|
||||
How to change configuration settings
|
||||
@@ -1533,3 +1678,420 @@ Other interfaces to PHP
|
||||
function, and review the resulting page. You can also access the
|
||||
values of individual configuration directives at runtime using
|
||||
ini_get() or get_cfg_var().
|
||||
_________________________________________________________________
|
||||
|
||||
Chapter 7. Installation FAQ
|
||||
|
||||
This section holds common questions about the way to install PHP. PHP
|
||||
is available for almost any OS (except maybe for MacOS before OSX),
|
||||
and almost any web server.
|
||||
|
||||
To install PHP, follow the instructions in the INSTALL file located in
|
||||
the distribution. Windows users should also read the install.txt file.
|
||||
There are also some helpful hints for Windows users here.
|
||||
|
||||
1. Why shouldn't I use Apache2 with a threaded MPM in a production
|
||||
environment?
|
||||
|
||||
2. Unix/Windows: Where should my php.ini file be located?
|
||||
3. Unix: I installed PHP, but every time I load a document, I get the
|
||||
message 'Document Contains No Data'! What's going on here?
|
||||
|
||||
4. Unix: I installed PHP using RPMS, but Apache isn't processing the
|
||||
PHP pages! What's going on here?
|
||||
|
||||
5. Unix: I installed PHP 3 using RPMS, but it doesn't compile with the
|
||||
database support I need! What's going on here?
|
||||
|
||||
6. Unix: I patched Apache with the FrontPage extensions patch, and
|
||||
suddenly PHP stopped working. Is PHP incompatible with the
|
||||
Apache FrontPage extensions?
|
||||
|
||||
7. Unix/Windows: I have installed PHP, but when I try to access a PHP
|
||||
script file via my browser, I get a blank screen.
|
||||
|
||||
8. Unix/Windows: I have installed PHP, but when try to access a PHP
|
||||
script file via my browser, I get a server 500 error.
|
||||
|
||||
9. Some operating systems: I have installed PHP without errors, but
|
||||
when I try to start apache I get undefined symbol errors:
|
||||
|
||||
[mybox:user /src/php4] root# apachectl configtest
|
||||
apachectl: /usr/local/apache/bin/httpd Undefined symbols:
|
||||
_compress
|
||||
_uncompress
|
||||
|
||||
10. Windows: I have installed PHP, but when I to access a PHP script
|
||||
file via my browser, I get the error:
|
||||
|
||||
cgi error:
|
||||
The specified CGI application misbehaved by not
|
||||
returning a complete set of HTTP headers.
|
||||
The headers it did return are:
|
||||
|
||||
11. Windows: I've followed all the instructions, but still can't get
|
||||
PHP and IIS to work together!
|
||||
|
||||
12. When running PHP as CGI with IIS, PWS, OmniHTTPD or Xitami, I get
|
||||
the following error: Security Alert! PHP CGI cannot be accessed
|
||||
directly..
|
||||
|
||||
13. How do I know if my php.ini is being found and read? It seems like
|
||||
it isn't as my changes aren't being implemented.
|
||||
|
||||
14. How do I add my PHP directory to the PATH on Windows?
|
||||
15. How do I make the php.ini file available to PHP on windows?
|
||||
16. Is it possible to use Apache content negotiation (MultiViews
|
||||
option) with PHP?
|
||||
|
||||
17. Is PHP limited to process GET and POST request methods only?
|
||||
|
||||
1. Why shouldn't I use Apache2 with a threaded MPM in a production
|
||||
environment?
|
||||
|
||||
PHP is glue. It is the glue used to build cool web applications by
|
||||
sticking dozens of 3rd-party libraries together and making it all
|
||||
appear as one coherent entity through an intuitive and easy to learn
|
||||
language interface. The flexibility and power of PHP relies on the
|
||||
stability and robustness of the underlying platform. It needs a
|
||||
working OS, a working web server and working 3rd-party libraries to
|
||||
glue together. When any of these stop working PHP needs ways to
|
||||
identify the problems and fix them quickly. When you make the
|
||||
underlying framework more complex by not having completely separate
|
||||
execution threads, completely separate memory segments and a strong
|
||||
sandbox for each request to play in, feet of clay are introduced into
|
||||
PHP's system.
|
||||
|
||||
If you feel you have to use a threaded MPM, look at a FastCGI
|
||||
configuration where PHP is running in its own memory space.
|
||||
|
||||
And finally, this warning against using a threaded MPM is not as
|
||||
strong for Windows systems because most libraries on that platform
|
||||
tend to be threadsafe.
|
||||
|
||||
2. Unix/Windows: Where should my php.ini file be located?
|
||||
|
||||
By default on Unix it should be in /usr/local/lib which is
|
||||
<install-path>/lib. Most people will want to change this at
|
||||
compile-time with the --with-config-file-path flag. You would, for
|
||||
example, set it with something like:
|
||||
--with-config-file-path=/etc
|
||||
|
||||
And then you would copy php.ini-dist from the distribution to
|
||||
/etc/php.ini and edit it to make any local changes you want.
|
||||
--with-config-file-scan-dir=PATH
|
||||
|
||||
On Windows the default path for the php.ini file is the Windows
|
||||
directory. If you're using the Apache webserver, php.ini is first
|
||||
searched in the Apaches install directory, e.g. c:\program
|
||||
files\apache group\apache. This way you can have different php.ini
|
||||
files for different versions of Apache on the same machine.
|
||||
|
||||
See also the chapter about the configuration file.
|
||||
|
||||
3. Unix: I installed PHP, but every time I load a document, I get the
|
||||
message 'Document Contains No Data'! What's going on here?
|
||||
|
||||
This probably means that PHP is having some sort of problem and is
|
||||
core-dumping. Look in your server error log to see if this is the
|
||||
case, and then try to reproduce the problem with a small test case. If
|
||||
you know how to use 'gdb', it is very helpful when you can provide a
|
||||
backtrace with your bug report to help the developers pinpoint the
|
||||
problem. If you are using PHP as an Apache module try something like:
|
||||
|
||||
* Stop your httpd processes
|
||||
* gdb httpd
|
||||
* Stop your httpd processes
|
||||
* > run -X -f /path/to/httpd.conf
|
||||
* Then fetch the URL causing the problem with your browser
|
||||
* > run -X -f /path/to/httpd.conf
|
||||
* If you are getting a core dump, gdb should inform you of this now
|
||||
* type: bt
|
||||
* You should include your backtrace in your bug report. This should
|
||||
be submitted to http://bugs.php.net/
|
||||
|
||||
If your script uses the regular expression functions (ereg() and
|
||||
friends), you should make sure that you compiled PHP and Apache with
|
||||
the same regular expression package. This should happen automatically
|
||||
with PHP and Apache 1.3.x
|
||||
|
||||
4. Unix: I installed PHP using RPMS, but Apache isn't processing the
|
||||
PHP pages! What's going on here?
|
||||
|
||||
Assuming you installed both Apache and PHP from RPM packages, you need
|
||||
to uncomment or add some or all of the following lines in your
|
||||
httpd.conf file:
|
||||
# Extra Modules
|
||||
AddModule mod_php.c
|
||||
AddModule mod_php3.c
|
||||
AddModule mod_perl.c
|
||||
|
||||
# Extra Modules
|
||||
LoadModule php_module modules/mod_php.so
|
||||
LoadModule php3_module modules/libphp3.so # for PHP 3
|
||||
LoadModule php4_module modules/libphp4.so # for PHP 4
|
||||
LoadModule perl_module modules/libperl.so
|
||||
|
||||
And add:
|
||||
AddType application/x-httpd-php3 .php3 # for PHP 3
|
||||
AddType application/x-httpd-php .php # for PHP 4
|
||||
|
||||
... to the global properties, or to the properties of the
|
||||
VirtualDomain you want to have PHP support added to.
|
||||
|
||||
5. Unix: I installed PHP 3 using RPMS, but it doesn't compile with the
|
||||
database support I need! What's going on here?
|
||||
|
||||
Due to the way PHP 3 built, it is not easy to build a complete
|
||||
flexible PHP RPM. This issue is addressed in PHP 4. For PHP 3, we
|
||||
currently suggest you use the mechanism described in the
|
||||
INSTALL.REDHAT file in the PHP distribution. If you insist on using an
|
||||
RPM version of PHP 3, read on...
|
||||
|
||||
The RPM packagers are setting up the RPMS to install without database
|
||||
support to simplify installations and because RPMS use /usr/ instead
|
||||
of the standard /usr/local/ directory for files. You need to tell the
|
||||
RPM spec file which databases to support and the location of the
|
||||
top-level of your database server.
|
||||
|
||||
This example will explain the process of adding support for the
|
||||
popular MySQL database server, using the mod installation for Apache.
|
||||
|
||||
Of course all of this information can be adjusted for any database
|
||||
server that PHP supports. We will assume you installed MySQL and
|
||||
Apache completely with RPMS for this example as well.
|
||||
|
||||
* First remove mod_php3 :
|
||||
|
||||
rpm -e mod_php3
|
||||
|
||||
* Then get the source rpm and INSTALL it, NOT --rebuild
|
||||
|
||||
rpm -Uvh mod_php3-3.0.5-2.src.rpm
|
||||
|
||||
* Then edit the /usr/src/redhat/SPECS/mod_php3.spec file
|
||||
In the %build section add the database support you want, and the
|
||||
path.
|
||||
For MySQL you would add --with-mysql=/usr The %build section will
|
||||
look something like this:
|
||||
|
||||
./configure --prefix=/usr \
|
||||
--with-apxs=/usr/sbin/apxs \
|
||||
--with-config-file-path=/usr/lib \
|
||||
--enable-debug=no \
|
||||
--enable-safe-mode \
|
||||
--with-exec-dir=/usr/bin \
|
||||
--with-mysql=/usr \
|
||||
--with-system-regex
|
||||
|
||||
* Once this modification is made then build the binary rpm as
|
||||
follows:
|
||||
|
||||
rpm -bb /usr/src/redhat/SPECS/mod_php3.spec
|
||||
|
||||
* Then install the rpm
|
||||
|
||||
rpm -ivh /usr/src/redhat/RPMS/i386/mod_php3-3.0.5-2.i386.rpm
|
||||
|
||||
Make sure you restart Apache, and you now have PHP 3 with MySQL
|
||||
support using RPM's. Note that it is probably much easier to just
|
||||
build from the distribution tarball of PHP 3 and follow the
|
||||
instructions in INSTALL.REDHAT found in that distribution.
|
||||
|
||||
6. Unix: I patched Apache with the FrontPage extensions patch, and
|
||||
suddenly PHP stopped working. Is PHP incompatible with the Apache
|
||||
FrontPage extensions?
|
||||
|
||||
No, PHP works fine with the FrontPage extensions. The problem is that
|
||||
the FrontPage patch modifies several Apache structures, that PHP
|
||||
relies on. Recompiling PHP (using 'make clean ; make') after the FP
|
||||
patch is applied would solve the problem.
|
||||
|
||||
7. Unix/Windows: I have installed PHP, but when I try to access a PHP
|
||||
script file via my browser, I get a blank screen.
|
||||
|
||||
Do a 'view source' in the web browser and you will probably find that
|
||||
you can see the source code of your PHP script. This means that the
|
||||
web server did not send the script to PHP for interpretation.
|
||||
Something is wrong with the server configuration - double check the
|
||||
server configuration against the PHP installation instructions.
|
||||
|
||||
8. Unix/Windows: I have installed PHP, but when try to access a PHP
|
||||
script file via my browser, I get a server 500 error.
|
||||
|
||||
Something went wrong when the server tried to run PHP. To get to see a
|
||||
sensible error message, from the command line, change to the directory
|
||||
containing the PHP executable (php.exe on Windows) and run php -i. If
|
||||
PHP has any problems running, then a suitable error message will be
|
||||
displayed which will give you a clue as to what needs to be done next.
|
||||
If you get a screen full of HTML codes (the output of the phpinfo()
|
||||
function) then PHP is working, and your problem may be related to your
|
||||
server configuration which you should double check.
|
||||
|
||||
9. Some operating systems: I have installed PHP without errors, but
|
||||
when I try to start apache I get undefined symbol errors:
|
||||
[mybox:user /src/php4] root# apachectl configtest
|
||||
apachectl: /usr/local/apache/bin/httpd Undefined symbols:
|
||||
_compress
|
||||
_uncompress
|
||||
|
||||
This has actually nothing to do with PHP, but with the MySQL client
|
||||
libraries. Some need --with-zlib, others do not. This is also covered
|
||||
in the MySQL FAQ.
|
||||
|
||||
10. Windows: I have installed PHP, but when I to access a PHP script
|
||||
file via my browser, I get the error:
|
||||
cgi error:
|
||||
The specified CGI application misbehaved by not
|
||||
returning a complete set of HTTP headers.
|
||||
The headers it did return are:
|
||||
|
||||
This error message means that PHP failed to output anything at all. To
|
||||
get to see a sensible error message, from the command line, change to
|
||||
the directory containing the PHP executable (php.exe on Windows) and
|
||||
run php -i. If PHP has any problems running, then a suitable error
|
||||
message will be displayed which will give you a clue as to what needs
|
||||
to be done next. If you get a screen full of HTML codes (the output of
|
||||
the phpinfo() function) then PHP is working.
|
||||
|
||||
Once PHP is working at the command line, try accessing the script via
|
||||
the browser again. If it still fails then it could be one of the
|
||||
following:
|
||||
|
||||
* File permissions on your PHP script, php.exe, php4ts.dll, php.ini
|
||||
or any PHP extensions you are trying to load are such that the
|
||||
anonymous internet user ISUR_<machinename> cannot access them.
|
||||
* The script file does not exist (or possibly isn't where you think
|
||||
it is relative to your web root directory). Note that for IIS you
|
||||
can trap this error by ticking the 'check file exists' box when
|
||||
setting up the script mappings in the Internet Services Manager.
|
||||
If a script file does not exist then the server will return a 404
|
||||
error instead. There is also the additional benefit that IIS will
|
||||
do any authentication required for you based on the NTLanMan
|
||||
permissions on your script file.
|
||||
|
||||
11. Windows: I've followed all the instructions, but still can't get
|
||||
PHP and IIS to work together!
|
||||
|
||||
Make sure any user who needs to run a PHP script has the rights to run
|
||||
php.exe! IIS uses an anonymous user which is added at the time IIS is
|
||||
installed. This user needs rights to php.exe. Also, any authenticated
|
||||
user will also need rights to execute php.exe. And for IIS4 you need
|
||||
to tell it that PHP is a script engine. Also, you will want to read
|
||||
this faq.
|
||||
|
||||
12. When running PHP as CGI with IIS, PWS, OmniHTTPD or Xitami, I get
|
||||
the following error: Security Alert! PHP CGI cannot be accessed
|
||||
directly..
|
||||
|
||||
You must set the cgi.force_redirect directive to 0. It defaults to 1
|
||||
so be sure the directive isn't commented out (with a ;). Like all
|
||||
directives, this is set in php.ini
|
||||
|
||||
Because the default is 1, it's critical that you're 100% sure that the
|
||||
correct php.ini file is being read. Read this faq for details.
|
||||
|
||||
13. How do I know if my php.ini is being found and read? It seems like
|
||||
it isn't as my changes aren't being implemented.
|
||||
|
||||
To be sure your php.ini is being read by PHP, make a call to phpinfo()
|
||||
and near the top will be a listing called Configuration File
|
||||
(php.ini). This will tell you where PHP is looking for php.ini and
|
||||
whether or not it's being read. If just a directory PATH exists than
|
||||
it's not being read and you should put your php.ini in that directory.
|
||||
If php.ini is included within the PATH than it is being read.
|
||||
|
||||
If php.ini is being read and you're running PHP as a module, then be
|
||||
sure to restart your web server after making changes to php.ini
|
||||
|
||||
14. How do I add my PHP directory to the PATH on Windows?
|
||||
|
||||
On Windows NT, 2000, XP and 2003:
|
||||
|
||||
* Go to Control Panel and open the System icon (Start -> Settings ->
|
||||
Control Panel -> System, or just Start -> Control Panel -> System
|
||||
for Windows XP/2003)
|
||||
* Go to the Advanced tab
|
||||
* Click on the 'Environment Variables' button
|
||||
* Look into the 'System Variables' pane
|
||||
* Find the Path entry (you may need to scroll to find it)
|
||||
* Double click on the Path entry
|
||||
* Enter your PHP directory ant the end, including ';' before (e.g.
|
||||
;C:\php)
|
||||
* Press OK and restart your computer
|
||||
|
||||
On Windows 98/Me you need to edit the autoexec.bat file:
|
||||
|
||||
* Open the Notepad (Start -> Run and enter notepad)
|
||||
* Open the C:\autoexec.bat file
|
||||
* Locate the line with PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;..... and
|
||||
add: ;C:\php to the end of the line
|
||||
* Save the file and restart your computer
|
||||
|
||||
Note: Be sure to reboot after following the steps above to ensure
|
||||
that the PATH changes are applied.
|
||||
|
||||
The PHP manual used to promote the copying of files into the Windows
|
||||
system directory, this is because this directory (C:\Windows,
|
||||
C:\WINNT, etc.) is by default in the systems PATH. Copying files into
|
||||
the Windows system directory has long since been deprecated and may
|
||||
cause problems.
|
||||
|
||||
15. How do I make the php.ini file available to PHP on windows?
|
||||
|
||||
There are several ways of doing this. If you are using Apache, read
|
||||
their installation specific instructions (Apache 1, Apache 2),
|
||||
otherwise you must set the PHPRC environment variable:
|
||||
|
||||
On Windows NT, 2000, XP and 2003:
|
||||
|
||||
* Go to Control Panel and open the System icon (Start -> Settings ->
|
||||
Control Panel -> System, or just Start -> Control Panel -> System
|
||||
for Windows XP/2003)
|
||||
* Go to the Advanced tab
|
||||
* Click on the 'Environment Variables' button
|
||||
* Look into the 'System variables' pane
|
||||
* Click on 'New' and enter 'PHPRC' as the variable name and the
|
||||
directory where php.ini is located as the variable value (e.g.
|
||||
C:\php)
|
||||
* Press OK and restart your computer
|
||||
|
||||
On Windows 98/Me you need to edit the autoexec.bat file:
|
||||
|
||||
* Open the Notepad (Start -> Run and enter notepad)
|
||||
* Open the C:\autoexec.bat file
|
||||
* Add a new line to the end of the file: set PHPRC=C:\php (replace
|
||||
C:\php with the directory where php.ini is located). Please note
|
||||
that the path cannot contain spaces. For instance, if you have
|
||||
installed PHP in C:\Program Files\PHP, you would enter
|
||||
C:\PROGRA~1\PHP instead.
|
||||
* Save the file and restart your computer
|
||||
|
||||
16. Is it possible to use Apache content negotiation (MultiViews
|
||||
option) with PHP?
|
||||
|
||||
If links to PHP files include extension, everything works perfect.
|
||||
This FAQ is only for the case when links to PHP files don't include
|
||||
extension and you want to use content negotiation to choose PHP files
|
||||
from URL with no extension. In this case, replace the line AddType
|
||||
application/x-httpd-php .php with:
|
||||
# PHP 4
|
||||
AddHandler php-script php
|
||||
AddType text/html php
|
||||
|
||||
# PHP 5
|
||||
AddHandler php5-script php
|
||||
AddType text/html php
|
||||
|
||||
This solution doesn't work for Apache 1 as PHP module doesn't catch
|
||||
php-script.
|
||||
|
||||
17. Is PHP limited to process GET and POST request methods only?
|
||||
|
||||
No, it is possible to handle any request method, e.g. CONNECT. Proper
|
||||
response status can be sent with header(). If only GET and POST
|
||||
methods should be handled, it can be achieved with this Apache
|
||||
configuration:
|
||||
<LimitExcept GET POST>
|
||||
Deny from all
|
||||
</LimitExcept>
|
||||
@@ -1,6 +1,6 @@
|
||||
--------------------------------------------------------------------
|
||||
The PHP License, Version 3.0
|
||||
Copyright (c) 1999 - 2005 The PHP Group. All rights reserved.
|
||||
The PHP License, version 3.01
|
||||
Copyright (c) 1999 - 2006 The PHP Group. All rights reserved.
|
||||
--------------------------------------------------------------------
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
@@ -38,8 +38,8 @@ are met:
|
||||
|
||||
6. Redistributions of any form whatsoever must retain the following
|
||||
acknowledgment:
|
||||
"This product includes PHP, freely available from
|
||||
<http://www.php.net/>".
|
||||
"This product includes PHP software, freely available from
|
||||
<http://www.php.net/software/>".
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE PHP DEVELOPMENT TEAM ``AS IS'' AND
|
||||
ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
||||
@@ -64,5 +64,5 @@ The PHP Group can be contacted via Email at group@php.net.
|
||||
For more information on the PHP Group and the PHP project,
|
||||
please see <http://www.php.net>.
|
||||
|
||||
This product includes the Zend Engine, freely available at
|
||||
PHP includes the Zend Engine, freely available at
|
||||
<http://www.zend.com>.
|
||||
+4
-4
@@ -7,17 +7,17 @@ $(builddir)/zend_language_scanner.lo: $(builddir)/zend_language_parser.h
|
||||
$(builddir)/zend_ini_scanner.lo: $(builddir)/zend_ini_parser.h
|
||||
|
||||
$(builddir)/zend_language_scanner.c: $(srcdir)/zend_language_scanner.l
|
||||
$(LEX) -Pzend -S$(srcdir)/flex.skl -o$@ -i $(srcdir)/zend_language_scanner.l
|
||||
@$(LEX) -Pzend -S$(srcdir)/flex.skl -o$@ -i $(srcdir)/zend_language_scanner.l
|
||||
|
||||
$(builddir)/zend_language_parser.h: $(builddir)/zend_language_parser.c
|
||||
$(builddir)/zend_language_parser.c: $(srcdir)/zend_language_parser.y
|
||||
$(YACC) -p zend -v -d $(srcdir)/zend_language_parser.y -o $@
|
||||
@$(YACC) -p zend -v -d $(srcdir)/zend_language_parser.y -o $@
|
||||
|
||||
$(builddir)/zend_ini_parser.h: $(builddir)/zend_ini_parser.c
|
||||
$(builddir)/zend_ini_parser.c: $(srcdir)/zend_ini_parser.y
|
||||
$(YACC) -p ini_ -v -d $(srcdir)/zend_ini_parser.y -o $@
|
||||
@$(YACC) -p ini_ -v -d $(srcdir)/zend_ini_parser.y -o $@
|
||||
|
||||
$(builddir)/zend_ini_scanner.c: $(srcdir)/zend_ini_scanner.l
|
||||
$(LEX) -Pini_ -S$(srcdir)/flex.skl -o$@ -i $(srcdir)/zend_ini_scanner.l
|
||||
@$(LEX) -Pini_ -S$(srcdir)/flex.skl -o$@ -i $(srcdir)/zend_ini_scanner.l
|
||||
|
||||
$(builddir)/zend_indent.lo $(builddir)/zend_highlight.lo $(builddir)/zend_compile.lo: $(builddir)/zend_language_parser.h
|
||||
@@ -0,0 +1,70 @@
|
||||
|
||||
#
|
||||
# LCOV
|
||||
#
|
||||
|
||||
lcov: lcov-html
|
||||
|
||||
lcov-test: all
|
||||
@echo "Running test suite"
|
||||
@find . -name \*.gcda -o -name \*.da -o -name \*.bbg? | xargs rm -f
|
||||
-@if test ! -z "$(PHP_EXECUTABLE)" && test -x "$(PHP_EXECUTABLE)"; then \
|
||||
NO_INTERACTION=1 \
|
||||
TEST_PHP_EXECUTABLE=$(PHP_EXECUTABLE) \
|
||||
TEST_PHP_SRCDIR=$(top_srcdir) \
|
||||
CC="$(CC)" \
|
||||
$(PHP_EXECUTABLE) -d 'open_basedir=' -d 'safe_mode=0' -d 'output_buffering=0' -d 'memory_limit=-1' $(top_srcdir)/run-tests.php -d 'extension_dir=modules/' -d `( . $(PHP_MODULES) ; echo extension=$$dlname)` tests/; \
|
||||
elif test ! -z "$(SAPI_CLI_PATH)" && test -x "$(SAPI_CLI_PATH)"; then \
|
||||
NO_INTERACTION=1 \
|
||||
TEST_PHP_EXECUTABLE=$(top_builddir)/$(SAPI_CLI_PATH) \
|
||||
TEST_PHP_SRCDIR=$(top_srcdir) \
|
||||
CC="$(CC)" \
|
||||
$(top_builddir)/$(SAPI_CLI_PATH) -d 'open_basedir=' -d 'safe_mode=0' -d 'output_buffering=0' -d 'memory_limit=-1' $(top_srcdir)/run-tests.php $(TESTS); \
|
||||
else \
|
||||
echo "ERROR: Cannot run tests without CLI sapi."; \
|
||||
fi
|
||||
|
||||
php_lcov.info: lcov-test
|
||||
@echo "Generating data for $@"
|
||||
@rm -rf lcov_data/
|
||||
@$(mkinstalldirs) lcov_data/
|
||||
@echo
|
||||
-@find . -name \*.gcda -o -name \*.gcno -o -name \*.da | sed -e 's/^\.\///' | sed -e 's/\.gcda//g' -e 's/\.gcno//g' -e 's/\.da//g' | uniq | while read x; do \
|
||||
echo -n . ;\
|
||||
y=`echo $$x | sed -e 's!\.libs/!!'`; \
|
||||
dir=lcov_data/`dirname $$x`; \
|
||||
test -d "$$dir" || $(mkinstalldirs) "$$dir"; \
|
||||
if test -f "$(top_srcdir)/$$y.c"; then \
|
||||
ln -f -s $(top_srcdir)/$$y.c lcov_data/$$y.c; \
|
||||
fi; \
|
||||
if test -f "$(top_srcdir)/$$y.re"; then \
|
||||
ln -f -s $(top_srcdir)/$$y.re lcov_data/$$y.re; \
|
||||
fi; \
|
||||
if test -f "$(top_srcdir)/$$y.y"; then \
|
||||
ln -f -s $(top_srcdir)/$$y.y lcov_data/$$y.y; \
|
||||
fi; \
|
||||
if test -f "$(top_srcdir)/$$y.l"; then \
|
||||
ln -f -s $(top_srcdir)/$$y.l lcov_data/$$y.l; \
|
||||
fi; \
|
||||
if test -f "$(top_builddir)/$$y.c"; then \
|
||||
ln -f -s $(top_builddir)/$$y.c lcov_data/$$y.c; \
|
||||
fi; \
|
||||
test -f "$$x.gcno" && cp $$x.gcno lcov_data/$$y.gcno ; \
|
||||
test -f "$$x.gcda" && cp $$x.gcda lcov_data/$$y.gcda ; \
|
||||
test -f "$$x.da" && cp $$x.da lcov_data/$$y.da ; \
|
||||
test -f "$$x.bb" && cp $$x.bb lcov_data/$$y.bb ; \
|
||||
test -f "$$x.bbg" && cp $$x.bbg lcov_data/$$y.bbg ; \
|
||||
done
|
||||
@echo
|
||||
@echo "Generating $@"
|
||||
@$(LTP) --directory lcov_data/ --capture --base-directory=lcov_data --output-file $@
|
||||
|
||||
lcov-html: php_lcov.info
|
||||
@echo "Generating lcov HTML"
|
||||
@$(LTP_GENHTML) --legend --no-prefix --output-directory lcov_html/ --title "PHP Code Coverage" --show-details php_lcov.info
|
||||
|
||||
lcov-clean:
|
||||
rm -f php_lcov.info
|
||||
rm -rf lcov_data/
|
||||
rm -rf lcov_html/
|
||||
|
||||
+34
-12
@@ -5,9 +5,6 @@ INSTALL_DATA = $(INSTALL) -m 644
|
||||
DEFS = -DPHP_ATOM_INC -I$(top_builddir)/include -I$(top_builddir)/main -I$(top_srcdir)
|
||||
COMMON_FLAGS = $(DEFS) $(INCLUDES) $(EXTRA_INCLUDES) $(CPPFLAGS) $(PHP_FRAMEWORKPATH)
|
||||
|
||||
CORE_HEADERS = Zend/ TSRM/ include/ main/ main/streams/ regex/ ext/standard/
|
||||
INSTALL_HEADERS = $(CORE_HEADERS) $(INSTALL_EXT_HEADERS)
|
||||
|
||||
all: $(all_targets)
|
||||
@echo
|
||||
@echo "Build complete."
|
||||
@@ -45,19 +42,44 @@ install-modules: build-modules
|
||||
@rm -f modules/*.la >/dev/null 2>&1
|
||||
@$(INSTALL) modules/* $(INSTALL_ROOT)$(EXTENSION_DIR)
|
||||
|
||||
install-tester:
|
||||
@echo "Installing regression tester: $(INSTALL_ROOT)$(PEAR_INSTALLDIR)/"
|
||||
@$(mkinstalldirs) $(INSTALL_ROOT)$(PEAR_INSTALLDIR)
|
||||
@$(INSTALL) -m 755 $(top_srcdir)/run-tests.php $(INSTALL_ROOT)$(PEAR_INSTALLDIR)
|
||||
install-headers:
|
||||
-@if test "$(INSTALL_HEADERS)"; then \
|
||||
for i in $(INSTALL_HEADERS); do \
|
||||
i=`$(top_srcdir)/build/shtool path -d $$i`; \
|
||||
paths="$$paths $(INSTALL_ROOT)$(phpincludedir)/$$i"; \
|
||||
done; \
|
||||
$(mkinstalldirs) $$paths && \
|
||||
echo "Installing header files: $(INSTALL_ROOT)$(phpincludedir)/" && \
|
||||
for i in $(INSTALL_HEADERS); do \
|
||||
if test "$(PHP_PECL_EXTENSION)"; then \
|
||||
src=`echo $$i | $(SED) -e "s#ext/$(PHP_PECL_EXTENSION)/##g"`; \
|
||||
else \
|
||||
src=$$i; \
|
||||
fi; \
|
||||
if test -f "$(top_srcdir)/$$src"; then \
|
||||
$(INSTALL_DATA) $(top_srcdir)/$$src $(INSTALL_ROOT)$(phpincludedir)/$$i; \
|
||||
elif test -f "$(top_builddir)/$$src"; then \
|
||||
$(INSTALL_DATA) $(top_builddir)/$$src $(INSTALL_ROOT)$(phpincludedir)/$$i; \
|
||||
else \
|
||||
(cd $(top_srcdir)/$$src && $(INSTALL_DATA) *.h $(INSTALL_ROOT)$(phpincludedir)/$$i; \
|
||||
cd $(top_builddir)/$$src && $(INSTALL_DATA) *.h $(INSTALL_ROOT)$(phpincludedir)/$$i) 2>/dev/null || true; \
|
||||
fi \
|
||||
done; \
|
||||
fi
|
||||
|
||||
install-su: install-pear
|
||||
|
||||
install-su: install-pear install-tester
|
||||
|
||||
test:
|
||||
-@if test -x $(SAPI_CLI_PATH) && test ! -z $(SAPI_CLI_PATH); then \
|
||||
test: all
|
||||
-@if test ! -z "$(PHP_EXECUTABLE)" && test -x "$(PHP_EXECUTABLE)"; then \
|
||||
TEST_PHP_EXECUTABLE=$(PHP_EXECUTABLE) \
|
||||
TEST_PHP_SRCDIR=$(top_srcdir) \
|
||||
CC="$(CC)" \
|
||||
$(PHP_EXECUTABLE) -d 'open_basedir=' -d 'safe_mode=0' -d 'output_buffering=0' -d 'memory_limit=-1' $(top_srcdir)/run-tests.php -d 'extension_dir=modules/' -d `( . $(PHP_MODULES) ; echo extension=$$dlname)` tests/; \
|
||||
elif test ! -z "$(SAPI_CLI_PATH)" && test -x "$(SAPI_CLI_PATH)"; then \
|
||||
TEST_PHP_EXECUTABLE=$(top_builddir)/$(SAPI_CLI_PATH) \
|
||||
TEST_PHP_SRCDIR=$(top_srcdir) \
|
||||
CC="$(CC)" \
|
||||
$(top_builddir)/$(SAPI_CLI_PATH) -d 'open_basedir=' -d 'safe_mode=0' -d 'output_buffering=0' $(top_srcdir)/run-tests.php $(TESTS); \
|
||||
$(top_builddir)/$(SAPI_CLI_PATH) -d 'open_basedir=' -d 'safe_mode=0' -d 'output_buffering=0' -d 'memory_limit=-1' $(top_srcdir)/run-tests.php $(TESTS); \
|
||||
else \
|
||||
echo "ERROR: Cannot run tests without CLI sapi."; \
|
||||
fi
|
||||
|
||||
@@ -1,54 +1,214 @@
|
||||
PHP NEWS
|
||||
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||
10 Jun 2005, PHP 5.1 Beta 1
|
||||
12 Jan 2006, PHP 5.1.2
|
||||
- Updated libsqlite in ext/sqlite to 2.8.17. (Ilia)
|
||||
- Updated libsqlite in ext/pdo_sqlite to 3.2.8. (Ilia)
|
||||
- Updated to libxml2-2.6.22 and libxslt-1.1.15 in the win32 bundle. (Rob)
|
||||
- Added new extensions: (Ilia, Wez)
|
||||
. XMLWriter
|
||||
. Hash
|
||||
- Added PNG compression support to GD extension. (Pierre)
|
||||
- Added reflection constants as class constants. (Johannes)
|
||||
- Added --enable-gcov configure option to enable C-level code coverage.
|
||||
(John, Jani, Ilia, Marcus)
|
||||
- Added missing support for 'B' format identifier to date() function. (Ilia)
|
||||
- Changed reflection to be an extension. (Marcus)
|
||||
- Improved SPL extension: (Marcus)
|
||||
. Added class SplFileInfo as root class for DirectoryIterator and
|
||||
SplFileObject
|
||||
. Added SplTempFileObject
|
||||
- Improved SimpleXML extension: (Marcus)
|
||||
. Fixed memleaks
|
||||
. Fixed var_dump()
|
||||
. Fixed isset/empty/(bool) behavior
|
||||
. Fixed iterator edge cases
|
||||
. Added methods getNamespaces(), getDocNamespaces()
|
||||
- Upgraded pear to version 1.4.6. (Greg)
|
||||
- Added constants for libxslt and libexslt versions: LIBXSLT_VERSION,
|
||||
LIBXSLT_DOTTED_VERSION, LIBEXSLT_VERSION and LIBEXSLT_DOTTED_VERSION. (Pierre)
|
||||
- Fixed possible crash in apache_getenv()/apache_setenv() on invalid parameters.
|
||||
(Ilia)
|
||||
- Changed errors to warnings in imagecolormatch(). (Pierre)
|
||||
- Fixed segfault/leak in imagecolormatch(). (Pierre)
|
||||
- Fixed small leak in mysqli_stmt_fetch() when bound variable was empty string.
|
||||
(Andrey)
|
||||
- Fixed prepared statement name conflict handling in PDO_PGSQL. (Thies, Ilia)
|
||||
- Fixed memory corruption when PDO::FETCH_LAZY mode is being used. (Ilia)
|
||||
- Fixed possible leaks in imagecreatefromstring() with invalid data. (Pierre)
|
||||
- Fixed possible memory corruption inside mb_strcut(). (Ilia)
|
||||
- Fixed possible header injection by limiting each header to a single line.
|
||||
(Ilia)
|
||||
- Fixed possible XSS inside error reporting functionality. (Ilia)
|
||||
- Fixed many bugs in OCI8. (Tony)
|
||||
- Fixed crash and leak in mysqli when using 4.1.x client libraries and
|
||||
connecting to 5.x server. (Andrey)
|
||||
- Fixed bug #35916 (Duplicate calls to stream_bucket_append() lead to a crash).
|
||||
(Ilia)
|
||||
- Fixed bug #35908 (curl extension uses undefined GCRY_THREAD_OPTIONS_USER).
|
||||
(Ilia)
|
||||
- Fixed bug #35907 (PDO_OCI uses hardcoded lib path $ORACLE_HOME/lib). (Tony)
|
||||
- Fixed bug #35887 (wddx_deserialize not parsing dateTime fields properly).
|
||||
(Derick)
|
||||
- Fixed bug #35885 (strtotime("NOW") no longer works). (Derick)
|
||||
- Fixed bug #35821 (array_map() segfaults when exception is throwed from
|
||||
the callback). (Tony)
|
||||
- Fixed bug #35817 (unpack() does not decode odd number of hexadecimal values).
|
||||
(Ilia)
|
||||
- Fixed bug #35797 (segfault on PDOStatement::execute() with
|
||||
zend.ze1_compatibility_mode = On). (Tony, Ilia)
|
||||
- Fixed bug #35781 (stream_filter_append() can cause segfault). (Tony)
|
||||
- Fixed bug #35760 (sybase_ct doesn't compile on Solaris using old gcc). (Tony)
|
||||
- Fixed bug #35759 (mysqli_stmt_bind_result() makes huge allocation when
|
||||
column empty). (Andrey)
|
||||
- Fixed bug #35751 (using date with a timestamp makes httpd segfault). (Derick)
|
||||
- Fixed bug #35740 (memory leak when including a directory). (Tony)
|
||||
- Fixed bug #35730 (ext/mssql + freetds: Use correct character encoding
|
||||
and allow setting it). (Frank)
|
||||
- Fixed bug #35723 (xmlrpc_introspection.c fails compile per C99 std). (Jani)
|
||||
- Fixed bug #35720 (A final constructor can be overwritten). (Marcus)
|
||||
- Fixed bug #35713 (getopt() returns array with numeric strings when passed
|
||||
options like '-1'). (Tony)
|
||||
- Fixed bug #35705 (strtotime() fails to parse soap date format without TZ).
|
||||
(Ilia)
|
||||
- Fixed bug #35699 (date() can't handle leap years before 1970). (Derick)
|
||||
- Fixed bug #35694 (Improved error message for invalid fetch mode). (Ilia)
|
||||
- Fixed bug #35692 (iconv_mime_decode() segmentation fault; with libiconv
|
||||
only). (Tony)
|
||||
- Fixed bug #35690 (pack() tries to allocate huge memory block when packing
|
||||
float values to strings). (Tony)
|
||||
- Fixed bug #35669 (imap_mail_compose() crashes with
|
||||
multipart-multiboundary-email). (Ilia)
|
||||
- Fixed bug #35660 (AIX TZ variable format not understood, yields UTC
|
||||
timezone). (Derick)
|
||||
- Fixed bug #35655 (whitespace following end of heredoc is lost). (Ilia)
|
||||
- Fixed bug #35630 (strtotime() crashes on certain relative identifiers).
|
||||
(Ilia)
|
||||
- Fixed bug #35629 (crash in http:// wrapper on multiple redirects). (Ilia)
|
||||
- Fixed bug #35624 (strtotime() does not handle 3 character weekdays). (Ilia)
|
||||
- Fixed bug #35612 (iis6 Access Violation crash). (Dmitry, alacn.uhahaa)
|
||||
- Fixed bug #35594 (Multiple calls to getopt() may result in a crash).
|
||||
(rabbitt at gmail dot com, Ilia)
|
||||
- Fixed bug #35571 (Fixed crash in Apache 2 SAPI when more then one php
|
||||
script is loaded via SSI include). (Ilia)
|
||||
- Fixed bug #35570 (segfault when re-using soap client object). (Dmitry)
|
||||
- Fixed bug #35558 (mktime() interpreting 3 digit years incorrectly). (Ilia)
|
||||
- Fixed bug #35543 (php crash when calling non existing method of a class
|
||||
that extends PDO). (Tony)
|
||||
- Fixed bug #35539 (typo in error message for ErrorException). (Tony)
|
||||
- FIxed bug #35536 (mysql_field_type() doesn't handle NEWDECIMAL). (Tony)
|
||||
- Fixed bug #35517 (mysql_stmt_fetch returns NULL on data truncation). (Georg)
|
||||
- Fixed bug #35509 (string constant as array key has different behavior inside
|
||||
object). (Dmitry)
|
||||
- Fixed bug #35508 (PDO fails when unknown fetch mode specified). (Tony)
|
||||
- Fixed bug #35499 (strtotime() does not handle whitespace around the date
|
||||
string). (Ilia)
|
||||
- Fixed bug #35496 (Crash in mcrypt_generic()/mdecrypt_generic() without
|
||||
proper init). (Ilia)
|
||||
- Fixed bug #35490 (socket_sendto() unable to handle IPv6 addresses). (Tony)
|
||||
- Fixed bug #35461 (Ming extension fails to compile with ming 0.3beta1). (Jani)
|
||||
- Fixed bug #35437 (Segfault or Invalid Opcode 137/1/4). (Dmitry)
|
||||
- Fixed bug #35470 (Assigning global using variable name from array doesn't
|
||||
function). (Dmitry)
|
||||
- Fixed bug #35456 (+ 1 [time unit] format did not work). (Ilia)
|
||||
- Fixed bug #35447 (xml_parse_into_struct() chokes on the UTF-8 BOM). (Rob)
|
||||
- Fixed bug #35431 (PDO crashes when using LAZY fetch with fetchAll). (Wez)
|
||||
- Fixed bug #35430 (PDO crashes on incorrect FETCH_FUNC use). (Tony)
|
||||
- Fixed bug #35427 (str_word_count() handles '-' incorrectly). (Ilia)
|
||||
- Fixed bug #35425 (idate() function ignores timezone settings). (Ilia)
|
||||
- Fixed bug #35422 (strtotime() does not parse times with UTC as timezone).
|
||||
(Ilia)
|
||||
- Fixed bug #35414 (strtotime() no longer works with ordinal suffix). (Ilia)
|
||||
- Fixed bug #35410 (wddx_deserialize() doesn't handle large ints as keys
|
||||
properly). (Ilia)
|
||||
- Fixed bug #35409 (undefined reference to 'rl_completion_matches'). (Jani)
|
||||
- Fixed bug #35399 (Since fix of bug #35273 SOAP decoding of
|
||||
soapenc:base64binary fails). (Dmitry)
|
||||
- Fixed bug #35393 (changing static protected members from outside the class,
|
||||
one more reference issue). (Dmitry)
|
||||
- Fixed bug #35381 (ssl library is not initialized properly). (Alan)
|
||||
- Fixed bug #35377 (PDO_SQLITE: undefined reference to "fdatasync").
|
||||
(Nuno, Jani)
|
||||
- Fixed bug #35373 (HP-UX "alias not allowed in this configuration"). (Dmitry)
|
||||
- Fixed bug #35288 (iconv() function defined as libiconv()). (Nuno)
|
||||
- Fixed bug #35103 (mysqli handles bad unsigned (big)int incorrectly).(Andrey)
|
||||
- Fixed bug #35062 (socket_read() produces warnings on non blocking sockets).
|
||||
(Nuno, Ilia)
|
||||
- Fixed bug #35028 (SimpleXML object fails FALSE test). (Marcus)
|
||||
- Fixed bug #34729 (Crash in ZTS mode under Apache). (Dmitry, Zeev)
|
||||
- Fixed bug #34429 (Output buffering cannot be turned off with FastCGI).
|
||||
(Dmitry, Ilya)
|
||||
- Fixed bug #34359 (Possible crash inside fopen http wrapper). (Ilia,Sara,Nuno)
|
||||
- Fixed bug #33789 (Many Problems with SunFuncs). (Derick)
|
||||
- Fixed bug #33671 (sun_rise and sun_set don't return a GMT timestamp if one
|
||||
passes an offset). (Derick)
|
||||
- Fixed bug #32820 (date_sunrise and date_sunset don't handle GMT offset
|
||||
well). (Derick)
|
||||
- Fixed bug #31347 (is_dir and is_file (incorrectly) return true for any string
|
||||
greater then 255 characters). (Nuno,Ilia)
|
||||
- Fixed bug #30937 (date_sunrise() & date_sunset() don't handle endless
|
||||
day/night at high latitudes). (Derick)
|
||||
- Fixed bug #30760 (Remove MessageBox on win32 for E_CORE errors if
|
||||
display_startup_error is off). (Ilia)
|
||||
- Fixed bug #29955 (mb_strtoupper() / lower() broken with Turkish encoding).
|
||||
(Rui)
|
||||
- Fixed bug #28899 (mb_substr() and substr() behave differently when
|
||||
"mbstring.func_overload" is enabled). (Rui)
|
||||
- Fixed bug #27678 (number_format() crashes with large numbers). (Marcus)
|
||||
|
||||
28 Nov 2005, PHP 5.1.1
|
||||
- Disabled native date class to prevent pear::date conflict. (Ilia)
|
||||
- Changed reflection constants be both PHP and class constants. (Johannes)
|
||||
- Added an additional field $frame['object'] to the result array of
|
||||
debug_backtrace() that contains a reference to the respective object when the
|
||||
frame was called from an object. (Sebastian)
|
||||
- Fixed bug #35423 (RecursiveDirectoryIterator doesnt appear to recurse with
|
||||
RecursiveFilterIterator). (Marcus)
|
||||
- Fixed bug #35413 (Removed -dev flag from Zend Engine version). (Ilia)
|
||||
- Fixed bug #35411 (Regression with \{$ handling). (Ilia)
|
||||
- Fixed bug #35406 (eval hangs when evall'ed code ends with comment w/o
|
||||
newline). (Marcus)
|
||||
- Fixed bug #35391 (pdo_mysql::exec does not return number of affected rows).
|
||||
(Tony)
|
||||
- Fixed bug #35382 (Comment in end of file produces fatal error). (Ilia)
|
||||
- Fixed bug #35360 (exceptions in interactive mode (php -a) may cause crash).
|
||||
(Dmitry)
|
||||
- Fixed bug #35358 (Incorrect error messages for PDO class constants). (Ilia)
|
||||
- Fixed bug #35338 (pdo_pgsql does not handle binary bound params). (Wez)
|
||||
- Fixed bug #35316 (Application exception trying to create COM object). (Rob)
|
||||
- Fixed bug #35170 (PHP_AUTH_DIGEST differs under Apache 1.x and 2.x). (Ilia)
|
||||
|
||||
24 Nov 2005, PHP 5.1
|
||||
- Added support for class constants and static members for internal classes.
|
||||
(Dmitry, Michael Wallner)
|
||||
- Added "new_link" parameter to mssql_connect() (Bug #34369). (Frank)
|
||||
- Added missing safe_mode checks for image* functions and cURL. (Ilia)
|
||||
- Added missing safe_mode/open_basedir checks for file uploads. (Ilia)
|
||||
- Added PDO_MYSQL_ATTR_USE_BUFFERED_QUERY parameter for pdo_mysql. (Ilia)
|
||||
- Added date_timezone_set() function to set the timezone that the date
|
||||
functions will use. (Derick)
|
||||
- Added pg_fetch_all_columns() function to fetch all values of a column from a
|
||||
result cursor. (Ilia)
|
||||
- Added support for LOCK_EX flag for file_put_contents(). (Ilia)
|
||||
- Added bindto socket context option. (Ilia)
|
||||
- Added offset parameter to the stream_copy_to_stream() function. (Ilia)
|
||||
- Added offset & length parameters to substr_count() function. (Ilia)
|
||||
- Added man pages for "phpize" and "php-config" scripts. (Jakub Vrana)
|
||||
- Added support for .cc files in extensions. (Brian)
|
||||
- Added PHP_INT_MAX and PHP_INT_SIZE as predefined constants. (Andrey)
|
||||
- Added user opcode API that allow overloading of opcode handlers. (Dmitry)
|
||||
- Opcodes ZEND_NEW, ZEND_JMP_NO_CTOR, ZEND_INIT_CTOR are mefget into one
|
||||
ZEND_NEW. (Dmitry)
|
||||
- Upgraded PCRE library to version 5.0. (Andrei)
|
||||
- Added an optional remove old session parameter to session_regenerate_id(). (Ilia)
|
||||
- Added an optional remove old session parameter to session_regenerate_id().
|
||||
(Ilia)
|
||||
- Added array type hinting. (Dmitry)
|
||||
- Removed php_check_syntax() function which never worked properly. (Ilia)
|
||||
- Removed garbage manager in Zend Engine which results in more aggressive
|
||||
freeing of data. (Dmitry, Andi)
|
||||
- String offsets were re-designed and re-implemented (Dmitry)
|
||||
- Moved extensions to PECL:
|
||||
. ext/cpdf (Tony, Derick)
|
||||
. ext/dio (Jani, Derick)
|
||||
. ext/fam (Jani, Derick)
|
||||
. ext/ingres_ii (Jani, Derick)
|
||||
. ext/mnogosearch (Jani, Derick)
|
||||
. ext/w32api (Jani, Derick)
|
||||
. ext/yp (Jani, Derick)
|
||||
- Changed stream_filter_(ap|pre)pend() to return resource. (Sara)
|
||||
- Changed mysqli_exception and sqlite_exception to use RuntimeException as base
|
||||
if SPL extension is present. (Georg, Marcus)
|
||||
- Improved interactive mode of PHP CLI (php -a). (Johannes, Marcus)
|
||||
- Improved support for embedded server in mysqli. (Georg)
|
||||
- Improved performance of:
|
||||
. general execution/compilation. (Andi, Thies, Sterling, Dmitry, Marcus)
|
||||
. switch() statement. (Dmitry)
|
||||
. several array functions. (Marcus)
|
||||
. virtual path handling by adding a realpath() cache. (Andi)
|
||||
. variable fetches. (Andi)
|
||||
. magic method invocations. (Marcus)
|
||||
- Improved extension SPL (Marcus).
|
||||
. added standard hierarchy of Exception classes
|
||||
. added interface Countable
|
||||
. added interfaces Subject and Observer
|
||||
. added spl_autoload*() functions
|
||||
. converted several 5.0 examples into c code
|
||||
. added class FileObject
|
||||
. added possibility to use a string with class_parents() and
|
||||
class_implements(). (Andrey)
|
||||
- Added the tidy_get_opt_doc() function to return documentation for
|
||||
- Added the tidy_get_opt_doc() function to return documentation for
|
||||
configuration options in tidy. (Patch by: nlopess@php.net)
|
||||
- Added support for .cc files in extensions. (Brian)
|
||||
- Added imageconvolution() function which can be used to apply a custom 3x3
|
||||
- Added imageconvolution() function which can be used to apply a custom 3x3
|
||||
matrix convolution to an image. (Pierre)
|
||||
- Added optional first parameter to XsltProcessor::registerPHPFunctions to only
|
||||
allow certain functions to be called from XSLT. (Christian)
|
||||
- Added the ability to override the autotools executables used by the buildconf
|
||||
script via the PHP_AUTOCONF and PHP_AUTOHEADER environmental variables. (Jon)
|
||||
- Added optional first parameter to XsltProcessor::registerPHPFunctions to
|
||||
only allow certain functions to be called from XSLT. (Christian)
|
||||
- Added the ability to override the autotools executables used by the
|
||||
buildconf script via the PHP_AUTOCONF and PHP_AUTOHEADER environmental
|
||||
variables. (Jon)
|
||||
- Added several new functions to support the PostgreSQL v3 protocol introduced
|
||||
in PostgreSQL 7.4. (Christopher)
|
||||
. pg_transaction_status() - in-transaction status of a database connection.
|
||||
@@ -58,34 +218,29 @@ PHP NEWS
|
||||
. pg_send_query_params() - async equivalent of pg_query_params().
|
||||
. pg_send_prepare() - async equivalent of pg_prepare().
|
||||
. pg_send_execute() - async equivalent of pg_execute().
|
||||
. pg_result_error_field() - highly detailed error information,
|
||||
most importantly the SQLSTATE error code.
|
||||
. pg_result_error_field() - highly detailed error information, most
|
||||
importantly
|
||||
the SQLSTATE error code.
|
||||
. pg_set_error_verbosity() - set verbosity of errors.
|
||||
- Improved extension mysqli (Georg)
|
||||
. added constructor for mysqli_stmt and mysqli_result classes
|
||||
. added new function mysqli_get_charset
|
||||
. added new class mysqli_driver
|
||||
. added new class mysqli_warning
|
||||
. added new class mysqli_execption
|
||||
. added new class mysqli_sql_exception
|
||||
- Added optional fifth parameter "count" to preg_replace_callback() and
|
||||
- Added optional fifth parameter "count" to preg_replace_callback() and
|
||||
preg_replace() to count the number of replacements made. FR #32275. (Andrey)
|
||||
- Added optional third parameter "charlist" to str_word_count() which
|
||||
contains characters to be considered as word part. FR #31560. (Andrey, Ilia)
|
||||
- Added interface Serializeable. (Stanislav, Marcus)
|
||||
- Added optional third parameter "charlist" to str_word_count() which contains
|
||||
characters to be considered as word part. FR #31560. (Andrey, Ilia)
|
||||
- Added interface Serializable. (Stanislav, Marcus)
|
||||
- Added pg_field_type_oid() PostgreSQL function. (mauroi at digbang dot com)
|
||||
- Added zend_declare_property_...() and zend_update_property_...()
|
||||
API functions for bool, double and binary safe strings. (Hartmut)
|
||||
- Added zend_declare_property_...() and zend_update_property_...() API
|
||||
functions for bool, double and binary safe strings. (Hartmut)
|
||||
- Added possibility to access INI variables from within .ini file. (Andrei)
|
||||
- Added variable $_SERVER['REQUEST_TIME'] containing request start time. (Ilia)
|
||||
- Added variable $_SERVER['REQUEST_TIME'] containing request start time.
|
||||
(Ilia)
|
||||
- Added optional float parameter to gettimeofday(). (Ilia)
|
||||
- Added apache_reset_timeout() Apache1 function. (Rasmus)
|
||||
- Added sqlite_fetch_column_types() 3rd argument for arrays. (Ilia)
|
||||
- Added optional offset parameter to stream_get_contents() and
|
||||
- Added optional offset parameter to stream_get_contents() and
|
||||
file_get_contents(). (Ilia)
|
||||
- Added optional maxlen parameter to file_get_contents(). (Ilia)
|
||||
- Added SAPI hook to get the current request time. (Rasmus)
|
||||
- Added new functions:
|
||||
- Added new functions:
|
||||
. array_diff_key() (Andrey)
|
||||
. array_diff_ukey() (Andrey)
|
||||
. array_intersect_key() (Christiano Duarte)
|
||||
@@ -106,62 +261,662 @@ PHP NEWS
|
||||
. stream_wrapper_restore() (Sara)
|
||||
. stream_filter_remove() (Sara)
|
||||
. time_sleep_until() (Ilia)
|
||||
- Added DomDocument::$recover property for parsing not well-formed
|
||||
XML Documents. (Christian)
|
||||
- Added DomDocument::$recover property for parsing not well-formed XML
|
||||
Documents. (Christian)
|
||||
- Added Cursor support for MySQL 5.0.x in mysqli (Georg)
|
||||
- Added proxy support to ftp wrapper via http. (Sara)
|
||||
- Added MDTM support to ftp_url_stat. (Sara)
|
||||
- Added zlib stream filter support. (Sara)
|
||||
- Added bz2 stream filter support. (Sara)
|
||||
- Added HTTP/1.1 and chunked encoding support to http:// wrapper. (Sara)
|
||||
- Added max_redirects context option that specifies how many HTTP
|
||||
redirects to follow. (Ilia)
|
||||
- Added support of parameter=>value arrays to
|
||||
- Added support of parameter=>value arrays to
|
||||
xsl_xsltprocessor_set_parameter(). (Tony)
|
||||
- Fixed extension initialization to respect dependancies between extensions.
|
||||
(Wez)
|
||||
- Fixed a problem with SPL iterators aggregating the innner iterator. (Marcus)
|
||||
- Fixed bug with $HTTP_RAW_POST_DATA not getting set. (Brian)
|
||||
- Fixed bug in mysql::client_version(). (Georg)
|
||||
|
||||
- PHP extension loading mechanism with support for module
|
||||
dependencies and conflicts. (Jani, Dmitry)
|
||||
- Improved interactive mode of PHP CLI (php -a). (Johannes, Marcus)
|
||||
- Improved performance of:
|
||||
. general execution/compilation. (Andi, Thies, Sterling, Dmitry, Marcus)
|
||||
. switch() statement. (Dmitry)
|
||||
. several array functions. (Marcus)
|
||||
. virtual path handling by adding a realpath() cache. (Andi)
|
||||
. variable fetches. (Andi)
|
||||
. magic method invocations. (Marcus)
|
||||
- Improved support for embedded server in mysqli. (Georg)
|
||||
- Improved mysqli extension. (Georg)
|
||||
. added constructor for mysqli_stmt and mysqli_result classes
|
||||
. added new function mysqli_get_charset()
|
||||
. added new function mysqli_set_charset()
|
||||
. added new class mysqli_driver
|
||||
. added new class mysqli_warning
|
||||
. added new class mysqli_exception
|
||||
. added new class mysqli_sql_exception
|
||||
- Improved SPL extension. (Marcus)
|
||||
. Moved RecursiveArrayIterator from examples into extension
|
||||
. Moved RecursiveFilterIterator from examples into extension
|
||||
. Added SplObjectStorage
|
||||
. Made all SPL constants class constants
|
||||
. Renamed CachingRecursiveIterator to RecursiveCachingIterator to follow
|
||||
Recursive<*>Iterator naming scheme.
|
||||
. added standard hierarchy of Exception classes
|
||||
. added interface Countable
|
||||
. added interfaces Subject and SplObserver
|
||||
. added spl_autoload*() functions
|
||||
. converted several 5.0 examples into c code
|
||||
. added class SplFileObject
|
||||
. added possibility to use a string with class_parents() and
|
||||
class_implements(). (Andrey)
|
||||
|
||||
- Changed type hints to allow "null" as default value for class and array.
|
||||
(Marcus, Derick, Dmitry)
|
||||
- Changed SQLite extension to be a shared module in Windows distribution.
|
||||
(Edin)
|
||||
- Changed "instanceof" and "catch" operators, is_a() and is_subclass_of()
|
||||
functions to not call __autoload(). (Dmitry)
|
||||
- Changed sha1_file() and md5_file() functions to use streams instead of low
|
||||
level IO. (Uwe)
|
||||
- Changed abstract private methods to be not allowed anymore. (Stas)
|
||||
- Changed stream_filter_(ap|pre)pend() to return resource. (Sara)
|
||||
- Changed mysqli_exception and sqlite_exception to use RuntimeException as
|
||||
base if SPL extension is present. (Georg, Marcus)
|
||||
|
||||
- Upgraded bundled libraries:
|
||||
. PCRE library to version 6.2. (Andrei)
|
||||
. SQLite 3 library in ext/pdo_sqlite to 3.2.7. (Ilia)
|
||||
. SQLite 2 library in ext/sqlite to 2.8.16. (Ilia)
|
||||
- Upgraded bundled libraries in Windows distribution. (Edin)
|
||||
. zlib 1.2.3
|
||||
. curl 7.14.0
|
||||
. openssl 0.9.8
|
||||
. ming 0.3b
|
||||
. libpq (PostgreSQL) 8.0.1
|
||||
|
||||
- Implemented feature request #33452 (Year belonging to ISO week). (Derick)
|
||||
- Allowed return by reference from internal functions. (Marcus, Andi, Dmitry)
|
||||
- Rewrote strtotime() with support for timezones and many new formats.
|
||||
Implements feature requests #21399, #26694, #28088, #29150, #29585 and
|
||||
#29595. (Derick)
|
||||
|
||||
- Moved extensions to PECL:
|
||||
. ext/cpdf (Tony, Derick)
|
||||
. ext/dio (Jani, Derick)
|
||||
. ext/fam (Jani, Derick)
|
||||
. ext/ingres_ii (Jani, Derick)
|
||||
. ext/mnogosearch (Jani, Derick)
|
||||
. ext/w32api (Jani, Derick)
|
||||
. ext/yp (Jani, Derick)
|
||||
. ext/mcve (Jani, Derick, Pierre)
|
||||
. ext/oracle (Jani, Derick)
|
||||
. ext/ovrimos (Jani, Derick, Pierre)
|
||||
. ext/pfpro (Jani, Derick, Pierre)
|
||||
. ext/dbx (Jani, Derick)
|
||||
. ext/ircg (Jani, Derick)
|
||||
|
||||
- Removed php_check_syntax() function which never worked properly. (Ilia)
|
||||
- Removed garbage manager in Zend Engine which results in more aggressive
|
||||
freeing of data. (Dmitry, Andi)
|
||||
|
||||
- Fixed "make test" to work for phpized extensions. (Hartmut, Jani)
|
||||
- Fixed Apache 2 regression with sub-request handling on non-linux systems.
|
||||
(Ilia, Tony)
|
||||
- Fixed PDO shutdown problem (possible infinite loop running rollback on
|
||||
shutdown). (Wez)
|
||||
- Fixed PECL bug #3714 (PDO: beginTransaction doesn't work if you're in
|
||||
auto-commit mode). (Wez)
|
||||
- Fixed ZTS destruction. (Marcus)
|
||||
- Fixed bug #32993 (implemented Iterator function current() don't throw
|
||||
- Fixed __get/__set to allow recursive calls for different properties. (Dmitry)
|
||||
- Fixed a bug where stream_get_meta_data() did not return the "uri" element
|
||||
for files opened with tmpname(). (Derick)
|
||||
- Fixed a problem with SPL iterators aggregating the inner iterator. (Marcus)
|
||||
- Fixed an error in mysqli_fetch_fields (returned NULL instead of an array
|
||||
when row number > field_count). (Georg)
|
||||
- Fixed bug in mysql::client_version(). (Georg)
|
||||
- Fixed bug in mysqli extension with unsigned int(11) being represented as
|
||||
signed integer in PHP instead of string in 32bit systems. (Andrey)
|
||||
- Fixed bug with $HTTP_RAW_POST_DATA not getting set. (Brian)
|
||||
- Fixed crash inside stream_get_line() when length parameter equals 0. (Ilia)
|
||||
- Fixed ext/mysqli to allocate less memory when fetching bound params of type
|
||||
(MEDIUM|LONG)BLOB/(MEDIUM|LONG)TEXT. (Andrey)
|
||||
- Fixed extension initialization to respect dependencies between extensions.
|
||||
(Wez)
|
||||
- Fixed failing queries (FALSE returned) with mysqli_query() on 64 bit systems.
|
||||
(Andrey)
|
||||
- Fixed fgetcsv() and fputcsv() inconsistency. (Dmitry)
|
||||
- Fixed inheritance check to control return by reference and pass by
|
||||
reference correctly (ArrayAccess can no longer support references correctly).
|
||||
(Marcus, Andi, Dmitry)
|
||||
- Fixed initializing and argument checking for posix_mknod(). (Derick)
|
||||
- Fixed memory corruption in ImageTTFText() with 64bit systems. (Andrey)
|
||||
- Fixed memory corruption in pg_copy_from() in case the as_null parameter was
|
||||
passed. (Derick)
|
||||
- Fixed memory corruption in stristr(). (Derick)
|
||||
- Fixed possible GLOBALS variable override when register_globals are ON.
|
||||
(Ilia, Stefan)
|
||||
- Fixed possible INI setting leak via virtual() in Apache 2 sapi. (Ilia)
|
||||
- Fixed possible register_globals toggle via parse_str(). (Ilia, Stefan)
|
||||
- Fixed potential GLOBALS overwrite via import_request_variables() and
|
||||
possible crash and/or memory corruption. (Ilia)
|
||||
- Fixed segfaults when CURL callback functions throw exception. (Tony)
|
||||
- Fixed support for shared extensions on AIX. (Dmitry)
|
||||
- Fixed bug #35342 (isset(DOMNodeList->length) returns false). (Rob)
|
||||
- Fixed bug #35341 (Fix for bug #33760 breaks build with older curl). (Tony)
|
||||
- Fixed bug #35336 (crash on PDO::FETCH_CLASS + __set()). (Tony)
|
||||
- Fixed bug #35303 (PDO prepare() crashes with invalid parameters). (Ilia)
|
||||
- Fixed bug #35293 (PDO segfaults when using persistent connections). (Tony)
|
||||
- Fixed bug #35278 (Multiple virtual() calls crash Apache 2 php module). (Ilia)
|
||||
- Fixed bug #35273 (Error in mapping soap - java types). (Dmitry)
|
||||
- Fixed bug #35249 (compile failure when ext/readline is compiled as shared).
|
||||
(Jani)
|
||||
- Fixed bug #35248 (sqlite_query() doesn't set error_msg when return value is
|
||||
being used). (Ilia)
|
||||
- Fixed bug #35243 (php_mblen() crashes when compiled with thread-safety on
|
||||
Linux). (Patch: shulmanb at il dot ibm dot com, Jani)
|
||||
- Fixed bug #35239 (Objects can lose references). (Dmitry)
|
||||
- Fixed bug #35229 (call_user_func() crashes when argument_stack is nearly
|
||||
full). (Dmitry)
|
||||
- Fixed bug #35197 (Destructor is not called). (Tony)
|
||||
- Fixed bug #35179 (tokenizer extension needs T_HALT_COMPILER). (Greg)
|
||||
- Fixed bug #35176 (include()/require()/*_once() produce wrong error messages
|
||||
about main()). (Dmitry)
|
||||
- Fixed bug #35147 (__HALT_COMPILER() breaks with --enable-zend-multibyte).
|
||||
(Dmitry, Moriyoshi)
|
||||
- Fixed bug #35143 (gettimeofday() ignores current time zone). (Derick)
|
||||
- Fixed bug #35142 (SOAP Client/Server Complex Object Support). (Dmitry)
|
||||
- Fixed bug #35135 (PDOStatment without related PDO object may crash). (Ilia)
|
||||
- Fixed bug #35091 (SoapClient leaks memory). (Dmitry)
|
||||
- Fixed bug #35079 (stream_set_blocking(true) toggles, not enables blocking).
|
||||
(askalski at gmail dot com, Tony)
|
||||
- Fixed bug #35078 (configure does not find ldap_start_tls_s). (Jani)
|
||||
- Fixed bug #35046 (phpinfo() uses improper css enclosure). (Ilia)
|
||||
- Fixed bugs #35022, #35019 (Regression in the behavior of key() and
|
||||
current() functions). (Ilia)
|
||||
- Fixed bug #35017 (Exception thrown in error handler may cause unexpected
|
||||
behavior). (Dmitry)
|
||||
- Fixed bug #35014 (array_product() always returns 0). (Ilia)
|
||||
- Fixed bug #35009 (ZTS: Persistent resource destruct crashes when extension
|
||||
is compiled as shared). (Dmitry)
|
||||
- Fixed bug #34996 (ImageTrueColorToPalette() crashes when ncolors is zero).
|
||||
(Tony)
|
||||
- Fixed bug #34982 (array_walk_recursive() modifies elements outside function
|
||||
scope). (Dmitry)
|
||||
- Fixed bug #34977 (Compile failure on MacOSX due to use of varargs.h). (Tony)
|
||||
- Fixed bug #34968 (bz2 extension fails on to build on some win32 setups).
|
||||
(Ilia)
|
||||
- Fixed bug #34965 (tidy is not binary safe). (Mike)
|
||||
- Fixed bug #34957 (PHP doesn't respect ACLs for access checks). (Wez)
|
||||
- Fixed bug #34950 (Unable to get WSDL through proxy). (Dmitry)
|
||||
- Fixed bug #34938 (dns_get_record() doesn't resolve long hostnames and
|
||||
leaks). (Tony)
|
||||
- Fixed bug #34905 (Digest authentication does not work with Apache 1). (Ilia)
|
||||
- Fixed bug #34902 (mysqli::character_set_name() - undefined method). (Tony)
|
||||
- Fixed bug #34899 (Fixed sqlite extension compile failure). (Ilia)
|
||||
- Fixed bug #34893 (PHP5.1 overloading, Cannot access private property).
|
||||
(Dmitry)
|
||||
- Fixed bug #34884 (Possible crash in ext/sqlite when sqlite.assoc_case is
|
||||
being used). (Tony, Ilia)
|
||||
- Fixed bug #34879 (str_replace, array_map corrupt negative array indexes on
|
||||
64-bit platforms). (Dmitry)
|
||||
- Fixed bug #34873 (Segmentation Fault on foreach in object). (Dmitry)
|
||||
- Fixed bug #34856 (configure fails to detect libiconv's type). (Tony)
|
||||
- Fixed bug #34855 (ibase_service_attach() segfault on AMD64).
|
||||
(irie at gmx dot de, Tony)
|
||||
- Fixed bug #34851 (SO_RECVTIMEO and SO_SNDTIMEO socket options expect
|
||||
integer parameter on Windows). (Mike)
|
||||
- Fixed bug #34850 (--program-suffix and --program-prefix not included in
|
||||
man page names). (Jani)
|
||||
- Fixed bug #34821 (zlib encoders fail on widely varying binary data on
|
||||
windows). (Mike, Ilia)
|
||||
- Fixed bug #34818 (several functions crash when invalid mysqli_link object
|
||||
is passed). (Tony)
|
||||
- Fixed bug #34810 (mysqli::init() and others use wrong $this pointer without
|
||||
checks). (Tony)
|
||||
- Fixed bug #34809 (FETCH_INTO in PDO crashes without a destination object).
|
||||
(Ilia)
|
||||
- Fixed bug #34802 (Fixed crash on object instantiation failure). (Ilia)
|
||||
- Fixed bug #34796 (missing SSL linking in ext/ftp when configured as shared).
|
||||
(Jani)
|
||||
- Fixed bug #34790 (preg_match_all(), named capturing groups, variable
|
||||
assignment/return => crash). (Dmitry)
|
||||
- Fixed bug #34788 (SOAP Client not applying correct namespace to generated
|
||||
values). (Dmitry)
|
||||
- Fixed bug #34787 (SOAP Client not handling boolean types correctly). (Dmitry)
|
||||
- Fixed bug #34786 (2 @ results in change to error_reporting() to random
|
||||
value) (Dmitry, Tony)
|
||||
- Fixed bug #34785 (subclassing of mysqli_stmt does not work). (Georg)
|
||||
- Fixed bug #34782 (token_get_all() gives wrong result). (Dmitry)
|
||||
- Fixed bug #34777 (Crash in dblib when fetching non-existent error info).
|
||||
(Ilia)
|
||||
- Fixed bug #34771 (strtotime() fails with 1-12am/pm). (Derick)
|
||||
- Fixed bug #34767 (Zend Engine 1 Compatibility not copying objects
|
||||
correctly). (Dmitry)
|
||||
- Fixed bug #34758 (PDO_DBLIB did not implement rowCount()). (Ilia)
|
||||
- Fixed bug #34757 (iconv_substr() gives "Unknown error" when offset > string
|
||||
length). (Tony)
|
||||
- Fixed bug #34742 (ftp wrapper failures caused from segmented command
|
||||
transfer). (Ilia)
|
||||
- Fixed bug #34725 (CLI segmentation faults during cleanup). (Dmitry)
|
||||
- Fixed bug #34723 (array_count_values() strips leading zeroes). (Tony)
|
||||
- Fixed bug #34712 (zend.ze1_compatibility_mode = on segfault). (Dmitry)
|
||||
- Fixed bug #34704 (Infinite recursion due to corrupt JPEG). (Marcus)
|
||||
- Fixed bug #34678 (__call(), is_callable() and static methods). (Dmitry)
|
||||
- Fixed bug #34676 (missing support for strtotime("midnight") and
|
||||
strtotime("noon")). (Derick)
|
||||
- Fixed bug #34645 (ctype corrupts memory when validating large numbers).
|
||||
(Ilia)
|
||||
- Fixed bug #34643 (wsdl default value has no effect). (Dmitry)
|
||||
- Fixed bug #34623 (Crash in pdo_mysql on longtext fields). (Ilia)
|
||||
- Fixed bug #34617 (zend_deactivate: objects_store used after
|
||||
zend_objects_store_destroy is called). (Dmitry)
|
||||
- Fixed bug #34590 (User defined PDOStatement class can't implement
|
||||
methods). (Marcus)
|
||||
- Fixed bug #34584 (Segfault with SPL autoload handler). (Marcus)
|
||||
- Fixed bug #34581 (crash with mod_rewrite). (Tony, Ilia)
|
||||
- Fixed bug #34565 (mb_send_mail does not fetch
|
||||
mail.force_extra_parameters). (Marco, Ilia)
|
||||
- Fixed bug #34557 (php -m exits with "error" 1). (Johannes)
|
||||
- Fixed bug #34518 (Unset doesn't separate container in CV). (Dmitry)
|
||||
- Fixed bug #34505 (Possible memory corruption when unmangling properties
|
||||
with empty names). (Tony)
|
||||
- Fixed bug #34478 (Incorrect parsing of url's fragment (#...)). (Dmitry)
|
||||
- Fixed bug #34467 (foreach + __get + __set inconsistency). (Dmitry)
|
||||
- Fixed bug #34456 (Possible crash inside pspell extension). (Ilia)
|
||||
- Fixed bug #34453 (parsing http://www.w3.org/2001/xml.xsd exception). (Dmitry)
|
||||
- Fixed bug #34450 (Segfault when calling mysqli_close() in destructor). (Tony)
|
||||
- Fixed bug #34449 (ext/soap: XSD_ANYXML functionality not exposed). (Dmitry)
|
||||
- Fixed bug #34420 (Possible crash inside curl_multi_remove_handle()). (Ilia)
|
||||
- Fixed bug #34358 (Fatal error: Cannot re-assign $this). (Dmitry)
|
||||
- Fixed bug #34331 (php crashes when variables_order is empty). (Ilia)
|
||||
- Fixed bug #34321 (Possible crash in filter code). (Ilia)
|
||||
- Fixed bug #34311 (unserialize() crashes with chars above 191 dec). (Nuno)
|
||||
- Fixed bug #34310 (foreach($arr as $c->d => $x) crashes). (Dmitry)
|
||||
- Fixed bug #34307 (on_modify handler not called to set the default value if
|
||||
setting from php.ini was invalid). (Andrei)
|
||||
- Fixed bug #34306 (wddx_serialize_value() crashes with long array keys).
|
||||
(Jani)
|
||||
- Fixed bug #34304 (date() doesn't have a modifier for ISO Week Day). (Derick)
|
||||
- Fixed bug #34302 (date('W') do not return leading zeros for week 1 to 9).
|
||||
(Derick)
|
||||
- Fixed bug #34299 (ReflectionClass::isInstantiable() returns true for abstract
|
||||
classes). (Marcus)
|
||||
- Fixed bug #34284 (CLI phpinfo showing html on _SERVER["argv"]). (Jani)
|
||||
- Fixed bug #34277 (array_filter() crashes with references and objects).
|
||||
(Dmitry)
|
||||
- Fixed bug #34276 (setAttributeNS doesn't work with default namespace).
|
||||
(Rob)
|
||||
- Fixed bug #34260 (Segfault with callbacks (array_map) + overloading).
|
||||
(Dmitry)
|
||||
- Fixed bug #34257 (lib64 not handled correctly in ming extension). (Marcus)
|
||||
- Fixed bug #34221 (Compiling xmlrpc as shared fails other parts). (Jani)
|
||||
- Fixed bug #34216 (Segfault with autoload). (Marcus)
|
||||
- Fixed bug #34199 (if($obj)/if(!$obj) inconsistency because of cast handler).
|
||||
(Dmitry, Alex)
|
||||
- Fixed bug #34191 (ob_gzhandler does not enforce trailing \0). (Ilia)
|
||||
- Fixed bug #34156 (memory usage remains elevated after memory limit is
|
||||
reached). (Ilia)
|
||||
- Fixed bug #34148 (+,- and . not supported as parts of scheme). (Ilia)
|
||||
- Fixed bug #34137 (assigning array element by reference causes binary mess).
|
||||
(Dmitry)
|
||||
- Fixed bug #34103 (line numbering not maintained in dom document). (Rob)
|
||||
- Fixed bug #34078 (Reflection API problems in methods with boolean or
|
||||
null default values). (Tony)
|
||||
- Fixed bug #34068 (Numeric string as array key not cast to integer in
|
||||
wddx_deserialize()). (Ilia)
|
||||
- Fixed bug #34064 (arr[] as param to function in class gives invalid
|
||||
opcode). (Dmitry)
|
||||
- Fixed bug #34062 (Crash in catch block when many arguments are used).
|
||||
(Dmitry)
|
||||
- Fixed bug #34052 (date('U') returns %ld not unix timestamp). (Nuno)
|
||||
- Fixed bug #34045 (Buffer overflow with serialized object). (Dmitry)
|
||||
- Fixed bug #34001 (pdo_mysql truncates numeric fields at 4 chars). (Ilia)
|
||||
- Fixed bug #33999 (object remains object when cast to int). (Dmitry)
|
||||
- Fixed bug #33996 (No information given for fatal error on passing invalid
|
||||
value to typed argument). (Dmitry)
|
||||
- Fixed bug #33989 (extract($GLOBALS,EXTR_REFS) crashes PHP). (Dmitry)
|
||||
- Fixed bug #33987 (php script as ErrorDocument causes crash in Apache 2).
|
||||
(Ilia)
|
||||
- Fixed bug #33967 (misuse of Exception constructor doesn't display
|
||||
errorfile). (Jani)
|
||||
- Fixed bug #33966 (Wrong use of reflectionproperty causes a segfault). (Tony)
|
||||
- Fixed bug #33963 (mssql_bind() fails on input parameters). (Frank)
|
||||
- Fixed bug #33958 (duplicate cookies and magic_quotes=off may cause a crash).
|
||||
(Ilia)
|
||||
- Fixed bug #33957 (gmdate('W')/date('W') sometimes returns wrong week number).
|
||||
(Derick)
|
||||
- Fixed bug #33940 (array_map() fails to pass by reference when called
|
||||
recursively). (Dmitry)
|
||||
- Fixed bug #33917 (number_format() output with > 1 char separators). (Jani)
|
||||
- Fixed bug #33904 (input array keys being escaped when magic quotes is off).
|
||||
(Ilia)
|
||||
- Fixed bug #33903 (spl_autoload_register class method). (Marcus)
|
||||
- Fixed bug #33899 (CLI: setting extension_dir=some/path extension=foobar.so
|
||||
does not work). (Jani)
|
||||
- Fixed bug #33882 (CLI was looking for php.ini in wrong path). (Hartmut)
|
||||
- Fixed bug #33869 (strtotime() problem with "+1days" format). (Ilia)
|
||||
- Fixed bug #33841 (pdo sqlite driver forgets to update affected column
|
||||
count on execution of prepared statments). (Ilia)
|
||||
- Fixed bug #33837 (Informix ESQL version numbering schema changed). (Jani)
|
||||
- Fixed bug #33829 (mime_content_type() returns text/plain for gzip and bzip
|
||||
files). (Derick)
|
||||
- Fixed bug #33802 (throw Exception in error handler causes crash). (Dmitry)
|
||||
- Fixed bug #33771 (error_reporting falls to 0 when @ was used inside
|
||||
try/catch block). (Tony)
|
||||
- Fixed bug #33760 (cURL needs to implement CRYPTO_callback functions to
|
||||
prevent locking). (Mike, Ilia)
|
||||
- Fixed bug #33732 (Wrong behavior of constants in class and interface
|
||||
extending). (Dmitry)
|
||||
- Fixed bug #33723 (php_value overrides php_admin_value). (Dmitry)
|
||||
- Fixed bug #33720 (mb_encode_mimeheader does not work for multibyte
|
||||
chars). (Rui)
|
||||
- Fixed bug #33710 (ArrayAccess objects does not initialize $this). (Dmitry)
|
||||
- Fixed bug #33690 (Crash setting some ini directives in httpd.conf). (Rasmus)
|
||||
- Fixed bug #33673 (Added detection for partially uploaded files). (Ilia)
|
||||
- Fixed bug #33605 (substr_compare() crashes with negative offset and length).
|
||||
(Tony)
|
||||
- Fixed bug #33597 (setcookie() "expires" date format doesn't comply with RFC).
|
||||
(Tony)
|
||||
- Fixed bug #33588 (LDAP: RootDSE query not possible). (Jani)
|
||||
- Fixed bug #33578 (strtotime() problem with "Oct17" format). (Derick)
|
||||
- Fixed bug #33578 (strtotime() doesn't understand "11 Oct" format). (Derick)
|
||||
- Fixed bug #33562 (date("") crashes). (Derick)
|
||||
- Fixed bug #33558 (warning with nested calls to functions returning by
|
||||
reference). (Dmitry)
|
||||
- Fixed bug #33536 (strtotime() defaults to now even on non time string).
|
||||
(Derick)
|
||||
- Fixed bug #33532 (Different output for strftime() and date()). (Derick)
|
||||
- Fixed bug #33523 (Memory leak in xmlrpc_encode_request()). (Ilia)
|
||||
- Fixed bug #33520 (crash if safe_mode is on and session.save_path is changed).
|
||||
(Dmitry)
|
||||
- Fixed bug #33512 (Add missing support for isset()/unset() overloading to
|
||||
complement the property get/set methods). (Dmitry)
|
||||
- Fixed bug #33491 (crash after extending MySQLi internal class). (Tony)
|
||||
- Fixed bug #33475 (cURL handle is not closed on curl_close(). (Ilia)
|
||||
- Fixed bug #33469 (Compile error undefined reference to ifx_checkAPI). (Jani)
|
||||
- Fixed bug #33433 (strtoll not available on Tru64). (Jani, Derick)
|
||||
- Fixed bug #33427 (ext/odbc: check if unixODBC header file exists). (Jani)
|
||||
- Fixed bug #33415 (strtotime() related bugs). (Derick)
|
||||
- Fixed bug #33414 (Comprehensive list of incorrect days returned after
|
||||
strtotime() / date() tests). (Derick)
|
||||
- Fixed bug #33389 (double free() when exporting a ReflectionClass). (Marcus)
|
||||
- Fixed bug #33383 (crash when retrieving empty LOBs). (Tony)
|
||||
- Fixed bug #33382 (array_reverse() fails after *sort()), introduced by
|
||||
zend_hash_sort() optimizations in HEAD. (Tony)
|
||||
- Fixed bug #33340 (CLI Crash when calling php:function from XSLT). (Rob)
|
||||
- Fixed bug #33326 (Cannot build extensions with phpize on Macosx). (Jani)
|
||||
- Fixed bug #33318 (throw 1; results in Invalid opcode 108/1/8). (Dmitry)
|
||||
- Fixed bug #33312 (ReflectionParameter methods do not work correctly).
|
||||
(Dmitry)
|
||||
- Fixed bug #33299 (php:function no longer handles returned dom objects).
|
||||
(Rob, Joe Orton)
|
||||
- Fixed bug #33286 (nested array_walk() calls and user array compare functions
|
||||
broken; FCI cache). (Andrei, patch from m.bretz@metropolis-ag.de)
|
||||
- Fixed bug #33277 (private method accessed by child class). (Dmitry)
|
||||
- Fixed bug #33268 (iconv_strlen() works only with a parameter of < 3 in
|
||||
length). (Ilia)
|
||||
- Fixed bug #33257 (array_splice() inconsistent when passed function instead of
|
||||
variable). (Dmitry)
|
||||
- Fixed bug #33243 (ze1_compatibility_mode does not work as expected). (Dmitry)
|
||||
- Fixed bug #33242 (Mangled error message when stream fails). (Derick)
|
||||
- Fixed bug #33222 (segfault when CURL handle is closed in a callback). (Tony)
|
||||
- Fixed bug #33214 (odbc_next_result does not signal SQL errors with
|
||||
2-statement SQL batches). (rich at kastle dot com, Tony)
|
||||
- Fixed bug #33212 ([GCC 4]: 'zend_error_noreturn' aliased to external symbol
|
||||
'zend_error'). (Dmitry)
|
||||
- Fixed bug #33210 (relax jpeg recursive loop protection). (Ilia)
|
||||
- Fixed bug #33201 (Crash when fetching some data types). (Frank)
|
||||
- Fixed bug #33200 (preg_replace(): magic_quotes_sybase=On makes 'e' modifier
|
||||
misbehave). (Jani)
|
||||
- Fixed bug #33185 (--enable-session=shared does not build). (Jani)
|
||||
- Fixed bug #33171 (foreach enumerates private fields declared in base
|
||||
classes). (Dmitry)
|
||||
- Fixed bug #33167 (Possible crash inside pg_fetch_array()). (Ilia)
|
||||
- Fixed bug #33164 (Soap extension incorrectly detects HTTP/1.1). (Ilia)
|
||||
- Fixed bug #33156 (cygwin version of setitimer doesn't accept ITIMER_PROF).
|
||||
(Nuno)
|
||||
- Fixed bug #33153 (crash in mssql_next result). (Frank)
|
||||
- Fixed bug #33150 (shtool: insecure temporary file creation). (Jani)
|
||||
- Fixed bug #33136 (method offsetSet in class extended from ArrayObject crash
|
||||
PHP). (Marcus)
|
||||
- Fixed bug #33125 (imagecopymergegray() produces mosaic rainbow effect).
|
||||
(Pierre)
|
||||
- Fixed bug #33116 (crash when assigning class name to global variable in
|
||||
__autoload). (Dmitry)
|
||||
- Fixed bug #33090 (mysqli_prepare() doesn't return an error). (Georg)
|
||||
- Fixed bug #33076 (str_ireplace() incorrectly counts result string length
|
||||
and may cause segfault). (Tony)
|
||||
- Fixed bug #33072 (Add a safemode/open_basedir check for runtime
|
||||
"session.save_path" change using session_save_path() function). (Rasmus)
|
||||
- Fixed bug #33070 (Improved performance of bzdecompress() by several orders
|
||||
of magnitude). (Ilia)
|
||||
- Fixed bug #33059 (crash when moving xml attribute set in dtd). (Ilia)
|
||||
- Fixed bug #33057 (Don't send extraneous entity-headers on a 304 as per
|
||||
RFC 2616 section 10.3.5) (Rasmus, Choitel)
|
||||
- Fixed bug #33019 (socket errors cause memory leaks in php_strerror()).
|
||||
(jwozniak23 at poczta dot onet dot pl, Tony).
|
||||
- Fixed bug #33017 ("make distclean" gives an error with VPATH build). (Jani)
|
||||
- Fixed bug #33013 ("next month" was handled wrong while parsing dates).
|
||||
(Derick)
|
||||
- Fixed bug #32993 (implemented Iterator function current() don't throw
|
||||
exception). (Dmitry)
|
||||
- Fixed bug #32924 (file included with "auto_prepend_file" can be included
|
||||
- Fixed bug #32981 (ReflectionMethod::getStaticVariables() causes apache2.0.54
|
||||
seg fault). (Dmitry)
|
||||
- Fixed bug #32956 (mysql_bind_result() doesn't support MYSQL_TYPE_NULL).
|
||||
(Georg)
|
||||
- Fixed bug #32947 (Incorrect option for mysqli default password). (Georg)
|
||||
- Fixed bug #32944 (Disabling session.use_cookies doesn't prevent reading
|
||||
session cookies). (Jani, Tony)
|
||||
- Fixed bug #32941 (Sending structured SOAP fault kills a php). (Dmitry)
|
||||
- Fixed bug #32937 (open_basedir looses trailing / in the limiter).
|
||||
(Adam Conrad)
|
||||
- Fixed bug #32936 (http redirects URLs are not checked for control chars).
|
||||
(Ilia)
|
||||
- Fixed bug #32933 (Cannot extend class "SQLiteDatabase"). (Marcus)
|
||||
- Fixed bug #32932 (Oracle LDAP: ldap_get_entries(), invalid pointer). (Jani)
|
||||
- Fixed bug #32930 (class extending DOMDocument doesn't clone properly). (Rob)
|
||||
- Fixed bug #32924 (file included with "auto_prepend_file" can be included
|
||||
with require_once() or include_once()). (Stas)
|
||||
- Fixed bug #32904 (pg_get_notify() ignores result_type parameter). (Tony)
|
||||
- Fixed bug #32852 (Crash with singleton and __destruct when
|
||||
zend.ze1_compatibility_mode = On). (Dmitry)
|
||||
- Fixed bug #32833 (Invalid opcode). (Dmitry)
|
||||
- Fixed bug #32813 (parse_url() does not handle scheme-only urls properly).
|
||||
(Ilia)
|
||||
- Fixed bug #32810 (temporary files not using plain file wrapper). (Ilia)
|
||||
- Fixed bug #32809 (Missing T1LIB support on Windows). (Edin)
|
||||
- Fixed bug #32802 (General cookie overrides more specific cookie). (Ilia)
|
||||
- Fixed bugs #32800, #32830 (ext/odbc: Problems with 64bit systems). (Jani)
|
||||
- Fixed bug #32799 (crash: calling the corresponding global var during the
|
||||
destruct). (Dmitry)
|
||||
- Fixed bug #32776 (SOAP doesn't support one-way operations). (Dmitry)
|
||||
- Fixed bug #32773 (GMP functions break when second parameter is 0). (Stas)
|
||||
- Fixed bug #32759 (incorrect determination of default value (COM)). (Wez)
|
||||
- Fixed bug #32758 (Cannot access safearray properties in VB6 objects). (Wez)
|
||||
- Fixed bug #32755 (Segfault in replaceChild() when DocumentFragment has no
|
||||
children). (Rob)
|
||||
- Fixed bug #32753 (Undefined constant SQLITE_NOTADB). (Ilia)
|
||||
- Fixed bug #32742 (segmentation fault when the stream with a wrapper
|
||||
is not closed). (Tony, Dmitry)
|
||||
- Fixed bug #32699 (pg_affected_rows() was defined when it was not available).
|
||||
(Derick)
|
||||
- Fixed bug #32686 (Require/include file in destructor causes segfault).
|
||||
(Marcus)
|
||||
- Fixed bug #32682 (ext/mssql: Error on module shutdown when called from
|
||||
activescript). (Frank)
|
||||
- Fixed bug #32674 (exception in iterator causes crash). (Dmitry)
|
||||
- Fixed bug #32660 (Assignment by reference causes crash when field access is
|
||||
overloaded (__get)). (Dmitry)
|
||||
- Fixed bug #32647 (Using register_shutdown_function() with invalid callback
|
||||
can crash PHP). (Jani)
|
||||
- Fixed bug #32615 (Segfault in replaceChild() using fragment when
|
||||
previousSibling is NULL). (Rob)
|
||||
- Fixed bug #32613 (ext/snmp: use of snmp_shutdown() causes snmpapp.conf
|
||||
access errors). (Jani, ric at arizona dot edu)
|
||||
- Fixed bug #32608 (html_entity_decode() converts single quotes even if
|
||||
ENT_NOQUOTES is given). (Ilia)
|
||||
- Fixed bug #32596 (Segfault/Memory Leak by getClass (etc) in __destruct).
|
||||
(Dmitry)
|
||||
- Fixed bug #32591 (ext/mysql: Unsatisfied symbol: ntohs with HP-UX). (Jani)
|
||||
- Fixed bug #32589 (possible crash inside imap_mail_compose() function).
|
||||
(Ilia)
|
||||
- Fixed bug #32589 (Possible crash inside imap_mail_compose, with charsets).
|
||||
(Ilia)
|
||||
- Fixed bug #32587 (Apache2: errors sent to error_log do not include
|
||||
timestamps). (Jani)
|
||||
- Fixed bug #32560 (configure looks for incorrect db2 library). (Tony)
|
||||
- Fixed bug #32553 (mmap loads only the 1st 2000000 bytes on Win32). (Ilia)
|
||||
- Fixed bug #32533 (proc_get_status() returns the incorrect process status).
|
||||
(Ilia)
|
||||
- Fixed bug #32530 (chunk_split() does not append endstr if chunklen is
|
||||
longer then the original string). (Ilia)
|
||||
- Fixed bug #32491 (File upload error - unable to create a temporary file).
|
||||
(Uwe Schindler)
|
||||
- Fixed bug #32429 (method_exists() always return TRUE if __call method
|
||||
- Fixed bug #32455 (wrong setting property to unset value). (Dmitry)
|
||||
- Fixed bug #32429 (method_exists() always return TRUE if __call method
|
||||
exists). (Dmitry)
|
||||
- Fixed bug #32428 (The @ warning error supression operator is broken).
|
||||
- Fixed bug #32428 (The @ warning error suppression operator is broken).
|
||||
(Dmitry)
|
||||
- Fixed bug #32427 (Interfaces are not allowed 'static' access modifier).
|
||||
(Dmitry)
|
||||
- Fixed bug #32109 ($_POST is not populated in multithreaded environment).
|
||||
- Fixed bug #32405 (mysqli::fetch() returns bad data - 64bit problem).
|
||||
(Andrey)
|
||||
- Fixed bug #32296 (get_class_methods() output has changed between 5.0.2 and
|
||||
5.0.3). (Dmitry)
|
||||
- Fixed bug #32282 (Segfault in mysqli_fetch_array on 64-bit). (Georg)
|
||||
- Fixed bug #32245 (xml_parser_free() in a function assigned to the xml
|
||||
parser gives a segfault). (Rob)
|
||||
- Fixed bug #32179 (xmlrpc_encode() segfaults with recursive references).
|
||||
(Tony)
|
||||
- Fixed bug #32171 (Userspace stream wrapper crashes PHP). (Tony, Dmitry)
|
||||
- Fixed bug #32160 (copying a file into itself leads to data loss). (Ilia)
|
||||
- Fixed bug #32139 (SOAP client does not auto-handle base64 encoding). (Ilia)
|
||||
- Fixed bug #32109 ($_POST is not populated in multi-threaded environment).
|
||||
(Moriyoshi)
|
||||
- Fixed bug #32080 (segfault when assigning object to itself with
|
||||
zend.ze1_compatibility_mode=On). (Dmitry)
|
||||
- Fixed bug #32021 (Crash caused by range('', 'z')). (Derick)
|
||||
- Fixed bug #32013 (ext/mysqli bind_result causes fatal error: memory limit).
|
||||
(Andrey)
|
||||
- Fixed bug #32010 (Memory leak in mssql_fetch_batch). (fmk)
|
||||
- Fixed bug #32009 (crash when mssql_bind() is called more than once). (Frank)
|
||||
- Fixed bug #31971 (ftp_login fails on some SSL servers).
|
||||
(frantisek at augusztin dot com)
|
||||
- Fixed bug #31887 (ISAPI: Custom 5xx error does not return correct HTTP
|
||||
response message). (Jani)
|
||||
- Fixed bug #31828 (Crash with zend.ze1_compatibility_mode=On). (Dmitry)
|
||||
- Fixed bug #31668 (multi_query works exactly every other time - multi query
|
||||
d/e flag global and not per connection). (Andrey)
|
||||
- Fixed bug #31636 (another crash when echoing a COM object). (Wez)
|
||||
- Fixed bug #31583 (php_std_date() uses short day names in non-y2k_compliance
|
||||
mode). (mike at php dot net)
|
||||
- Fixed bug #31525 (object reference being dropped. $this getting lost).
|
||||
(Stas, Dmitry)
|
||||
- Fixed bug #31502 (Wrong deserialization from session when using WDDX
|
||||
serializer). (Dmitry)
|
||||
- Fixed bug #31478 (segfault with empty() / isset()). (Moriyoshi)
|
||||
- Fixed bug #31465 (False warning in unpack() when working with *). (Ilia)
|
||||
- Fixed bug #31363 (broken non-blocking flock()). (ian at snork dot net)
|
||||
- Fixed bug #31358 (Older GCC versions do not provide portable va_copy()).
|
||||
(Jani)
|
||||
- Fixed bug #31341 (escape on curly inconsistent). (Dmitry)
|
||||
- Fixed bug #31256 (PHP_EVAL_LIBLINE configure macro does not handle
|
||||
-pthread). (Jani)
|
||||
- Fixed bug #31213 (Side effects caused by fix of bug #29493). (Dmitry)
|
||||
- Fixed bug #31177 (memory leaks and corruption because of incorrect
|
||||
refcounting). (Dmitry)
|
||||
- Fixed bug #31158 (array_splice on $GLOBALS crashes). (Dmitry)
|
||||
- Fixed bug #31054 (safe_mode & open_basedir checks only check first
|
||||
include_path value). (Ilia)
|
||||
- Fixed bug #31033 (php:function(string, nodeset) with xsl:key crashes PHP).
|
||||
(Rob)
|
||||
- Fixed bug #30578 (Output buffers flushed before calling __desctruct()
|
||||
- Fixed bug #30961 (Wrong line number in ReflectionClass getStartLine()).
|
||||
(Dmitry)
|
||||
- Fixed bug #30889 (Conflict between __get/__set and ++ operator). (Dmitry)
|
||||
- Fixed bug #30833 (array_count_values() modifying input array). (Tony)
|
||||
- Fixed bug #30828 (debug_backtrace() reports incorrect class in overridden
|
||||
methods). (Dmitry)
|
||||
- Fixed bug #30820 (static member conflict with $this->member silently
|
||||
ignored). (Dmitry)
|
||||
- Fixed bug #30819 (Better support for LDAP SASL bind). (Jani)
|
||||
- Fixed bug #30791 (magic methods (__sleep/__wakeup/__toString) call
|
||||
__call if object is overloaded). (Dmitry)
|
||||
- Fixed bug #30707 (Segmentation fault on exception in method).
|
||||
(Stas, Dmitry)
|
||||
- Fixed bug #30702 (cannot initialize class variable from class constant).
|
||||
(Dmitry)
|
||||
- Fixed bug #30578 (Output buffers flushed before calling __destruct()
|
||||
functions). (Jani)
|
||||
- Fixed bug #30407 (Strange behaviour of default arguments). (Dmitry)
|
||||
- Fixed bug #30519 (Interface not existing says Class not found). (Dmitry)
|
||||
- Fixed bug #30407 (Strange behavior of default arguments). (Dmitry)
|
||||
- Fixed bug #30394 (Assignment operators yield wrong result with __get/__set).
|
||||
(Dmitry)
|
||||
- Fixed bug #30332 (zend.ze1_compatibility_mode isn't fully compatible with
|
||||
array_push()). (Dmitry)
|
||||
- Fixed bug #30162 (Catching exception in constructor causes lose of
|
||||
$this). (Dmitry)
|
||||
- Fixed bug #30140 (Problem with array in static properties). (Dmitry)
|
||||
- Fixed bug #30126 (Enhancement for error message for abstract classes).
|
||||
(Marcus)
|
||||
- Fixed bug #30096 (gmmktime does not return the current time). (Derick)
|
||||
- Fixed bug #30080 (Passing array or non array of objects). (Dmitry)
|
||||
- Fixed bug #30052 (Crash on shutdown after odbc_pconnect()). (Edin)
|
||||
- Fixed bug #29983 (PHP does not explicitly set mime type & charset). (Ilia)
|
||||
- Fixed bug #29975 (memory leaks when set_error_handler() is used inside error
|
||||
handler). (Tony)
|
||||
- Fixed bug #29971 (variables_order behavior). (Dmitry)
|
||||
- Fixed bug #29944 (Function defined in switch, crashes). (Dmitry)
|
||||
- Fixed bug #29896 (Backtrace argument list out of sync). (Dmitry)
|
||||
- Fixed bug #29728 (Reflection API Feature: Default parameter value). (Marcus)
|
||||
- Fixed bug #29689 (default value of protected member overrides default value
|
||||
of private and other private variable problems in inherited classes). (Stas)
|
||||
- Fixed bug #29683 (headers_list() returns empty array). (Tony)
|
||||
- Fixed bug #29583 (crash when echoing a COM object). (M.Sisolak, Wez)
|
||||
- Fixed bug #29522 (accessing properties without connection). (Georg)
|
||||
- Fixed bug #29361 (var_export() producing invalid code). (Derick)
|
||||
- Fixed bug #29338 (unencoded spaces get ignored after certain tags). (Ilia)
|
||||
- Fixed bug #29335 (fetch functions now use MYSQLI_BOTH as default). (Georg)
|
||||
- Fixed bug #29334 (win32 mail() provides incorrect Date: header). (Jani)
|
||||
- Fixed bug #29311 (calling parent constructor in mysqli). (Georg)
|
||||
- Fixed bug #29256 (SOAP HTTP Error when envelop size is more than 24345
|
||||
bytes). (Dmitry, Wez)
|
||||
- Fixed bug #29268 (__autoload() not called with Reflection->getClass()).
|
||||
(Dmitry)
|
||||
- Fixed bug #29256 (SOAP HTTP Error when envelop size is more than 24345
|
||||
bytes). (Dmitry, Wez)
|
||||
- Fixed bug #29253 (array_diff with $GLOBALS argument fails). (Dmitry)
|
||||
- Fixed bug #29236 (memory error when wsdl-cache is enabled). (Dmitry)
|
||||
- Fixed bug #29210 (Function: is_callable - no support for private and
|
||||
protected classes). (Dmitry)
|
||||
- Fixed bug #29109 (SoapFault exception: [WSDL] Out of memory). (Dmitry)
|
||||
- Fixed bug #29104 (Function declaration in method doesn't work). (Dmitry)
|
||||
- Fixed bug #29061 (soap extension segfaults). (Dmitry)
|
||||
- Fixed bug #29015 (Incorrect behavior of member vars(non string ones)-numeric
|
||||
mem vars and others). (Dmitry)
|
||||
- Fixed bug #28985 (__getTypes() returning nothing on complex WSDL). (Dmitry)
|
||||
- Fixed bug #28969 (Wrong data encoding of special characters). (Dmitry)
|
||||
- Fixed bug #28839 (SIGSEGV in interactive mode (php -a)).
|
||||
(kameshj at fastmail dot fm)
|
||||
- Fixed bug #28605 (Need to use -[m]ieee option for Alpha CPUs). (Jani)
|
||||
- Fixed bug #28568 (SAPI::known_post_content_types is not thread safe).
|
||||
(Moriyoshi)
|
||||
- Fixed bug #29689 (default value of protected member overrides default value of private)
|
||||
and other private variable problems in inherited classes (Stas)
|
||||
- Abstract private methods are no longer allowed (Stas)
|
||||
- Fixed bug #28377 (debug_backtrace is intermittently passing args). (Dmitry)
|
||||
- Fixed bug #28355 (glob wont error if dir is not readable). (Hartmut)
|
||||
- Fixed bug #28072 (static array with some constant keys will be incorrectly
|
||||
ordered). (Dmitry)
|
||||
- Fixed bug #27908 (xml default_handlers not being called). (Rob)
|
||||
- Fixed bug #27598 (list() array key assignment causes HUGE memory leak).
|
||||
(Dmitry)
|
||||
- Fixed bug #27268 (Bad references accentuated by clone). (Dmitry)
|
||||
- Fixed bug #26456 (Wrong results from Reflection-API getDocComment() when
|
||||
called via STDIN). (Dmitry)
|
||||
- Fixed bug #25922 (In error handler, modifying 5th arg (errcontext) may
|
||||
result in seg fault). (Dmitry)
|
||||
- Fixed bug #25359 (array_multisort() doesn't work in a function if array is
|
||||
global or reference). (Dmitry)
|
||||
- Fixed bug #22836 (returning reference to uninitialized variable). (Dmitry)
|
||||
- Fixed bug #21306 (ext/sesssion: catch bailouts of write handler during
|
||||
RSHUTDOWN). (Jani, Xuefer at 21cn dot com)
|
||||
- Fixed bug #15854 (boolean ini options may be incorrectly displayed as Off
|
||||
when they are On). (Tony)
|
||||
- Fixed bugs #14561, #20382, #26090, #26320, #28024, #30532, #32086, #32270,
|
||||
#32555, #32588, #33056 (strtotime() related bugs). (Derick)
|
||||
|
||||
31 Mar 2005, PHP 5.0.4
|
||||
- Added SNMPv2 support. (harrie)
|
||||
|
||||
+3
-3
@@ -31,11 +31,11 @@ Having said that, here are the organizational rules:
|
||||
6. Test your changes before committing them. We mean it. Really.
|
||||
|
||||
Currently we have the following branches in use:
|
||||
HEAD Will become PHP 5.1. This CVS branch is for active development.
|
||||
PHP_5_0 Is used to release the PHP 5.0.x series. Only minor feature
|
||||
HEAD Will become PHP 6.0. This CVS branch is for active development.
|
||||
PHP_5_1 Is used to release the PHP 5.1.x series. Only minor feature
|
||||
enhancements may go in here, but please keep that as infrequent as
|
||||
possible.
|
||||
PHP_4_3 Is used to release the PHP 4.3.x series. Only bugfixes are permitted
|
||||
PHP_4_4 Is used to release the PHP 4.4.x series. Only bugfixes are permitted
|
||||
on this branch.
|
||||
|
||||
The next few rules are more of a technical nature.
|
||||
|
||||
+1
-1
@@ -34,7 +34,7 @@ ZEND_END_MODULE_GLOBALS(my_input_filter)
|
||||
|
||||
ZEND_DECLARE_MODULE_GLOBALS(my_input_filter)
|
||||
|
||||
function_entry my_input_filter_functions[] = {
|
||||
zend_function_entry my_input_filter_functions[] = {
|
||||
PHP_FE(my_get_raw, NULL)
|
||||
{NULL, NULL, NULL}
|
||||
};
|
||||
|
||||
@@ -64,14 +64,6 @@ documentation
|
||||
* Add developer documentation.
|
||||
* Add detailed documentation for Java extension.
|
||||
|
||||
ext/bz2
|
||||
-------
|
||||
* Add an ini directive to specify the size of decompression buffer.
|
||||
The default 4k is too small for large files and also requires much time
|
||||
for decompression. 40k is suitable for such files, however it may be too
|
||||
much under certain environments. There should be appropriate default
|
||||
settings for the various SAPI modules (e.g. apache and cli).
|
||||
|
||||
ext/curl
|
||||
--------
|
||||
* Have a warning scheme for when people use unsupported features.
|
||||
|
||||
@@ -2,9 +2,3 @@ Zend Engine
|
||||
-----------
|
||||
- Look at making zend_constant value member be a zval* instead of zval. (Andi)
|
||||
- Implement inheritance rules for type hints. (Marcus)
|
||||
- Implement typehinting for arrays (apply the patch). (Andi, Marcus)
|
||||
- Find a keyword for the if-set-or operator (apply the patch). (Marcus, all)
|
||||
|
||||
Standard Library
|
||||
----------------
|
||||
- Implement new time/date parsing and handling functions. (Derick)
|
||||
@@ -1,3 +0,0 @@
|
||||
- clean up .cvsignores
|
||||
- purge Makefile.ins and replace PHP_EXTENSION in config.m4s
|
||||
with appropiate calls to PHP_NEW_EXTENSION
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
Copyright (c) 1999, 2000, Andi Gutmans, Sascha Schumann, Zeev Suraski.
|
||||
Copyright (c) 1999-2006, Andi Gutmans, Sascha Schumann, Zeev Suraski.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
||||
+1
-20
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Thread Safe Resource Manager |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1999, 2000, Andi Gutmans, Sascha Schumann, Zeev Suraski|
|
||||
| Copyright (c) 1999-2006, Andi Gutmans, Sascha Schumann, Zeev Suraski |
|
||||
| This source file is subject to the TSRM license, that is bundled |
|
||||
| with this package in the file LICENSE |
|
||||
+----------------------------------------------------------------------+
|
||||
@@ -430,7 +430,6 @@ void *tsrm_new_interpreter_context(void)
|
||||
|
||||
current = tsrm_tls_get();
|
||||
|
||||
new_ctx = malloc(sizeof(*new_ctx));
|
||||
allocate_new_resource(&new_ctx, thread_id);
|
||||
|
||||
/* switch back to the context that was in use prior to our creation
|
||||
@@ -580,12 +579,6 @@ TSRM_API void tsrm_mutex_free(MUTEX_T mutexp)
|
||||
#ifdef TSRM_WIN32
|
||||
DeleteCriticalSection(mutexp);
|
||||
free(mutexp);
|
||||
#elif defined(NETWARE)
|
||||
#ifdef USE_MPK
|
||||
kMutexFree(mutexp);
|
||||
#else
|
||||
NXMutexFree(mutexp);
|
||||
#endif
|
||||
#elif defined(GNUPTH)
|
||||
free(mutexp);
|
||||
#elif defined(PTHREADS)
|
||||
@@ -615,12 +608,6 @@ TSRM_API int tsrm_mutex_lock(MUTEX_T mutexp)
|
||||
#ifdef TSRM_WIN32
|
||||
EnterCriticalSection(mutexp);
|
||||
return 1;
|
||||
#elif defined(NETWARE)
|
||||
#ifdef USE_MPK
|
||||
return kMutexLock(mutexp);
|
||||
#else
|
||||
return NXLock(mutexp);
|
||||
#endif
|
||||
#elif defined(GNUPTH)
|
||||
return pth_mutex_acquire(mutexp, 0, NULL);
|
||||
#elif defined(PTHREADS)
|
||||
@@ -646,12 +633,6 @@ TSRM_API int tsrm_mutex_unlock(MUTEX_T mutexp)
|
||||
#ifdef TSRM_WIN32
|
||||
LeaveCriticalSection(mutexp);
|
||||
return 1;
|
||||
#elif defined(NETWARE)
|
||||
#ifdef USE_MPK
|
||||
return kMutexUnlock(mutexp);
|
||||
#else
|
||||
return NXUnlock(mutexp);
|
||||
#endif
|
||||
#elif defined(GNUPTH)
|
||||
return pth_mutex_release(mutexp);
|
||||
#elif defined(PTHREADS)
|
||||
|
||||
+2
-2
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Thread Safe Resource Manager |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1999, 2000, Andi Gutmans, Sascha Schumann, Zeev Suraski|
|
||||
| Copyright (c) 1999-2006, Andi Gutmans, Sascha Schumann, Zeev Suraski |
|
||||
| This source file is subject to the TSRM license, that is bundled |
|
||||
| with this package in the file LICENSE |
|
||||
+----------------------------------------------------------------------+
|
||||
@@ -143,7 +143,7 @@ TSRM_API void tsrm_free_interpreter_context(void *context);
|
||||
|
||||
#define TSRMLS_FETCH() void ***tsrm_ls = (void ***) ts_resource_ex(0, NULL)
|
||||
#define TSRMLS_FETCH_FROM_CTX(ctx) void ***tsrm_ls = (void ***) ctx
|
||||
#define TSRMLS_SET_CTX(ctx) (void ***) ctx = tsrm_ls
|
||||
#define TSRMLS_SET_CTX(ctx) ctx = (void ***) tsrm_ls
|
||||
#define TSRMG(id, type, element) (((type) (*((void ***) tsrm_ls))[TSRM_UNSHUFFLE_RSRC_ID(id)])->element)
|
||||
#define TSRMLS_D void ***tsrm_ls
|
||||
#define TSRMLS_DC , TSRMLS_D
|
||||
|
||||
@@ -42,6 +42,8 @@ char *alloca ();
|
||||
#ifndef MAXPATHLEN
|
||||
# ifdef PATH_MAX
|
||||
# define MAXPATHLEN PATH_MAX
|
||||
# elif defined(MAX_PATH)
|
||||
# define MAXPATHLEN MAX_PATH
|
||||
# else
|
||||
# define MAXPATHLEN 256
|
||||
# endif
|
||||
|
||||
+3
-3
@@ -2,12 +2,12 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| PHP Version 5 |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1997-2004 The PHP Group |
|
||||
| Copyright (c) 1997-2006 The PHP Group |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 3.0 of the PHP license, |
|
||||
| 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 |
|
||||
| available through the world-wide-web at the following url: |
|
||||
| http://www.php.net/license/3_0.txt. |
|
||||
| http://www.php.net/license/3_01.txt |
|
||||
| If you did not receive a copy of the PHP license and are unable to |
|
||||
| obtain it through the world-wide-web, please send a note to |
|
||||
| license@php.net so we can mail you a copy immediately. |
|
||||
|
||||
+3
-3
@@ -2,12 +2,12 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| PHP Version 5 |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1997-2004 The PHP Group |
|
||||
| Copyright (c) 1997-2006 The PHP Group |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 3.0 of the PHP license, |
|
||||
| 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 |
|
||||
| available through the world-wide-web at the following url: |
|
||||
| http://www.php.net/license/3_0.txt. |
|
||||
| http://www.php.net/license/3_01.txt |
|
||||
| If you did not receive a copy of the PHP license and are unable to |
|
||||
| obtain it through the world-wide-web, please send a note to |
|
||||
| license@php.net so we can mail you a copy immediately. |
|
||||
|
||||
+28
-7
@@ -2,12 +2,12 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| PHP Version 5 |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1997-2004 The PHP Group |
|
||||
| Copyright (c) 1997-2006 The PHP Group |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 3.0 of the PHP license, |
|
||||
| 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 |
|
||||
| available through the world-wide-web at the following url: |
|
||||
| http://www.php.net/license/3_0.txt. |
|
||||
| http://www.php.net/license/3_01.txt |
|
||||
| If you did not receive a copy of the PHP license and are unable to |
|
||||
| obtain it through the world-wide-web, please send a note to |
|
||||
| license@php.net so we can mail you a copy immediately. |
|
||||
@@ -42,6 +42,10 @@
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef NETWARE
|
||||
#include <fsio.h>
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_REALPATH
|
||||
#define realpath(x,y) strcpy(y,x)
|
||||
#endif
|
||||
@@ -206,7 +210,20 @@ CWD_API void virtual_cwd_startup(void)
|
||||
char cwd[MAXPATHLEN];
|
||||
char *result;
|
||||
|
||||
#ifdef NETWARE
|
||||
result = getcwdpath(cwd, NULL, 1);
|
||||
if(result)
|
||||
{
|
||||
char *c=cwd;
|
||||
while(c = strchr(c, '\\'))
|
||||
{
|
||||
*c='/';
|
||||
++c;
|
||||
}
|
||||
}
|
||||
#else
|
||||
result = getcwd(cwd, sizeof(cwd));
|
||||
#endif
|
||||
if (!result) {
|
||||
cwd[0] = '\0';
|
||||
}
|
||||
@@ -461,13 +478,14 @@ CWD_API int virtual_file_ex(cwd_state *state, const char *path, verify_path_func
|
||||
#endif
|
||||
#if defined(TSRM_WIN32)
|
||||
{
|
||||
char *dummy = NULL;
|
||||
int new_path_length;
|
||||
|
||||
new_path_length = GetLongPathName(path, dummy, 0) + 1;
|
||||
new_path_length = GetLongPathName(path, NULL, 0);
|
||||
if (new_path_length == 0) {
|
||||
return 1;
|
||||
goto php_failed_getlongpath;
|
||||
}
|
||||
|
||||
/* GetLongPathName already counts the \0 */
|
||||
new_path = (char *) malloc(new_path_length);
|
||||
if (!new_path) {
|
||||
return 1;
|
||||
@@ -478,6 +496,7 @@ CWD_API int virtual_file_ex(cwd_state *state, const char *path, verify_path_func
|
||||
path_length = new_path_length;
|
||||
} else {
|
||||
free(new_path);
|
||||
php_failed_getlongpath:
|
||||
new_path = NULL;
|
||||
}
|
||||
}
|
||||
@@ -839,7 +858,9 @@ CWD_API int virtual_stat(const char *path, struct stat *buf TSRMLS_DC)
|
||||
int retval;
|
||||
|
||||
CWD_STATE_COPY(&new_state, &CWDG(cwd));
|
||||
virtual_file_ex(&new_state, path, NULL, 1);
|
||||
if (virtual_file_ex(&new_state, path, NULL, 1)) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
retval = stat(new_state.cwd, buf);
|
||||
|
||||
|
||||
@@ -2,12 +2,12 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| PHP Version 5 |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1997-2004 The PHP Group |
|
||||
| Copyright (c) 1997-2006 The PHP Group |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 3.0 of the PHP license, |
|
||||
| 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 |
|
||||
| available through the world-wide-web at the following url: |
|
||||
| http://www.php.net/license/3_0.txt. |
|
||||
| http://www.php.net/license/3_01.txt |
|
||||
| If you did not receive a copy of the PHP license and are unable to |
|
||||
| obtain it through the world-wide-web, please send a note to |
|
||||
| license@php.net so we can mail you a copy immediately. |
|
||||
@@ -70,12 +70,10 @@ typedef unsigned short mode_t;
|
||||
#include <dirent.h>
|
||||
#endif
|
||||
|
||||
#define DEFAULT_SLASH '\\'
|
||||
#define DEFAULT_SLASH '/'
|
||||
#define DEFAULT_DIR_SEPARATOR ';'
|
||||
#define IS_SLASH(c) ((c) == '/' || (c) == '\\')
|
||||
#define IS_SLASH_P(c) IS_SLASH(*(c))
|
||||
#define COPY_WHEN_ABSOLUTE(path) \
|
||||
(strchr(path, ':') - path + 1) /* Take the volume name which ends with a colon */
|
||||
/* Colon indicates volume name, either first character should be forward slash or backward slash */
|
||||
#define IS_ABSOLUTE_PATH(path, len) \
|
||||
((strchr(path, ':') != NULL) || ((len >= 1) && ((path[0] == '/') || (path[0] == '\\'))))
|
||||
|
||||
+3
-3
@@ -2,12 +2,12 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| PHP Version 5 |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1997-2004 The PHP Group |
|
||||
| Copyright (c) 1997-2006 The PHP Group |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 3.0 of the PHP license, |
|
||||
| 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 |
|
||||
| available through the world-wide-web at the following url: |
|
||||
| http://www.php.net/license/3_0.txt. |
|
||||
| http://www.php.net/license/3_01.txt |
|
||||
| If you did not receive a copy of the PHP license and are unable to |
|
||||
| obtain it through the world-wide-web, please send a note to |
|
||||
| license@php.net so we can mail you a copy immediately. |
|
||||
|
||||
+3
-3
@@ -2,12 +2,12 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| PHP Version 5 |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1997-2004 The PHP Group |
|
||||
| Copyright (c) 1997-2006 The PHP Group |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 3.0 of the PHP license, |
|
||||
| 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 |
|
||||
| available through the world-wide-web at the following url: |
|
||||
| http://www.php.net/license/3_0.txt. |
|
||||
| http://www.php.net/license/3_01.txt |
|
||||
| If you did not receive a copy of the PHP license and are unable to |
|
||||
| obtain it through the world-wide-web, please send a note to |
|
||||
| license@php.net so we can mail you a copy immediately. |
|
||||
|
||||
@@ -0,0 +1,548 @@
|
||||
$Id$
|
||||
|
||||
UPGRADE NOTES - PHP 5.1
|
||||
|
||||
1. Changes in reference handling
|
||||
a. Overview
|
||||
b. Code that worked under PHP 4.3, but now fails
|
||||
c. Code that was valid under PHP 4.3, but now throws an error
|
||||
d. Code that failed under PHP 4.3, but now works
|
||||
e. Code that 'should have worked' under PHP 5.0
|
||||
f. Warnings that came and went
|
||||
2. Reading []
|
||||
3. instanceof, is_a(), is_subclass_of(), catch
|
||||
4. Integer values in function parameters
|
||||
5. Abstract private methods
|
||||
6. Access modifiers in interfaces
|
||||
7. Changes in inheritance rules
|
||||
8. Class constants
|
||||
9. Extensions
|
||||
a. Extensions that are gone from the PHP core
|
||||
b. Class constants in new PHP 5.1 extensions
|
||||
10. Date/time support
|
||||
11. Changes in database support
|
||||
a. PDO overview
|
||||
b. Changes in MySQL support
|
||||
c. Changes in SQLite support
|
||||
12. Further migration information
|
||||
13. Checking for E_STRICT errors
|
||||
|
||||
===============================================================================
|
||||
|
||||
1. Changes in reference handling
|
||||
================================
|
||||
|
||||
1a. Overview
|
||||
============
|
||||
|
||||
>From the PHP script writer's point of view, the change most likely to impact
|
||||
legacy code is in the way that references are handled in all PHP versions
|
||||
post-dating the PHP 4.4.0 release.
|
||||
|
||||
Until and including PHP 4.3, it was possible to send, assign or return variables
|
||||
by reference that should really be returned by value, such as a constant, a
|
||||
temporary value (e.g. the result of an expression), or the result of a function
|
||||
that had itself been returned by value, as here:
|
||||
|
||||
<?php
|
||||
|
||||
$foo = "123";
|
||||
|
||||
function return_value() {
|
||||
global $foo;
|
||||
return $foo;
|
||||
}
|
||||
|
||||
$bar = &return_value();
|
||||
|
||||
?>
|
||||
|
||||
Although this code would usually work as expected under PHP 4.3, in the general
|
||||
case the result is undefined. The Zend Engine could not act correctly on these
|
||||
values as references. This bug could and did lead to various hard-to-reproduce
|
||||
memory corruption problems, particularly where the code base was large.
|
||||
|
||||
In PHP 4.4.0, PHP 5.0.4 and all subsequent PHP releases, the Engine was fixed
|
||||
to 'know' when the reference operation is being used on a value that should
|
||||
not be referenced. The actual value is now used in such cases, and a warning
|
||||
is emitted. The warning takes the form of an E_NOTICE in PHP 4.4.0 and up,
|
||||
and E_STRICT in PHP 5.0.4 and up.
|
||||
|
||||
Code that could potentially produce memory corruption can no longer do so.
|
||||
However, some legacy code might work differently as a result.
|
||||
|
||||
1b. Code that worked under PHP 4.3, but now fails
|
||||
=================================================
|
||||
|
||||
<?php
|
||||
|
||||
function func(&$arraykey) {
|
||||
return $arraykey; // function returns by value!
|
||||
}
|
||||
|
||||
$array = array('a', 'b', 'c');
|
||||
foreach (array_keys($array) as $key) {
|
||||
$y = &func($array[$key]);
|
||||
$z[] =& $y;
|
||||
}
|
||||
|
||||
var_dump($z);
|
||||
|
||||
?>
|
||||
Running the above script under any version of PHP that pre-dates the reference
|
||||
fix would produce this output:
|
||||
|
||||
array(3) {
|
||||
[0]=>
|
||||
&string(1) "a"
|
||||
[1]=>
|
||||
&string(1) "b"
|
||||
[2]=>
|
||||
&string(1) "c"
|
||||
}
|
||||
|
||||
Following the reference fix, the same code would result in:
|
||||
|
||||
array(3) {
|
||||
[0]=>
|
||||
&string(1) "c"
|
||||
[1]=>
|
||||
&string(1) "c"
|
||||
[2]=>
|
||||
&string(1) "c"
|
||||
}
|
||||
|
||||
This is because, following the changes, func() assigns by value. The value
|
||||
of $y is re-assigned, and reference-binding is preserved from $z. Prior
|
||||
to the fix, the value was assigned by reference, leading $y to be
|
||||
re-bound on each assignment. The attempt to bind to a temporary value
|
||||
by reference was the cause of the memory corruption.
|
||||
|
||||
Such code can be made to work identically in both the pre-fix and the
|
||||
post-fix PHP versions. The signature of func() can be altered to return
|
||||
by reference, or the reference assignment can be removed from the result
|
||||
of func().
|
||||
|
||||
<?php
|
||||
|
||||
function func() {
|
||||
return 'function return';
|
||||
}
|
||||
|
||||
$x = 'original value';
|
||||
$y =& $x;
|
||||
$y = &func();
|
||||
echo $x;
|
||||
|
||||
?>
|
||||
|
||||
In PHP 4.3 $x would be 'original value', whereas after the changes it would
|
||||
be 'function return' - remember that where the function does not return by
|
||||
reference, the reference assignment is converted to a regular assignment.
|
||||
Again, this can be brought to a common base, either by forcing func() to
|
||||
return by reference or by eliminating the by-reference assignment.
|
||||
|
||||
1c. Code that was valid under PHP 4.3, but now throws an error
|
||||
==============================================================
|
||||
|
||||
<?php
|
||||
|
||||
class Foo {
|
||||
|
||||
function getThis() {
|
||||
return $this;
|
||||
}
|
||||
|
||||
function destroyThis() {
|
||||
$baz =& $this->getThis();
|
||||
}
|
||||
}
|
||||
|
||||
$bar = new Foo();
|
||||
$bar->destroyThis();
|
||||
var_dump($bar);
|
||||
|
||||
?>
|
||||
|
||||
In PHP 5.0.3, $bar evaluated to NULL instead of returning an object.
|
||||
That happened because getThis() returns by value, but the value here
|
||||
is assigned by reference. Although it now works in the expected way,
|
||||
this is actually invalid code which will throw an E_NOTICE under
|
||||
PHP 4.4 or an E_STRICT under PHP 5.0.4 and up.
|
||||
|
||||
1d. Code that failed under PHP 4.3, but now works
|
||||
=================================================
|
||||
|
||||
<?php
|
||||
|
||||
function &f() {
|
||||
$x = "foo";
|
||||
var_dump($x);
|
||||
print "$x\n";
|
||||
return($a);
|
||||
}
|
||||
|
||||
for ($i = 0; $i < 3; $i++) {
|
||||
$h = &f();
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
In PHP 4.3 the third call to var_dump produces NULL, due to the memory
|
||||
corruption caused by returning an uninitialized value by reference.
|
||||
This is valid code in PHP 5.0.4 and up, but threw errors in earlier
|
||||
releases of PHP.
|
||||
|
||||
<?php
|
||||
|
||||
$arr = array('a1' => array('alfa' => 'ok'));
|
||||
$arr =& $arr['a1'];
|
||||
echo '-'.$arr['alfa']."-\n";
|
||||
|
||||
?>
|
||||
|
||||
Until PHP 5.0.5, it wasn't possible to assign an array element by
|
||||
reference in this way. It now is.
|
||||
|
||||
1e. Code that 'should have worked' under PHP 5.0
|
||||
================================================
|
||||
|
||||
There are a couple of instances of bugs reported under PHP 5.0 prior
|
||||
to the reference fixes which now 'work'. However, in both cases errors
|
||||
are thrown by PHP 5.1, because the code was invalid in the first place.
|
||||
Returning values by reference using self:: now works in the general
|
||||
case but throws an E_STRICT warning, and although your mileage may
|
||||
vary when assigning by reference to an overloaded object, you will
|
||||
still see an E_ERROR when you try it, even where the assignment
|
||||
itself appears to work.
|
||||
|
||||
1f. Warnings that came and went
|
||||
===============================
|
||||
|
||||
<?php
|
||||
|
||||
function & foo() {
|
||||
$var = 'ok';
|
||||
return $var;
|
||||
}
|
||||
|
||||
function & bar() {
|
||||
return foo();
|
||||
}
|
||||
|
||||
$a =& bar();
|
||||
echo "$a\n";
|
||||
|
||||
?>
|
||||
|
||||
Nested calls to functions returning by reference are valid code under both
|
||||
PHP 4.3 and PHP 5.1, but threw an unwarranted E_NOTICE or E_STRICT under
|
||||
the intervening PHP releases.
|
||||
|
||||
2. Reading []
|
||||
=============
|
||||
|
||||
<?php
|
||||
|
||||
class XmlTest {
|
||||
|
||||
function test_ref(&$test) {
|
||||
$test = "ok";
|
||||
}
|
||||
|
||||
function test($test) { }
|
||||
|
||||
function run() {
|
||||
$ar = array();
|
||||
$this->test_ref($ar[]);
|
||||
var_dump($ar);
|
||||
$this->test($ar[]);
|
||||
}
|
||||
}
|
||||
|
||||
$o = new XmlTest();
|
||||
$o->run();
|
||||
|
||||
?>
|
||||
|
||||
This should always have thrown a fatal E_ERROR, because [] cannot be used
|
||||
for reading in PHP. It is invalid code in PHP 4.4.2 and PHP 5.0.5 upward.
|
||||
|
||||
3. instanceof, is_a(), is_subclass_of(), catch
|
||||
==============================================
|
||||
|
||||
In PHP 5.0, is_a() was deprecated and replaced by the "instanceof" operator.
|
||||
There were some issues with the initial implementation of "instanceof", which
|
||||
relied on __autoload() to search for missing classes. If the class was not
|
||||
present, "instanceof" would throw a fatal E_ERROR due to the failure of
|
||||
__autoload() to discover that class. The same behaviour occurred in the
|
||||
"catch" operator and the is_subclass_of() function, for the same reason.
|
||||
|
||||
None of these functions or operators call __autoload() in PHP 5.1, and
|
||||
the class_exists() workarounds used in code written for PHP 5.0, while
|
||||
not problematic in any way, are no longer necessary.
|
||||
|
||||
4. Integer values in function parameters
|
||||
========================================
|
||||
|
||||
With the advent of PHP 5.0, a new parameter parsing API was introduced
|
||||
which is used by a large number of PHP functions. In all versions of
|
||||
PHP between 5.0 and 5.1, the handling of integer values was very strict
|
||||
and would reject non-well formed numeric values when a PHP function
|
||||
expected an integer. These checks have now been relaxed to support
|
||||
non-well formed numeric strings such as " 123" and "123 ", and will
|
||||
no longer fail as they did under PHP 5.0. However, to promote code
|
||||
safety and input validation, PHP functions will now emit an E_NOTICE
|
||||
when such strings are passed as integers.
|
||||
|
||||
5. Abstract private methods
|
||||
===========================
|
||||
|
||||
Abstract private methods were supported between PHP 5.0.0 and PHP 5.0.4,
|
||||
but were then disallowed on the grounds that the behaviours of 'private'
|
||||
and 'abstract' are mutually exclusive.
|
||||
|
||||
6. Access modifiers in interfaces
|
||||
=================================
|
||||
|
||||
Under PHP 5.0, function declarations in interfaces were treated in exactly
|
||||
the same way as function declarations in classes. This has not been the case
|
||||
since October 2004, at which point only the 'public' access modifier was
|
||||
allowed in interface function declarations. Since April 2005 - which pre-dates
|
||||
the PHP 5.0b1 release - the 'static' modifier has also been allowed. However,
|
||||
the 'protected' and 'private' modifiers will now throw an E_ERROR, as will
|
||||
'abstract'. Note that this change should not affect your existing code, as
|
||||
none of these modifiers makes sense in the context of interfaces anyway.
|
||||
|
||||
7. Changes in inheritance rules
|
||||
===============================
|
||||
|
||||
Under PHP 5.0, it was possible to have a function declaration in a derived class
|
||||
that did not match the declaration of the same function in the base class, e.g.
|
||||
|
||||
class Base {
|
||||
function &return_by_ref() {
|
||||
$r = 1;
|
||||
return $r;
|
||||
}
|
||||
}
|
||||
|
||||
class Derived extends Base {
|
||||
function return_by_ref() {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
This code will cause an E_STRICT error to be emitted under PHP 5.1.
|
||||
|
||||
8. Class constants
|
||||
==================
|
||||
|
||||
Under PHP 5.0, the following code was valid:
|
||||
|
||||
<?php
|
||||
|
||||
class test {
|
||||
const foobar = 'foo';
|
||||
const foobar = 'bar';
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
Under PHP 5.1, redefinition of a class constant will throw a fatal E_ERROR.
|
||||
|
||||
9. Extensions
|
||||
=============
|
||||
|
||||
9a. Extensions that are gone from the PHP core
|
||||
==============================================
|
||||
|
||||
One of the first things you're likely to notice when you download PHP 5.1 is that
|
||||
several of the older extensions have disappeared. Those extensions that are still
|
||||
actively maintained are available in the PHP Extension Community Library (PECL),
|
||||
at http://pecl.php.net. Windows binaries are built regularly, and you can obtain
|
||||
the binaries for PECL extensions built against PHP 5.1 from
|
||||
http://pecl4win.php.net/list.php/5_1.
|
||||
|
||||
Extension Alternative/status
|
||||
========= ========================
|
||||
ext/cpdf pecl/pdflib
|
||||
ext/dbx pecl/dbx
|
||||
ext/dio pecl/dio
|
||||
ext/fam not actively maintained
|
||||
ext/ingres_ii pecl/ingres
|
||||
ext/ircg not actively maintained
|
||||
ext/mcve pecl/mcve
|
||||
ext/mnogosearch not actively maintained
|
||||
ext/oracle ext/oci8 or ext/pdo_oci
|
||||
ext/ovrimos not actively maintained
|
||||
ext/pfpro not actively maintained
|
||||
- alternatives at http://pecl.php.net/packages.php?catpid=18&catname=Payment
|
||||
ext/w32api pecl/ffi
|
||||
ext/yp not actively maintained
|
||||
sapi/activescript http://pecl4win.php.net/ext.php/php5activescript.dll (PECL package)
|
||||
or pecl/activescript (CVS)
|
||||
|
||||
Modules in PECL that are not actively maintained (i.e. have not been supported
|
||||
for some time, have no active maintainer working on them currently, and do not
|
||||
have any PECL package releases), are still available in CVS at
|
||||
http://cvs.php.net/pecl/. However, unreleased PHP modules are by their nature
|
||||
unsupported, and your mileage may vary when attempting to install or use them.
|
||||
|
||||
9b. Class constants in new PHP 5.1 extensions
|
||||
=============================================
|
||||
|
||||
The Zend Engine 2.1 API allows extension developers to declare class constants
|
||||
in object oriented extensions. New extensions written for PHP 5.1, including SPL,
|
||||
PDO, ext/XMLReader and ext/date, have their constants in the format
|
||||
|
||||
PDO::CLASS_CONSTANT
|
||||
|
||||
rather than in the C format
|
||||
|
||||
PDO_CLASS_CONSTANT
|
||||
|
||||
in order to minimise pollution of the global namespace in PHP.
|
||||
|
||||
10. Date/time support
|
||||
====================
|
||||
|
||||
Date/time support has been fully rewritten in PHP 5.1, and no longer
|
||||
uses the system settings to 'know' the timezone in operation. It will
|
||||
instead utilize, in the following order:
|
||||
|
||||
* The timezone set using the date_default_timezone_set() function (if any)
|
||||
* The TZ environment variable (if non empty)
|
||||
* The date.timezone ini option (if set)
|
||||
* "magical" guess (if the operating system supports it)
|
||||
* If none of the above options succeeds, UTC
|
||||
|
||||
To ensure accuracy (and avoid an E_STRICT warning), you will need to define
|
||||
your timezone in your php.ini using the following format:
|
||||
|
||||
date.timezone = Europe/London
|
||||
|
||||
The supported timezones are listed, in this format, in the PHP manual at
|
||||
http://www.php.net/manual/en/timezones.php.
|
||||
|
||||
11. Changes in database support
|
||||
==============================
|
||||
|
||||
11a. PDO overview
|
||||
================
|
||||
|
||||
PHP Data Objects (PDO) were introduced as a PECL extension under PHP 5.0,
|
||||
and became part of the core PHP distribution in PHP 5.1. The PDO extension
|
||||
provides a consistent interface for database access, and is used alongside
|
||||
database-specific PDO drivers. Each driver may also have database-specific
|
||||
functions of its own, but basic data access functionality such as issuing
|
||||
queries and fetching data is covered by PDO functions, using the driver
|
||||
named in PDO::__construct().
|
||||
|
||||
Note that the PDO extension, and its drivers, are intended to be built as
|
||||
shared extensions. This will enable straightforward driver upgrades from
|
||||
PECL, without forcing you to rebuild all of PHP.
|
||||
|
||||
At the point of the PHP 5.1 release, PDO is more than ready for widespread
|
||||
testing and could be adopted in most situations. However, it is important
|
||||
to understand that PDO and its drivers are comparatively young and may be
|
||||
missing certain database-specific features; evaluate PDO carefully before
|
||||
you use it in new projects.
|
||||
|
||||
Legacy code will generally rely on the pre-existing database extensions,
|
||||
which are still maintained.
|
||||
|
||||
There is more in-depth information about the PDO extension in the manual
|
||||
at http://www.php.net/manual/ref.pdo.php.
|
||||
|
||||
11b. Changes in MySQL support
|
||||
============================
|
||||
|
||||
In PHP 4, MySQL 3 support was built-in. With the release of PHP 5.0 there
|
||||
were two MySQL extensions, named 'mysql' and 'mysqli', which were designed
|
||||
to support MySQL < 4.1 and MySQL 4.1 and up, respectively. With the
|
||||
introduction of PDO, which provides a very fast interface to all the
|
||||
database APIs supported by PHP, the PDO_MYSQL driver can support any
|
||||
of the current versions (MySQL 3, 4 or 5) in PHP code written for PDO,
|
||||
depending on the MySQL library version used during compilation. The
|
||||
older MySQL extensions remain in place for reasons of back compatibility,
|
||||
but are not enabled by default.
|
||||
|
||||
11c. Changes in SQLite support
|
||||
=============================
|
||||
|
||||
In PHP 5.0, SQLite 2 support was provided by the built-in sqlite
|
||||
extension, which was also available as a PECL extension in PHP 4.3
|
||||
and PHP 4.4. With the introduction of PDO, the sqlite extension doubles
|
||||
up to act as a 'sqlite2' driver for PDO; it is due to this that the
|
||||
sqlite extension in PHP 5.1 has a dependency upon the PDO extension.
|
||||
|
||||
PHP 5.1 ships with a number of alternative interfaces to sqlite:
|
||||
|
||||
The sqlite extension provides the "classic" sqlite procedural/OO API
|
||||
that you may have used in prior versions of PHP. It also provides the
|
||||
PDO 'sqlite2' driver, which allows you to access legacy SQLite 2
|
||||
databases using the PDO API.
|
||||
|
||||
PDO_SQLITE provides the 'sqlite' version 3 driver. SQLite version 3
|
||||
is vastly superior to SQLite version 2, but the file formats of the
|
||||
two versions are not compatible.
|
||||
|
||||
If your SQLite-based project is already written and working against
|
||||
earlier PHP versions, then you can continue to use ext/sqlite without
|
||||
problems, but will need to explicitly enable both PDO and sqlite. New
|
||||
projects should use PDO and the 'sqlite' (version 3) driver, as this is
|
||||
faster than SQLite 2, has improved locking concurrency, and supports
|
||||
both prepared statements and binary columns natively.
|
||||
|
||||
12. Further migration information
|
||||
================================
|
||||
|
||||
For general information about migrating from PHP 4 to PHP 5, please refer to
|
||||
the relevant section in the PHP manual at http://www.php.net/manual/migration5.php.
|
||||
|
||||
13. Checking for E_STRICT errors
|
||||
================================
|
||||
|
||||
If you only have a single script to check, you can pick up E_STRICT
|
||||
errors using PHP's commandline lint facility:
|
||||
|
||||
php -d error_reporting=4095 -l script_to_check.php
|
||||
|
||||
For larger projects, the shell script below will achieve the same task:
|
||||
|
||||
#!/bin/sh
|
||||
|
||||
directory=$1
|
||||
|
||||
shift
|
||||
|
||||
# These extensions are checked
|
||||
extensions="php inc"
|
||||
|
||||
check_file ()
|
||||
{
|
||||
echo -ne "Doing PHP syntax check on $1 ..."
|
||||
|
||||
# Options:
|
||||
ERRORS=`/www/php/bin/php -d display_errors=1 -d html_errors=0 -d error_prepend_string=" " -d error_append_string=" " -d error_reporting=4095 -l $1 | grep -v "No syntax errors detected"`
|
||||
|
||||
if test -z "$ERRORS"; then
|
||||
echo -ne "OK."
|
||||
else
|
||||
echo -e "Errors found!\n$ERRORS"
|
||||
fi
|
||||
|
||||
echo
|
||||
}
|
||||
|
||||
# loop over remaining file args
|
||||
for FILE in "$@" ; do
|
||||
for ext in $extensions; do
|
||||
if echo $FILE | grep "\.$ext$" > /dev/null; then
|
||||
if test -f $FILE; then
|
||||
check_file "$FILE"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
done
|
||||
+904
@@ -1,3 +1,907 @@
|
||||
2005-08-05 Dmitry Stogov <dmitry@zend.com>
|
||||
|
||||
* zend_execute.c
|
||||
tests/array_type_hint_001.phpt
|
||||
tests/bug33996.phpt:
|
||||
Fixed bug #33996 (No information given for fatal error on passing invalid
|
||||
value to typed argument)
|
||||
|
||||
* zend_operators.c
|
||||
tests/bug33999.phpt:
|
||||
Fixed bug #33999 (object remains object when cast to int)
|
||||
|
||||
* zend_vm_def.h
|
||||
zend_vm_execute.h
|
||||
zend_vm_opcodes.h:
|
||||
Fixed memory leak in foreach() on undefined variable
|
||||
(Zend/tests/foreach_undefined.php)
|
||||
|
||||
2005-08-04 Antony Dovgal <antony@zend.com>
|
||||
|
||||
* tests/foreach_undefined.phpt:
|
||||
add test for the last Dmitry's fix
|
||||
|
||||
2005-08-04 Dmitry Stogov <dmitry@zend.com>
|
||||
|
||||
* zend_compile.c:
|
||||
Fixed possible memory corryption during compilation of <?php foreach($a as
|
||||
$b); ?>
|
||||
|
||||
* (PHP_5_0)
|
||||
zend_objects.c:
|
||||
Fixed clone bug in ze1_compatibility mode
|
||||
|
||||
* zend_objects.c:
|
||||
Fixed clone bug in ze1_compatibilty mode
|
||||
|
||||
2005-08-03 Jani Taskinen <jani.taskinen@sci.fi>
|
||||
|
||||
* LICENSE:
|
||||
- Bumber up year
|
||||
|
||||
* acconfig.h
|
||||
zend.c
|
||||
zend.h
|
||||
zend_API.c
|
||||
zend_API.h
|
||||
zend_alloc.c
|
||||
zend_alloc.h
|
||||
zend_builtin_functions.c
|
||||
zend_builtin_functions.h
|
||||
zend_compile.c
|
||||
zend_compile.h
|
||||
zend_config.nw.h
|
||||
zend_config.w32.h
|
||||
zend_constants.c
|
||||
zend_constants.h
|
||||
zend_default_classes.c
|
||||
zend_dynamic_array.c
|
||||
zend_dynamic_array.h
|
||||
zend_errors.h
|
||||
zend_exceptions.c
|
||||
zend_exceptions.h
|
||||
zend_execute.c
|
||||
zend_execute.h
|
||||
zend_execute_API.c
|
||||
zend_extensions.c
|
||||
zend_extensions.h
|
||||
zend_fast_cache.h
|
||||
zend_globals.h
|
||||
zend_globals_macros.h
|
||||
zend_hash.c
|
||||
zend_hash.h
|
||||
zend_highlight.c
|
||||
zend_highlight.h
|
||||
zend_indent.c
|
||||
zend_indent.h
|
||||
zend_ini.c
|
||||
zend_ini.h
|
||||
zend_ini_parser.y
|
||||
zend_ini_scanner.h
|
||||
zend_ini_scanner.l
|
||||
zend_interfaces.c
|
||||
zend_interfaces.h
|
||||
zend_istdiostream.h
|
||||
zend_iterators.c
|
||||
zend_iterators.h
|
||||
zend_language_parser.y
|
||||
zend_language_scanner.h
|
||||
zend_language_scanner.l
|
||||
zend_list.c
|
||||
zend_list.h
|
||||
zend_llist.c
|
||||
zend_llist.h
|
||||
zend_mm.c
|
||||
zend_mm.h
|
||||
zend_modules.h
|
||||
zend_multibyte.c
|
||||
zend_multibyte.h
|
||||
zend_multiply.h
|
||||
zend_object_handlers.c
|
||||
zend_object_handlers.h
|
||||
zend_objects.c
|
||||
zend_objects.h
|
||||
zend_objects_API.c
|
||||
zend_objects_API.h
|
||||
zend_opcode.c
|
||||
zend_operators.c
|
||||
zend_operators.h
|
||||
zend_ptr_stack.c
|
||||
zend_ptr_stack.h
|
||||
zend_qsort.c
|
||||
zend_qsort.h
|
||||
zend_reflection_api.c
|
||||
zend_reflection_api.h
|
||||
zend_sprintf.c
|
||||
zend_stack.c
|
||||
zend_stack.h
|
||||
zend_static_allocator.c
|
||||
zend_static_allocator.h
|
||||
zend_stream.c
|
||||
zend_stream.h
|
||||
zend_strtod.h
|
||||
zend_ts_hash.c
|
||||
zend_ts_hash.h
|
||||
zend_types.h
|
||||
zend_variables.c
|
||||
zend_variables.h
|
||||
zend_vm.h:
|
||||
Bump up the year
|
||||
|
||||
* README.ZEND_VM:
|
||||
Nuked DOS EOLs
|
||||
|
||||
2005-08-02 Dmitry Stogov <dmitry@zend.com>
|
||||
|
||||
* zend_execute_API.c
|
||||
zend_execute_API.c:
|
||||
Fixed bug #33942 (the patch to #33156 crash cygwin except cli)
|
||||
|
||||
2005-08-02 Jani Taskinen <jani.taskinen@sci.fi>
|
||||
|
||||
* zend_exceptions.c:
|
||||
- Fixed bug #33967 (misuse of Exception constructor doesn\'t display
|
||||
errorfile)
|
||||
|
||||
2005-08-02 Dmitry Stogov <dmitry@zend.com>
|
||||
|
||||
* bench.php:
|
||||
Removed warnings
|
||||
|
||||
2005-07-29 Ilia Alshanetsky <ilia@prohost.org>
|
||||
|
||||
* zend_vm_def.h
|
||||
zend_vm_execute.h:
|
||||
Fixed warning message generated when isset() or empty() are given invalid
|
||||
offset type.
|
||||
|
||||
2005-07-29 Anantha Kesari H Y <hyanantha@novell.com>
|
||||
|
||||
* acconfig.h
|
||||
acconfig.h:
|
||||
In NetWare few of the programs like apache2 and ldap use winsock inclusinf
|
||||
sys/socket.h is not desirable.
|
||||
--Kamesh
|
||||
|
||||
2005-07-29 Jani Taskinen <jani.taskinen@sci.fi>
|
||||
|
||||
* zend_vm_execute.h:
|
||||
update generated file
|
||||
|
||||
2005-07-28 Andi Gutmans <andi@zend.com>
|
||||
|
||||
* zend_vm_def.h:
|
||||
- Tiny fixlet
|
||||
|
||||
2005-07-28 Marcus Boerger <marcus.boerger@post.rwth-aachen.de>
|
||||
|
||||
* zend_API.c
|
||||
zend_API.h:
|
||||
- Add convenience function zend_is_callable_ex() and base zend_is_callable
|
||||
and zend_make_callable on it. This functions allows to check if a php
|
||||
variable is a callable function and returns its function pointer as well
|
||||
as object if possible.
|
||||
|
||||
2005-07-26 Jani Taskinen <jani.taskinen@sci.fi>
|
||||
|
||||
* zend_execute_API.c:
|
||||
bug #33865
|
||||
|
||||
2005-07-25 Marcus Boerger <marcus.boerger@post.rwth-aachen.de>
|
||||
|
||||
* zend_API.c:
|
||||
- Fix #33853
|
||||
|
||||
2005-07-22 Dmitry Stogov <dmitry@zend.com>
|
||||
|
||||
* zend.c
|
||||
zend.c
|
||||
tests/bug33802.phpt
|
||||
tests/bug33802.phpt
|
||||
tests/bug33802.phpt:
|
||||
Fixed bug #33802 (throw Exception in error handler causes crash)
|
||||
|
||||
2005-07-21 Marcus Boerger <marcus.boerger@post.rwth-aachen.de>
|
||||
|
||||
* zend_execute_API.c:
|
||||
- Fix error generation logic (found by johannes)
|
||||
|
||||
2005-07-21 Dmitry Stogov <dmitry@zend.com>
|
||||
|
||||
* zend_vm_def.h:
|
||||
Fixed bug with returning from internal function by reference
|
||||
|
||||
2005-07-19 Marcus Boerger <marcus.boerger@post.rwth-aachen.de>
|
||||
|
||||
* zend_interfaces.c:
|
||||
- Dont't warn in case an exception is pending - in this case it'd
|
||||
superflous
|
||||
|
||||
2005-07-19 Dmitry Stogov <dmitry@zend.com>
|
||||
|
||||
* zend_compile.c
|
||||
zend_compile.c
|
||||
zend_execute.c
|
||||
zend_vm_execute.h
|
||||
zend_vm_opcodes.h:
|
||||
Fixed bug #33710 (ArrayAccess objects doen't initialize $this)
|
||||
|
||||
2005-07-18 Rasmus Lerdorf <rasmus@lerdorf.com>
|
||||
|
||||
* zend_language_scanner.l:
|
||||
Valgrind is unhappy that this is not initialized
|
||||
|
||||
2005-07-18 Dmitry Stogov <dmitry@zend.com>
|
||||
|
||||
* zend_API.c
|
||||
zend_API.h:
|
||||
Fixed bug in new module statrup mechanism
|
||||
|
||||
* (PHP_5_0)
|
||||
zend_execute.c
|
||||
zend_vm_def.h
|
||||
zend_vm_execute.h
|
||||
zend_vm_opcodes.h
|
||||
tests/bug33558.phpt:
|
||||
Fixed bug #33558 (warning with nested calls to functions returning by
|
||||
reference)
|
||||
|
||||
* tests/bug33558.phpt
|
||||
tests/bug33558.phpt:
|
||||
|
||||
Fixed bug #33558 (warning with nested calls to functions returning by
|
||||
reference)
|
||||
|
||||
* zend_vm_def.h
|
||||
zend_vm_execute.h
|
||||
zend_vm_gen.php
|
||||
zend_vm_opcodes.h:
|
||||
Removed some compilation warnings.
|
||||
|
||||
2005-07-18 Jani Taskinen <jani.taskinen@sci.fi>
|
||||
|
||||
* tests/bug33710.phpt:
|
||||
typo
|
||||
|
||||
2005-07-17 Marcus Boerger <marcus.boerger@post.rwth-aachen.de>
|
||||
|
||||
* tests/bug33710.phpt:
|
||||
- Add new test
|
||||
|
||||
2005-07-17 Ilia Alshanetsky <ilia@prohost.org>
|
||||
|
||||
* zend_compile.c:
|
||||
Added missing init.
|
||||
|
||||
2005-07-14 Andi Gutmans <andi@zend.com>
|
||||
|
||||
* zend.h:
|
||||
- Back to -dev
|
||||
|
||||
* (php_5_1_0b3)
|
||||
zend.h:
|
||||
- Beta 3
|
||||
|
||||
2005-07-12 Andi Gutmans <andi@zend.com>
|
||||
|
||||
* zend.h:
|
||||
- Back to -dev
|
||||
|
||||
* (php_5_1_0b3)
|
||||
zend.h:
|
||||
- Beta 3
|
||||
|
||||
2005-07-12 Dmitry Stogov <dmitry@zend.com>
|
||||
|
||||
* (php_5_1_0b3)
|
||||
zend_execute_API.c
|
||||
zend_execute_API.c:
|
||||
Fixed bug #33156 (cygwin version of setitimer doesn't accept ITIMER_PROF).
|
||||
(Nuno)
|
||||
|
||||
2005-07-11 Ilia Alshanetsky <ilia@prohost.org>
|
||||
|
||||
* zend_vm_def.h
|
||||
zend_vm_execute.h:
|
||||
Make references misuse emit E_NOTICE rather E_STRICT to be compatible with
|
||||
PHP 4.4.0
|
||||
|
||||
2005-07-08 Jani Taskinen <jani.taskinen@sci.fi>
|
||||
|
||||
* tests/unset_cv05.phpt
|
||||
tests/unset_cv06.phpt:
|
||||
fix test when session.save_handler is "user"
|
||||
|
||||
2005-07-07 Dmitry Stogov <dmitry@zend.com>
|
||||
|
||||
* zend.h
|
||||
zend_API.c
|
||||
zend_API.h
|
||||
zend_compile.c
|
||||
zend_compile.h
|
||||
zend_object_handlers.c
|
||||
zend_objects.c
|
||||
zend_reflection_api.c:
|
||||
Fixed bug #33512 (Add missing support for isset()/unset() overloading to
|
||||
complement the property get/set methods)
|
||||
|
||||
2005-07-07 Anantha Kesari H Y <hyanantha@novell.com>
|
||||
|
||||
* zend_stream.c
|
||||
zend_stream.c:
|
||||
zend_stream_getc uses fread internally. NetWare LibC fread reads 4(Which I
|
||||
believe EOT) for EOF(^D) character. This happens when fread is asked to
|
||||
read one and only character as is the case with cl interactive mode.
|
||||
-- Kamesh
|
||||
|
||||
2005-07-07 Dmitry Stogov <dmitry@zend.com>
|
||||
|
||||
* zend_execute_API.c
|
||||
zend_hash.c
|
||||
zend_hash.h
|
||||
tests/bug28072.phpt:
|
||||
Fixed bug #28072 (static array with some constant keys will be incorrectly
|
||||
ordered).
|
||||
|
||||
2005-07-04 Dmitry Stogov <dmitry@zend.com>
|
||||
|
||||
* zend_compile.h
|
||||
zend_execute.c
|
||||
zend_language_parser.y
|
||||
zend_vm_def.h
|
||||
zend_vm_execute.h
|
||||
zend_vm_opcodes.h:
|
||||
Fixed SIGSEGV on 'global ${"{$blah}_ID"};'
|
||||
|
||||
* zend_API.h
|
||||
zend_execute_API.c:
|
||||
Fixed bug #31158 (array_splice on $GLOBALS crashes)
|
||||
|
||||
2005-07-03 Dmitry Stogov <dmitry@zend.com>
|
||||
|
||||
* zend_vm_def.h
|
||||
zend_vm_execute.h
|
||||
zend_vm_opcodes.h:
|
||||
Fixed memory leak
|
||||
|
||||
2005-06-30 Dmitry Stogov <dmitry@zend.com>
|
||||
|
||||
* zend_API.c
|
||||
zend_API.h:
|
||||
Restored old behavior of zend_statup_module()
|
||||
|
||||
2005-06-29 Stanislav Malyshev <stas@zend.com>
|
||||
|
||||
* zend_execute.c
|
||||
zend_vm_def.h
|
||||
zend_vm_execute.h:
|
||||
fix conditions for freeing
|
||||
|
||||
* zend_API.c
|
||||
zend_API.c:
|
||||
add comment
|
||||
|
||||
* (PHP_5_0)
|
||||
zend_execute.c:
|
||||
fix conditions
|
||||
|
||||
2005-06-28 Antony Dovgal <antony@zend.com>
|
||||
|
||||
* zend_execute.c:
|
||||
fix leak: when dup was <success>ful zend_std_object_get_class_name()
|
||||
returns SUCCESS aka 0
|
||||
|
||||
2005-06-28 Stanislav Malyshev <stas@zend.com>
|
||||
|
||||
* zend_execute.c
|
||||
zend_vm_def.h
|
||||
zend_vm_execute.h:
|
||||
fix previous patch
|
||||
|
||||
* zend_vm_execute.h:
|
||||
update
|
||||
|
||||
* zend_execute.c
|
||||
zend_vm_def.h:
|
||||
fixes for non-php objects
|
||||
|
||||
* (PHP_5_0)
|
||||
zend_execute.c:
|
||||
fixes fo rnon-php objects (John Coggeshall)
|
||||
|
||||
2005-06-27 Jani Taskinen <jani.taskinen@sci.fi>
|
||||
|
||||
* zend.c:
|
||||
- Fixed bug #31358 (Older GCC versions do not provide portable va_copy()).
|
||||
|
||||
2005-06-27 Stanislav Malyshev <stas@zend.com>
|
||||
|
||||
* zend_API.c
|
||||
zend_API.c
|
||||
zend_API.h
|
||||
zend_API.h
|
||||
zend_builtin_functions.c
|
||||
zend_builtin_functions.c
|
||||
zend_exceptions.c
|
||||
zend_exceptions.c:
|
||||
fix various "Class entry requested for an object without PHP class"
|
||||
messages
|
||||
when working with non-PHP objects.
|
||||
|
||||
2005-06-27 Dmitry Stogov <dmitry@zend.com>
|
||||
|
||||
* (PHP_5_0)
|
||||
zend_execute.c
|
||||
zend_vm_def.h
|
||||
zend_vm_execute.h
|
||||
zend_vm_opcodes.h:
|
||||
Fixed SIGSEGV on assigment string offset by reference
|
||||
|
||||
* zend_builtin_functions.c
|
||||
zend_builtin_functions.c:
|
||||
Fixed wrong include/requre occurrences in debug backtrace.
|
||||
|
||||
2005-06-24 Dmitry Stogov <dmitry@zend.com>
|
||||
|
||||
* zend_execute.h
|
||||
zend_vm_def.h
|
||||
zend_vm_execute.h
|
||||
zend_vm_gen.php
|
||||
zend_vm_opcodes.h:
|
||||
Export zend_do_fcall() helper from executor
|
||||
|
||||
* zend_compile.c
|
||||
zend_compile.c:
|
||||
Partial fix for bug #26584 (Class member - array key overflow)
|
||||
It doesn't fix integer overflow problem, but allows null, boolean and
|
||||
double keys in array constants in the same way as in runtime.
|
||||
|
||||
* tests/bug30519.phpt
|
||||
tests/bug30519.phpt:
|
||||
|
||||
Fixed bug #30519 (Interface not existing says Class not found)
|
||||
|
||||
* zend_compile.c
|
||||
zend_compile.c
|
||||
zend_compile.h
|
||||
zend_compile.h
|
||||
zend_execute.c
|
||||
zend_execute_API.c
|
||||
zend_execute_API.c
|
||||
zend_vm_def.h
|
||||
zend_vm_execute.h
|
||||
zend_vm_opcodes.h
|
||||
tests/bug30519.phpt:
|
||||
Fixed bug #30519 (Interface not existing says Class not found)
|
||||
|
||||
2005-06-23 Dmitry Stogov <dmitry@zend.com>
|
||||
|
||||
* zend_builtin_functions.c
|
||||
zend_builtin_functions.c
|
||||
tests/bug28377.phpt:
|
||||
Fixed bug #28377 (debug_backtrace is intermittently passing args)
|
||||
|
||||
* tests/bug28377.phpt
|
||||
tests/bug28377.phpt:
|
||||
|
||||
file bug28377.phpt was initially added on branch PHP_5_0.
|
||||
|
||||
* (PHP_5_0)
|
||||
zend_execute.c
|
||||
zend_vm_def.h
|
||||
zend_vm_execute.h
|
||||
zend_vm_opcodes.h
|
||||
tests/bug32660.phpt:
|
||||
Fixed bug #32660 (Assignment by reference causes crash when field access is
|
||||
overloaded (__get))
|
||||
|
||||
* tests/bug32660.phpt
|
||||
tests/bug32660.phpt:
|
||||
|
||||
Fixed bug #32660 (Assignment by reference causes crash when field access
|
||||
is overloaded (__get))
|
||||
|
||||
* zend_builtin_functions.c
|
||||
zend_builtin_functions.c
|
||||
tests/bug30828.phpt:
|
||||
Fixed bug #30828 (debug_backtrace() reports incorrect class in overridden
|
||||
methods)
|
||||
|
||||
* tests/bug30828.phpt
|
||||
tests/bug30828.phpt:
|
||||
|
||||
file bug30828.phpt was initially added on branch PHP_5_0.
|
||||
|
||||
* (PHP_5_0)
|
||||
tests/bug27268.phpt:
|
||||
Test for bug #27268. It is fixed in HEAD but not in PHP_5_0.
|
||||
|
||||
* zend_execute.c
|
||||
tests/bug27268.phpt
|
||||
tests/bug27268.phpt:
|
||||
Fixed bug #27268 (Bad references accentuated by clone).
|
||||
|
||||
2005-06-23 Andi Gutmans <andi@zend.com>
|
||||
|
||||
* zend.h:
|
||||
- Back to -dev
|
||||
|
||||
* (php_5_1_0b2)
|
||||
zend.h:
|
||||
- Beta 2
|
||||
|
||||
2005-06-22 Dmitry Stogov <dmitry@zend.com>
|
||||
|
||||
* (php_5_1_0b2)
|
||||
zend_builtin_functions.c
|
||||
zend_builtin_functions.c
|
||||
zend_execute_API.c
|
||||
zend_execute_API.c
|
||||
tests/bug29896.phpt:
|
||||
Fixed bug #29896 (Backtrace argument list out of sync)
|
||||
|
||||
* tests/bug29896.phpt
|
||||
tests/bug29896.phpt:
|
||||
|
||||
file bug29896.phpt was initially added on branch PHP_5_0.
|
||||
|
||||
2005-06-22 Stanislav Malyshev <stas@zend.com>
|
||||
|
||||
* (php_5_1_0b2)
|
||||
zend_vm.h
|
||||
zend_vm_execute.h
|
||||
zend_vm_gen.php:
|
||||
export zend_vm_set_opcode_handler
|
||||
|
||||
2005-06-22 Antony Dovgal <antony@zend.com>
|
||||
|
||||
* (php_5_1_0b2)
|
||||
zend_ini.c:
|
||||
- allow to use "yes" and "true" with ini_set() and in commandline (through
|
||||
-d flag)
|
||||
- fix #15854 that was caused by wrong consideration that
|
||||
zend_ini_boolean_displayer_cb()
|
||||
always recieves converted to "0"/"1" values.
|
||||
|
||||
2005-06-22 Dmitry Stogov <dmitry@zend.com>
|
||||
|
||||
* (php_5_1_0b2)
|
||||
zend_compile.c
|
||||
zend_compile.c
|
||||
zend_compile.h
|
||||
zend_compile.h
|
||||
zend_execute.c
|
||||
zend_vm_def.h
|
||||
zend_vm_execute.h
|
||||
zend_vm_opcodes.h
|
||||
tests/bug33257.phpt:
|
||||
Fixed bug #33257 (array_splice() inconsistent when passed function instead
|
||||
of variable)
|
||||
|
||||
* tests/bug33257.phpt
|
||||
tests/bug33257.phpt:
|
||||
|
||||
file bug33257.phpt was initially added on branch PHP_5_0.
|
||||
|
||||
2005-06-22 Jani Taskinen <jani.taskinen@sci.fi>
|
||||
|
||||
* (php_5_1_0b2)
|
||||
tests/unset_cv05.phpt
|
||||
tests/unset_cv06.phpt:
|
||||
fix tests
|
||||
|
||||
2005-06-21 Dmitry Stogov <dmitry@zend.com>
|
||||
|
||||
* tests/unset_cv07.phpt:
|
||||
Fixed test file
|
||||
|
||||
2005-06-21 Andi Gutmans <andi@zend.com>
|
||||
|
||||
* zend.h:
|
||||
- Back to -dev. Guys (n' Girls), give at least 1 hour before you start
|
||||
- complaining about not going back to -dev. I like checking the tarball
|
||||
- before I change it back.
|
||||
|
||||
* (php_5_1_0b2)
|
||||
zend.h:
|
||||
- Take #3 :)
|
||||
|
||||
2005-06-21 Ilia Alshanetsky <ilia@prohost.org>
|
||||
|
||||
* (php_5_1_0b2)
|
||||
zend_reflection_api.c:
|
||||
Fixed memory leak.
|
||||
|
||||
|
||||
2005-06-21 Dmitry Stogov <dmitry@zend.com>
|
||||
|
||||
* (PHP_5_0)
|
||||
zend_compile.c:
|
||||
Remove unnecessary ZEND_FETCH_CLASS together with
|
||||
ZEND_DECLARE_INHERITED_CLASS
|
||||
in case of early binding
|
||||
|
||||
* (php_5_1_0b2)
|
||||
zend_compile.c:
|
||||
Remove unnecessary ZEND_FETCH_CLASS together with
|
||||
ZEND_DECLARE_INHERITED_CLASS in case of early binding
|
||||
|
||||
2005-06-20 Andi Gutmans <andi@zend.com>
|
||||
|
||||
* zend.h:
|
||||
- Back to -dev
|
||||
|
||||
* (php_5_1_0b2)
|
||||
zend.h:
|
||||
- Beta 2
|
||||
|
||||
2005-06-20 Dmitry Stogov <dmitry@zend.com>
|
||||
|
||||
* (php_5_1_0b2)
|
||||
zend_object_handlers.c
|
||||
zend_object_handlers.c:
|
||||
Fixed possible crash on $x = $obj->$non_string
|
||||
|
||||
2005-06-20 Marcus Boerger <marcus.boerger@post.rwth-aachen.de>
|
||||
|
||||
* (php_5_1_0b2)
|
||||
zend_reflection_api.c:
|
||||
- Fix bug #33389 by fixing copying
|
||||
|
||||
* zend_reflection_api.c:
|
||||
- Show true/flase
|
||||
|
||||
2005-06-19 Derick Rethans <php@derickrethans.nl>
|
||||
|
||||
* tests/bug32226.phpt:
|
||||
- Fixed layout of test description.
|
||||
|
||||
2005-06-17 Jani Taskinen <jani.taskinen@sci.fi>
|
||||
|
||||
* tests/bug29368.phpt
|
||||
tests/bug30856.phpt
|
||||
tests/bug30961.phpt
|
||||
tests/bug31720.phpt
|
||||
tests/bug32226.phpt
|
||||
tests/bug33277.phpt:
|
||||
No short-tags!
|
||||
|
||||
2005-06-17 Dmitry Stogov <dmitry@zend.com>
|
||||
|
||||
* zend_compile.h
|
||||
zend_vm_def.h
|
||||
zend_vm_execute.h
|
||||
zend_vm_opcodes.h:
|
||||
Removed EX(fbc_constructor) (it is no longer needed)
|
||||
|
||||
2005-06-17 Antony Dovgal <antony@zend.com>
|
||||
|
||||
* (PHP_5_0)
|
||||
zend_API.c
|
||||
zend_list.c:
|
||||
MFH: improve error messages in internal classes
|
||||
|
||||
* zend_API.c
|
||||
zend_list.c:
|
||||
improve error messages when error raised from an internal class (do not
|
||||
hide class name)
|
||||
|
||||
2005-06-17 Dmitry Stogov <dmitry@zend.com>
|
||||
|
||||
* zend_object_handlers.c
|
||||
zend_object_handlers.c:
|
||||
Fixed bug #33277 (private method accessed by child class)
|
||||
|
||||
2005-06-17 Antony Dovgal <antony@zend.com>
|
||||
|
||||
* zend_hash.c:
|
||||
fix bug #33382 (array_reverse() fails after *sort())
|
||||
no need to MFH - the bug existed only in HEAD
|
||||
|
||||
2005-06-17 Dmitry Stogov <dmitry@zend.com>
|
||||
|
||||
* zend_API.c
|
||||
zend_API.h
|
||||
zend_extensions.h
|
||||
zend_modules.h:
|
||||
Improved PHP extension loading mechanism with support for module
|
||||
dependencies and conflicts.
|
||||
|
||||
2005-06-16 Marcus Boerger <marcus.boerger@post.rwth-aachen.de>
|
||||
|
||||
* zend_reflection_api.c:
|
||||
- Internal functions/methods can now return by reference
|
||||
|
||||
* zend_execute.c:
|
||||
- Fix TSRM build
|
||||
|
||||
2005-06-16 Dmitry Stogov <dmitry@zend.com>
|
||||
|
||||
* bench.php:
|
||||
typo
|
||||
|
||||
* zend.h
|
||||
zend_API.h
|
||||
zend_compile.c
|
||||
zend_compile.h
|
||||
zend_execute.c
|
||||
zend_execute_API.c
|
||||
zend_extensions.h
|
||||
zend_modules.h
|
||||
zend_object_handlers.c
|
||||
zend_vm_def.h
|
||||
zend_vm_execute.h
|
||||
zend_vm_opcodes.h:
|
||||
Allowed return by refrence from internal functions
|
||||
|
||||
2005-06-16 Stanislav Malyshev <stas@zend.com>
|
||||
|
||||
* zend_execute.c
|
||||
zend_execute.h:
|
||||
rename to zend_
|
||||
|
||||
2005-06-16 Dmitry Stogov <dmitry@zend.com>
|
||||
|
||||
* zend_vm_def.h
|
||||
zend_vm_execute.h
|
||||
zend_vm_opcodes.h
|
||||
tests/bug33318.phpt:
|
||||
Fixed bug #33318 (throw 1; results in Invalid opcode 108/1/8)
|
||||
|
||||
2005-06-16 Zeev Suraski <zeev@zend.com>
|
||||
|
||||
* zend_language_scanner.l:
|
||||
Fixlet
|
||||
|
||||
2005-06-16 Dmitry Stogov <dmitry@zend.com>
|
||||
|
||||
* zend_execute.c
|
||||
zend_vm_def.h
|
||||
zend_vm_execute.h
|
||||
zend_vm_opcodes.h:
|
||||
Compilation warnings
|
||||
|
||||
* zend_compile.c
|
||||
zend_compile.h
|
||||
zend_vm_def.h
|
||||
zend_vm_execute.h
|
||||
zend_vm_opcodes.h:
|
||||
ZEND_UNSET_DIM_OBJ is splitted to ZEND_UNSET_DIM and ZEND_UNSET_OBJ.
|
||||
|
||||
2005-06-16 Stanislav Malyshev <stas@zend.com>
|
||||
|
||||
* zend_execute.c
|
||||
zend_execute.h:
|
||||
export zval getters
|
||||
|
||||
2005-06-16 Dmitry Stogov <dmitry@zend.com>
|
||||
|
||||
* zend_execute.h
|
||||
zend_vm_def.h
|
||||
zend_vm_execute.h
|
||||
zend_vm_gen.php
|
||||
zend_vm_opcodes.h:
|
||||
USER_OPCODE API is improvet.
|
||||
Implemented ability to dispatch from user handler to internal handler of
|
||||
another opcode.
|
||||
|
||||
2005-06-15 Dmitry Stogov <dmitry@zend.com>
|
||||
|
||||
* zend.c
|
||||
zend.h:
|
||||
Fixed OS X compatibility
|
||||
|
||||
2005-06-15 Jani Taskinen <jani.taskinen@sci.fi>
|
||||
|
||||
* tests/bug32428.phpt:
|
||||
typofix
|
||||
|
||||
2005-06-14 Ilia Alshanetsky <ilia@prohost.org>
|
||||
|
||||
* bench.php:
|
||||
more accurate timing function.
|
||||
|
||||
2005-06-14 Dmitry Stogov <dmitry@zend.com>
|
||||
|
||||
* zend_vm_execute.h
|
||||
zend_vm_gen.php
|
||||
zend_vm_opcodes.h:
|
||||
Removed old executor
|
||||
|
||||
2005-06-14 Jani Taskinen <jani.taskinen@sci.fi>
|
||||
|
||||
* Zend.m4:
|
||||
reordered + added msg to configure output for PHP_ZEND_VM
|
||||
|
||||
* Zend.m4:
|
||||
typofix
|
||||
|
||||
* Zend.m4
|
||||
acinclude.m4:
|
||||
fix standalone build
|
||||
|
||||
2005-06-13 Dmitry Stogov <dmitry@zend.com>
|
||||
|
||||
* zend_execute.c
|
||||
zend_vm_def.h
|
||||
zend_vm_execute.h
|
||||
zend_vm_gen.php
|
||||
zend_vm_opcodes.h:
|
||||
Specializer optimization
|
||||
|
||||
* zend.c
|
||||
zend.h
|
||||
zend_execute.c:
|
||||
Fixed bug #33212 ([GCC 4]: 'zend_error_noreturn' aliased to external symbol
|
||||
'zend_error').
|
||||
The fix is not tested on Solaris and DARWIN!
|
||||
|
||||
* zend_reflection_api.c
|
||||
tests/bug33312.phpt:
|
||||
Fixed bug #33312 (ReflectionParameter methods do not work correctly)
|
||||
|
||||
2005-06-11 Andi Gutmans <andi@zend.com>
|
||||
|
||||
* zend.h:
|
||||
- Back to -dev
|
||||
|
||||
* (php_5_1_0b2)
|
||||
zend.h:
|
||||
- b2 (will post it to internals@)
|
||||
|
||||
2005-06-10 Andi Gutmans <andi@zend.com>
|
||||
|
||||
* zend.h:
|
||||
- Back to -dev
|
||||
|
||||
* (php_5_1_0b1)
|
||||
zend.h:
|
||||
- Go with 5.1.0b1
|
||||
|
||||
2005-06-10 Dmitry Stogov <dmitry@zend.com>
|
||||
|
||||
* (php_5_1_0b1)
|
||||
tests/bug30162.phpt:
|
||||
Added test for bug #30162 (it is already fixed but test file was forgotten)
|
||||
|
||||
* (php_5_1_0b1)
|
||||
tests/bug31177.phpt:
|
||||
Added test file for bug #31177 (not fixed yet)
|
||||
|
||||
* tests/bug31177.phpt
|
||||
tests/bug31177.phpt:
|
||||
|
||||
file bug31177.phpt was initially added on branch PHP_5_0.
|
||||
|
||||
* (php_5_1_0b1)
|
||||
tests/bug29689.phpt:
|
||||
typos
|
||||
|
||||
* (php_5_1_0b1)
|
||||
zend_reflection_api.c
|
||||
zend_reflection_api.c:
|
||||
Fixed support for ZEND_ACC_SHADOW in ReflectionProperty constructor
|
||||
|
||||
* (php_5_1_0b1)
|
||||
zend_execute.c
|
||||
zend_execute.h
|
||||
zend_extensions.h
|
||||
zend_vm_def.h
|
||||
zend_vm_execute.h
|
||||
zend_vm_gen.php
|
||||
zend_vm_opcodes.h:
|
||||
Fix so that extensions like xdebug, can overload opcodes in all execution
|
||||
modes including goto/switch
|
||||
|
||||
* (php_5_1_0b1)
|
||||
zend_compile.c
|
||||
zend_vm_def.h
|
||||
zend_vm_execute.h
|
||||
zend_vm_opcodes.h:
|
||||
Merge three opcodes (ZEND_NEW, ZEND_JMP_NO_CTOR, ZEND_INIT_CTOR) into one
|
||||
(ZEND_NEW). There was no real reason for this anymore and API should be
|
||||
changed before 5.1
|
||||
|
||||
2005-06-09 Stanislav Malyshev <stas@zend.com>
|
||||
|
||||
* zend_compile.c
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
--------------------------------------------------------------------
|
||||
The Zend Engine License, Version 2.00
|
||||
Copyright (c) 1999-2003 Zend Technologies Ltd. All rights reserved.
|
||||
Copyright (c) 1999-2006 Zend Technologies Ltd. All rights reserved.
|
||||
--------------------------------------------------------------------
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
||||
+1
-1
@@ -15,7 +15,7 @@ libZend_la_SOURCES=\
|
||||
zend_list.c zend_indent.c zend_builtin_functions.c zend_sprintf.c \
|
||||
zend_ini.c zend_qsort.c zend_objects.c zend_object_handlers.c \
|
||||
zend_objects_API.c zend_ts_hash.c zend_stream.c zend_mm.c \
|
||||
zend_default_classes.c zend_reflection_api.c \
|
||||
zend_default_classes.c \
|
||||
zend_iterators.c zend_interfaces.c zend_exceptions.c \
|
||||
zend_strtod.c zend_multibyte.c
|
||||
|
||||
|
||||
@@ -105,3 +105,4 @@ Zend Engine II currently includes two executors during the build process, one
|
||||
is the specialized version and the other is the old one non-specialized with
|
||||
function handlers. By default Zend Engine II uses the specialized one but you
|
||||
can switch to the old executor at runtime by calling zend_vm_use_old_executor().
|
||||
|
||||
@@ -227,10 +227,6 @@ SOURCE=.\zend_qsort.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\zend_reflection_api.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\zend_sprintf.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
@@ -407,10 +403,6 @@ SOURCE=.\zend_qsort.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\zend_reflection_api.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\zend_stack.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
+22
-14
@@ -121,21 +121,13 @@ AC_ARG_ENABLE(debug,
|
||||
|
||||
AC_DEFUN([LIBZEND_OTHER_CHECKS],[
|
||||
|
||||
PHP_ARG_WITH(zend-vm,[virtual machine dispatch method],
|
||||
AC_ARG_WITH(zend-vm,
|
||||
[ --with-zend-vm=TYPE Set virtual machine dispatch method. Type is
|
||||
one of "CALL", "SWITCH" or "GOTO" [TYPE=CALL]], CALL, no)
|
||||
|
||||
case $PHP_ZEND_VM in
|
||||
SWITCH)
|
||||
AC_DEFINE(ZEND_VM_KIND,ZEND_VM_KIND_SWITCH,[virtual machine dispatch method])
|
||||
;;
|
||||
GOTO)
|
||||
AC_DEFINE(ZEND_VM_KIND,ZEND_VM_KIND_GOTO,[virtual machine dispatch method])
|
||||
;;
|
||||
*)
|
||||
AC_DEFINE(ZEND_VM_KIND,ZEND_VM_KIND_CALL,[virtual machine dispatch method])
|
||||
;;
|
||||
esac
|
||||
one of "CALL", "SWITCH" or "GOTO" [TYPE=CALL]],[
|
||||
PHP_ZEND_VM=$withval
|
||||
],[
|
||||
PHP_ZEND_VM=CALL
|
||||
])
|
||||
|
||||
AC_ARG_ENABLE(zend-memory-manager,
|
||||
[ --disable-zend-memory-manager
|
||||
@@ -175,6 +167,9 @@ AC_ARG_ENABLE(zend-multibyte,
|
||||
ZEND_MULTIBYTE=no
|
||||
])
|
||||
|
||||
AC_MSG_CHECKING([virtual machine dispatch method])
|
||||
AC_MSG_RESULT($PHP_ZEND_VM)
|
||||
|
||||
AC_MSG_CHECKING(whether to enable the Zend memory manager)
|
||||
AC_MSG_RESULT($ZEND_USE_ZEND_ALLOC)
|
||||
|
||||
@@ -193,6 +188,19 @@ AC_MSG_RESULT($ZEND_DEBUG)
|
||||
AC_MSG_CHECKING(whether to enable Zend multibyte)
|
||||
AC_MSG_RESULT($ZEND_MULTIBYTE)
|
||||
|
||||
case $PHP_ZEND_VM in
|
||||
SWITCH)
|
||||
AC_DEFINE(ZEND_VM_KIND,ZEND_VM_KIND_SWITCH,[virtual machine dispatch method])
|
||||
;;
|
||||
GOTO)
|
||||
AC_DEFINE(ZEND_VM_KIND,ZEND_VM_KIND_GOTO,[virtual machine dispatch method])
|
||||
;;
|
||||
*)
|
||||
PHP_ZEND_VM=CALL
|
||||
AC_DEFINE(ZEND_VM_KIND,ZEND_VM_KIND_CALL,[virtual machine dispatch method])
|
||||
;;
|
||||
esac
|
||||
|
||||
if test "$ZEND_DEBUG" = "yes"; then
|
||||
AC_DEFINE(ZEND_DEBUG,1,[ ])
|
||||
echo " $CFLAGS" | grep ' -g' >/dev/null || DEBUG_CFLAGS="-g"
|
||||
|
||||
@@ -260,10 +260,6 @@ SOURCE=.\zend_qsort.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\zend_reflection_api.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\zend_sprintf.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
@@ -444,10 +440,6 @@ SOURCE=.\zend_qsort.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\zend_reflection_api.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\zend_stack.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
+8
-1
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2004 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2006 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
@@ -105,6 +105,13 @@ int zend_sprintf(char *buffer, const char *format, ...);
|
||||
|
||||
#endif /* ifndef ZEND_ACCONFIG_H_NO_C_PROTOS */
|
||||
|
||||
#ifdef NETWARE
|
||||
#ifdef USE_WINSOCK
|
||||
#/*This detection against winsock is of no use*/ undef HAVE_SOCKLEN_T
|
||||
#/*This detection against winsock is of no use*/ undef HAVE_SYS_SOCKET_H
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Local variables:
|
||||
* tab-width: 4
|
||||
|
||||
+17
-11
@@ -4,25 +4,31 @@ dnl This file contains local autoconf functions.
|
||||
|
||||
AC_DEFUN([LIBZEND_BISON_CHECK],[
|
||||
# we only support certain bison versions
|
||||
bison_version_list="1.28 1.35 1.75 1.875 2.0"
|
||||
bison_version_list="1.28 1.35 1.75 1.875 2.0 2.1"
|
||||
|
||||
# for standalone build of Zend Engine
|
||||
test -z "$SED" && SED=sed
|
||||
|
||||
bison_version=none
|
||||
if test "$YACC"; then
|
||||
AC_CACHE_CHECK([for bison version], php_cv_bison_version, [
|
||||
set `bison --version| grep 'GNU Bison' | cut -d ' ' -f 4 | $SED -e 's/\./ /'|tr -d a-z`
|
||||
bison_version="${1}.${2}"
|
||||
bison_version_vars=`bison --version 2> /dev/null | grep 'GNU Bison' | cut -d ' ' -f 4 | $SED -e 's/\./ /' | tr -d a-z`
|
||||
php_cv_bison_version=invalid
|
||||
for bison_check_version in $bison_version_list; do
|
||||
if test "$bison_version" = "$bison_check_version"; then
|
||||
php_cv_bison_version="$bison_check_version (ok)"
|
||||
fi
|
||||
done
|
||||
if test -n "$bison_version_vars"; then
|
||||
set $bison_version_vars
|
||||
bison_version="${1}.${2}"
|
||||
for bison_check_version in $bison_version_list; do
|
||||
if test "$bison_version" = "$bison_check_version"; then
|
||||
php_cv_bison_version="$bison_check_version (ok)"
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi
|
||||
])
|
||||
else
|
||||
bison_version=none
|
||||
fi
|
||||
case $php_cv_bison_version in
|
||||
""|invalid[)]
|
||||
bison_msg="bison versions supported for regeneration of the Zend/PHP parsers: $bison_version_list (found: $bison_version)."
|
||||
bison_msg="bison versions supported for regeneration of the Zend/PHP parsers: $bison_version_list (found: $bison_version)."
|
||||
AC_MSG_WARN([$bison_msg])
|
||||
YACC="exit 0;"
|
||||
;;
|
||||
|
||||
+19
-12
@@ -1,9 +1,11 @@
|
||||
<?php
|
||||
|
||||
function simple() {
|
||||
$a = 0;
|
||||
for ($i = 0; $i < 1000000; $i++)
|
||||
$a++;
|
||||
|
||||
$thisisanotherlongname = 0;
|
||||
for ($thisisalongname = 0; $thisisalongname < 1000000; $thisisalongname++)
|
||||
$thisisanotherlongname++;
|
||||
}
|
||||
@@ -70,7 +72,7 @@ function mandel() {
|
||||
print "#";
|
||||
}
|
||||
}
|
||||
print "<br>".$vbCr;
|
||||
print "<br>";
|
||||
flush();
|
||||
}
|
||||
}
|
||||
@@ -131,7 +133,7 @@ function ary2($n) {
|
||||
$X[$i] = $i; ++$i;
|
||||
$X[$i] = $i; ++$i;
|
||||
}
|
||||
for ($i=$n-1; $i>=0; $i--) {
|
||||
for ($i=$n-1; $i>=0;) {
|
||||
$Y[$i] = $X[$i]; --$i;
|
||||
$Y[$i] = $X[$i]; --$i;
|
||||
$Y[$i] = $X[$i]; --$i;
|
||||
@@ -153,6 +155,7 @@ function ary2($n) {
|
||||
function ary3($n) {
|
||||
for ($i=0; $i<$n; $i++) {
|
||||
$X[$i] = $i + 1;
|
||||
$Y[$i] = 0;
|
||||
}
|
||||
for ($k=0; $k<1000; $k++) {
|
||||
for ($i=$n-1; $i>=0; $i--) {
|
||||
@@ -166,7 +169,7 @@ function ary3($n) {
|
||||
/****/
|
||||
|
||||
function fibo_r($n){
|
||||
return(($n < 2) ? 1 : fibo($n - 2) + fibo_r($n - 1));
|
||||
return(($n < 2) ? 1 : fibo_r($n - 2) + fibo_r($n - 1));
|
||||
}
|
||||
|
||||
function fibo($n) {
|
||||
@@ -180,8 +183,9 @@ function hash($n) {
|
||||
for ($i = 1; $i <= $n; $i++) {
|
||||
$X[dechex($i)] = $i;
|
||||
}
|
||||
$c = 0;
|
||||
for ($i = $n; $i > 0; $i--) {
|
||||
if ($X[$i]) { $c++; }
|
||||
if ($X[dechex($i)]) { $c++; }
|
||||
}
|
||||
print "$c\n";
|
||||
}
|
||||
@@ -189,13 +193,16 @@ function hash($n) {
|
||||
/****/
|
||||
|
||||
function hash2($n) {
|
||||
for ($i = 0; $i < 10000; $i++) {
|
||||
for ($i = 0; $i < $n; $i++) {
|
||||
$hash1["foo_$i"] = $i;
|
||||
$hash2["foo_$i"] = 0;
|
||||
}
|
||||
for ($i = $n; $i > 0; $i--) {
|
||||
foreach($hash1 as $key => $value) $hash2[$key] += $value;
|
||||
}
|
||||
print "$hash1[foo_1] $hash1[foo_9999] $hash2[foo_1] $hash2[foo_9999]\n";
|
||||
$first = "foo_0";
|
||||
$last = "foo_".($n-1);
|
||||
print "$hash1[$first] $hash1[$last] $hash2[$first] $hash2[$last]\n";
|
||||
}
|
||||
|
||||
/****/
|
||||
@@ -336,10 +343,10 @@ function strcat($n) {
|
||||
/*****/
|
||||
|
||||
function getmicrotime()
|
||||
{
|
||||
list($usec, $sec) = explode(" ",microtime());
|
||||
return ((float)$usec + (float)$sec);
|
||||
}
|
||||
{
|
||||
$t = gettimeofday();
|
||||
return ($t['sec'] + $t['usec'] / 1000000);
|
||||
}
|
||||
|
||||
function start_test()
|
||||
{
|
||||
@@ -396,8 +403,8 @@ fibo(30);
|
||||
$t = end_test($t, "fibo(30)");
|
||||
hash(50000);
|
||||
$t = end_test($t, "hash(50000)");
|
||||
hash2(50);
|
||||
$t = end_test($t, "hash2(50)");
|
||||
hash2(500);
|
||||
$t = end_test($t, "hash2(500)");
|
||||
heapsort(20000);
|
||||
$t = end_test($t, "heapsort(20000)");
|
||||
matrix(20);
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2005 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2006 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -12,4 +12,4 @@ foo(123);
|
||||
--EXPECTF--
|
||||
3
|
||||
|
||||
Fatal error: Argument 1 must be an array in %sarray_type_hint_001.php on line 2
|
||||
Fatal error: Argument 1 passed to foo() must be an array, called in %sarray_type_hint_001.php on line 7 and defined in %sarray_type_hint_001.php on line 2
|
||||
@@ -39,5 +39,5 @@ echo "Done\n";
|
||||
2
|
||||
3
|
||||
Done
|
||||
test::__destruct
|
||||
test::destructor
|
||||
test::__destruct
|
||||
@@ -34,6 +34,3 @@ $c->viewMom();
|
||||
--EXPECT--
|
||||
protected method
|
||||
protected property
|
||||
--EXPECT--
|
||||
protected method
|
||||
protected property
|
||||
@@ -8,7 +8,7 @@ class Test {
|
||||
function __copy()
|
||||
{
|
||||
$string = PHP_VERSION;
|
||||
$version = $string{0};
|
||||
$version = $string[0];
|
||||
if($string < 5)
|
||||
{
|
||||
return $this;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
--TEST--
|
||||
Bug #26077 Memory leaks when creating an instance of an object
|
||||
Bug #26077 (Memory leaks when creating an instance of an object)
|
||||
--FILE--
|
||||
<?php
|
||||
class foo {} new foo();
|
||||
|
||||
@@ -3,7 +3,7 @@ Bug #26281 (switch() crash when condition is a string offset)
|
||||
--FILE--
|
||||
<?php
|
||||
$x = 'abc';
|
||||
switch ($x{0}) {
|
||||
switch ($x[0]) {
|
||||
case 'a':
|
||||
echo "no crash\n";
|
||||
break;
|
||||
|
||||
@@ -4,14 +4,14 @@ Bug #26801 (switch ($a{0}) crash)
|
||||
<?php
|
||||
|
||||
$a = '11';
|
||||
$b = $a{0};
|
||||
$b = $a[0];
|
||||
switch ($b) {
|
||||
case '-':
|
||||
break;
|
||||
}
|
||||
|
||||
$a = '22';
|
||||
switch ($a{0}) {
|
||||
switch ($a[0]) {
|
||||
case '-':
|
||||
break;
|
||||
}
|
||||
|
||||
Executable
+28
@@ -0,0 +1,28 @@
|
||||
--TEST--
|
||||
Bug #27268 (Bad references accentuated by clone)
|
||||
--FILE--
|
||||
<?php
|
||||
class A
|
||||
{
|
||||
public function &getA()
|
||||
{
|
||||
return $this->a;
|
||||
}
|
||||
}
|
||||
|
||||
$A = new A;
|
||||
$A->a = array(1);
|
||||
$x = $A->getA();
|
||||
$clone = clone $A;
|
||||
$clone->a = array();
|
||||
print_r($A);
|
||||
?>
|
||||
--EXPECT--
|
||||
A Object
|
||||
(
|
||||
[a] => Array
|
||||
(
|
||||
[0] => 1
|
||||
)
|
||||
|
||||
)
|
||||
Executable
+46
@@ -0,0 +1,46 @@
|
||||
--TEST--
|
||||
Bug #28072 (static array with some constant keys will be incorrectly ordered)
|
||||
--FILE--
|
||||
<?php
|
||||
define("FIRST_KEY", "a");
|
||||
define("THIRD_KEY", "c");
|
||||
|
||||
|
||||
function test()
|
||||
{
|
||||
static $arr = array(
|
||||
FIRST_KEY => "111",
|
||||
"b" => "222",
|
||||
THIRD_KEY => "333",
|
||||
"d" => "444"
|
||||
);
|
||||
print_r($arr);
|
||||
}
|
||||
|
||||
function test2()
|
||||
{
|
||||
static $arr = array(
|
||||
FIRST_KEY => "111",
|
||||
"a" => "222",
|
||||
"c" => "333",
|
||||
THIRD_KEY => "444"
|
||||
);
|
||||
print_r($arr);
|
||||
}
|
||||
|
||||
test();
|
||||
test2();
|
||||
?>
|
||||
--EXPECT--
|
||||
Array
|
||||
(
|
||||
[a] => 111
|
||||
[b] => 222
|
||||
[c] => 333
|
||||
[d] => 444
|
||||
)
|
||||
Array
|
||||
(
|
||||
[a] => 111
|
||||
[c] => 444
|
||||
)
|
||||
Executable
+23
@@ -0,0 +1,23 @@
|
||||
--TEST--
|
||||
Bug #28377 (debug_backtrace is intermittently passing args)
|
||||
--FILE--
|
||||
<?php
|
||||
function doit($a, $b)
|
||||
{
|
||||
$trace = debug_backtrace();
|
||||
custom_callback('dereferenced', $trace);
|
||||
custom_callback('direct', debug_backtrace());
|
||||
}
|
||||
|
||||
function custom_callback($traceName, $btInfo)
|
||||
{
|
||||
echo $traceName ." -- args: ";
|
||||
echo isset($btInfo[0]['args']) ? count($btInfo[0]['args']) : 'does not exist';
|
||||
echo "\n";
|
||||
}
|
||||
|
||||
doit('a','b');
|
||||
?>
|
||||
--EXPECT--
|
||||
dereferenced -- args: 2
|
||||
direct -- args: 2
|
||||
@@ -89,10 +89,14 @@ if (is_callable(array('test_class','test_func4'))) {
|
||||
$object = new foo();
|
||||
$object->test();
|
||||
?>
|
||||
--EXPECT--
|
||||
--EXPECTF--
|
||||
test_func1
|
||||
test_func2
|
||||
|
||||
Strict Standards: Non-static method test_class::test_func3() cannot be called statically, assuming $this from compatible context test_class in %sbug29210.php on line %d
|
||||
test_func3
|
||||
|
||||
Strict Standards: Non-static method test_class::test_func4() cannot be called statically, assuming $this from compatible context test_class in %sbug29210.php on line %d
|
||||
test_func4
|
||||
test_func1 isn't callable from outside
|
||||
test_func2 isn't callable from outside
|
||||
@@ -100,5 +104,9 @@ test_func3 isn't callable from outside
|
||||
test_func4 isn't callable from outside
|
||||
test_func1 isn't callable from child
|
||||
test_func2
|
||||
|
||||
Strict Standards: Non-static method test_class::test_func3() cannot be called statically, assuming $this from compatible context foo in %sbug29210.php on line %d
|
||||
test_func3 isn't callable from child
|
||||
|
||||
Strict Standards: Non-static method test_class::test_func4() cannot be called statically, assuming $this from compatible context foo in %sbug29210.php on line %d
|
||||
test_func4
|
||||
@@ -1,7 +1,7 @@
|
||||
--TEST--
|
||||
Bug #29368 (The destructor is called when an exception is thrown from the constructor)
|
||||
--FILE--
|
||||
<?
|
||||
<?php
|
||||
|
||||
class Foo
|
||||
{
|
||||
|
||||
Executable
+28
@@ -0,0 +1,28 @@
|
||||
--TEST--
|
||||
Bug #29896 (Backtrace argument list out of sync)
|
||||
--FILE--
|
||||
<?php
|
||||
function userErrorHandler($num, $msg, $file, $line, $vars)
|
||||
{
|
||||
debug_print_backtrace();
|
||||
}
|
||||
|
||||
$OldErrorHandler = set_error_handler("userErrorHandler");
|
||||
|
||||
function GenerateError1($A1)
|
||||
{
|
||||
$a = $b;
|
||||
}
|
||||
|
||||
function GenerateError2($A1)
|
||||
{
|
||||
GenerateError1("Test1");
|
||||
}
|
||||
|
||||
GenerateError2("Test2");
|
||||
?>
|
||||
--EXPECTF--
|
||||
#0 userErrorHandler(8, Undefined variable: b, %sbug29896.php, 11, Array ([A1] => Test1)) called at [%sbug29896.php:11]
|
||||
#1 GenerateError1(Test1) called at [%sbug29896.php:16]
|
||||
#2 GenerateError2(Test2) called at [%sbug29896.php:19]
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
--TEST--
|
||||
Bug 30346 (arrayAcces & using $this)
|
||||
Bug #30346 (arrayAccess and using $this)
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
@@ -21,4 +21,4 @@ echo "\n";
|
||||
===DONE===
|
||||
--EXPECT--
|
||||
page_show
|
||||
===DONE===
|
||||
===DONE===
|
||||
Executable
+10
@@ -0,0 +1,10 @@
|
||||
--TEST--
|
||||
Bug #30519 Interface not existing says Class not found
|
||||
--FILE--
|
||||
<?php
|
||||
class test implements a {
|
||||
}
|
||||
?>
|
||||
--EXPECTF--
|
||||
Fatal error: Interface 'a' not found in %sbug30519.php on line 2
|
||||
|
||||
Executable
+61
@@ -0,0 +1,61 @@
|
||||
--TEST--
|
||||
Bug #30828 (debug_backtrace() reports incorrect class in overridden methods)
|
||||
--FILE--
|
||||
<?php
|
||||
class A {
|
||||
function __construct() {
|
||||
debug_print_backtrace();
|
||||
$bt = debug_backtrace();
|
||||
foreach ($bt as $t) {
|
||||
print $t['class'].$t['type'].$t['function']."\n";
|
||||
}
|
||||
}
|
||||
|
||||
function foo() {
|
||||
debug_print_backtrace();
|
||||
$bt = debug_backtrace();
|
||||
foreach ($bt as $t) {
|
||||
print $t['class'].$t['type'].$t['function']."\n";
|
||||
}
|
||||
}
|
||||
|
||||
static function bar() {
|
||||
debug_print_backtrace();
|
||||
$bt = debug_backtrace();
|
||||
foreach ($bt as $t) {
|
||||
print $t['class'].$t['type'].$t['function']."\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class B extends A {
|
||||
function __construct() {
|
||||
parent::__construct();
|
||||
}
|
||||
|
||||
function foo() {
|
||||
parent::foo();
|
||||
}
|
||||
|
||||
static function bar() {
|
||||
parent::bar();
|
||||
}
|
||||
}
|
||||
|
||||
$b = new B();
|
||||
$b->foo();
|
||||
B::bar();
|
||||
?>
|
||||
--EXPECTF--
|
||||
#0 A->__construct() called at [%sbug30828.php:30]
|
||||
#1 B->__construct() called at [%sbug30828.php:42]
|
||||
A->__construct
|
||||
B->__construct
|
||||
#0 A->foo() called at [%sbug30828.php:34]
|
||||
#1 B->foo() called at [%sbug30828.php:43]
|
||||
A->foo
|
||||
B->foo
|
||||
#0 A::bar() called at [%sbug30828.php:38]
|
||||
#1 B::bar() called at [%sbug30828.php:44]
|
||||
A::bar
|
||||
B::bar
|
||||
@@ -9,11 +9,11 @@ var_dump(isset($a->b));
|
||||
$a = '0';
|
||||
var_dump(isset($a->b));
|
||||
$a = '';
|
||||
var_dump(isset($a{'b'}));
|
||||
var_dump(isset($a['b']));
|
||||
$a = 'a';
|
||||
var_dump(isset($a{'b'}));
|
||||
var_dump(isset($a['b']));
|
||||
$a = '0';
|
||||
var_dump(isset($a{'b'}));
|
||||
var_dump(isset($a['b']));
|
||||
|
||||
$simpleString = "Bogus String Text";
|
||||
echo isset($simpleString->wrong)?"bug\n":"ok\n";
|
||||
|
||||
Executable
+18
@@ -0,0 +1,18 @@
|
||||
--TEST--
|
||||
Bug #31177 (memory corruption because of incorrect refcounting)
|
||||
--FILE--
|
||||
<?php
|
||||
class foo {
|
||||
function foo($n=0) {
|
||||
if($n) throw new Exception("new");
|
||||
}
|
||||
}
|
||||
$x = new foo();
|
||||
try {
|
||||
$y=$x->foo(1);
|
||||
} catch (Exception $e) {
|
||||
var_dump($x);
|
||||
}
|
||||
--EXPECT--
|
||||
object(foo)#1 (0) {
|
||||
}
|
||||
Executable
+29
@@ -0,0 +1,29 @@
|
||||
--TEST--
|
||||
Bug #31341 (escape on curly inconsistent)
|
||||
--FILE--
|
||||
<?php
|
||||
$a = array(
|
||||
"$ \{ ",
|
||||
" \{ $",
|
||||
" \{$ ",
|
||||
" $\{ ",
|
||||
" \$\{ ",
|
||||
" \{\$ ",
|
||||
"\$ \{ ",
|
||||
" \{ \$",
|
||||
"% \{ ");
|
||||
|
||||
foreach ($a as $v) {
|
||||
echo("'$v'\n");
|
||||
}
|
||||
?>
|
||||
--EXPECT--
|
||||
'$ \{ '
|
||||
' \{ $'
|
||||
' \{$ '
|
||||
' $\{ '
|
||||
' $\{ '
|
||||
' \{$ '
|
||||
'$ \{ '
|
||||
' \{ $'
|
||||
'% \{ '
|
||||
@@ -1,7 +1,7 @@
|
||||
--TEST--
|
||||
Bug #31720 (Invalid object callbacks not caught in array_walk())
|
||||
--FILE--
|
||||
<?
|
||||
<?php
|
||||
$array = array('at least one element');
|
||||
|
||||
array_walk($array, array($nonesuchvar,'show'));
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
--TEST--
|
||||
Bug # 32226 (SEGV with exception handler on non existing instance)
|
||||
Bug #32226 (SEGV with exception handler on non existing instance)
|
||||
--FILE--
|
||||
<?
|
||||
<?php
|
||||
|
||||
class A
|
||||
{
|
||||
|
||||
@@ -7,7 +7,31 @@ class TestA
|
||||
{
|
||||
public function doSomething($i)
|
||||
{
|
||||
echo __METHOD__ . "($this)\n";
|
||||
echo __METHOD__ . "($i)\n";
|
||||
return --$i;
|
||||
}
|
||||
|
||||
public function doSomethingThis($i)
|
||||
{
|
||||
echo __METHOD__ . "($i)\n";
|
||||
return --$i;
|
||||
}
|
||||
|
||||
public function doSomethingParent($i)
|
||||
{
|
||||
echo __METHOD__ . "($i)\n";
|
||||
return --$i;
|
||||
}
|
||||
|
||||
public function doSomethingParentThis($i)
|
||||
{
|
||||
echo __METHOD__ . "($i)\n";
|
||||
return --$i;
|
||||
}
|
||||
|
||||
public static function doSomethingStatic($i)
|
||||
{
|
||||
echo __METHOD__ . "($i)\n";
|
||||
return --$i;
|
||||
}
|
||||
}
|
||||
@@ -16,20 +40,87 @@ class TestB extends TestA
|
||||
{
|
||||
public function doSomething($i)
|
||||
{
|
||||
echo __METHOD__ . "($this)\n";
|
||||
echo __METHOD__ . "($i)\n";
|
||||
$i++;
|
||||
if ($i >= 5) return 5;
|
||||
return call_user_func_array(array("TestA","doSomething"), array($i));
|
||||
return call_user_func_array(array("TestA", "doSomething"), array($i));
|
||||
}
|
||||
|
||||
public function doSomethingThis($i)
|
||||
{
|
||||
echo __METHOD__ . "($i)\n";
|
||||
$i++;
|
||||
if ($i >= 5) return 5;
|
||||
return call_user_func_array(array($this, "TestA::doSomethingThis"), array($i));
|
||||
}
|
||||
|
||||
public function doSomethingParent($i)
|
||||
{
|
||||
echo __METHOD__ . "($i)\n";
|
||||
$i++;
|
||||
if ($i >= 5) return 5;
|
||||
return call_user_func_array(array("parent", "doSomethingParent"), array($i));
|
||||
}
|
||||
|
||||
public function doSomethingParentThis($i)
|
||||
{
|
||||
echo __METHOD__ . "($i)\n";
|
||||
$i++;
|
||||
if ($i >= 5) return 5;
|
||||
return call_user_func_array(array($this, "parent::doSomethingParentThis"), array($i));
|
||||
}
|
||||
|
||||
public static function doSomethingStatic($i)
|
||||
{
|
||||
echo __METHOD__ . "($i)\n";
|
||||
$i++;
|
||||
if ($i >= 5) return 5;
|
||||
return call_user_func_array(array("TestA", "doSomethingStatic"), array($i));
|
||||
}
|
||||
}
|
||||
|
||||
$x = new TestB();
|
||||
echo "===A===\n";
|
||||
var_dump($x->doSomething(1));
|
||||
echo "\n===B===\n";
|
||||
var_dump($x->doSomethingThis(1));
|
||||
echo "\n===C===\n";
|
||||
var_dump($x->doSomethingParent(1));
|
||||
echo "\n===D===\n";
|
||||
var_dump($x->doSomethingParentThis(1));
|
||||
echo "\n===E===\n";
|
||||
var_dump($x->doSomethingStatic(1));
|
||||
|
||||
?>
|
||||
===DONE===
|
||||
<?php exit(0); ?>
|
||||
--EXPECTF--
|
||||
TestB::doSomething(Object id #%d)
|
||||
TestA::doSomething(Object id #%d)
|
||||
===A===
|
||||
TestB::doSomething(1)
|
||||
|
||||
Strict Standards: Non-static method TestA::doSomething() cannot be called statically, assuming $this from compatible context TestB in %sbug32290.php on line %d
|
||||
TestA::doSomething(2)
|
||||
int(1)
|
||||
|
||||
===B===
|
||||
TestB::doSomethingThis(1)
|
||||
TestA::doSomethingThis(2)
|
||||
int(1)
|
||||
|
||||
===C===
|
||||
TestB::doSomethingParent(1)
|
||||
|
||||
Strict Standards: Non-static method TestA::doSomethingParent() cannot be called statically, assuming $this from compatible context TestB in %sbug32290.php on line %d
|
||||
TestA::doSomethingParent(2)
|
||||
int(1)
|
||||
|
||||
===D===
|
||||
TestB::doSomethingParentThis(1)
|
||||
TestA::doSomethingParentThis(2)
|
||||
int(1)
|
||||
|
||||
===E===
|
||||
TestB::doSomethingStatic(1)
|
||||
TestA::doSomethingStatic(2)
|
||||
int(1)
|
||||
===DONE===
|
||||
@@ -9,5 +9,5 @@ Bug #32428 (The @ warning error supression operator is broken)
|
||||
$data = @($not_exists+1);
|
||||
echo "ok\n";
|
||||
?>
|
||||
--EXPEXT--
|
||||
--EXPECT--
|
||||
ok
|
||||
Executable
+36
@@ -0,0 +1,36 @@
|
||||
--TEST--
|
||||
Bug #32660 Assignment by reference causes crash when field access is overloaded (__get)
|
||||
--FILE--
|
||||
<?php
|
||||
class A
|
||||
{
|
||||
public $q;
|
||||
|
||||
function __construct()
|
||||
{
|
||||
$this->q = 3;//array();
|
||||
}
|
||||
|
||||
function __get($name)
|
||||
{
|
||||
return $this->q;
|
||||
}
|
||||
}
|
||||
|
||||
$a = new A;
|
||||
|
||||
$b = "short";
|
||||
$c =& $a->whatever;
|
||||
$c = "long";
|
||||
print_r($a);
|
||||
$a->whatever =& $b;
|
||||
$b = "much longer";
|
||||
print_r($a);
|
||||
?>
|
||||
--EXPECTF--
|
||||
A Object
|
||||
(
|
||||
[q] => long
|
||||
)
|
||||
|
||||
Fatal error: Cannot assign by reference to overloaded object in %sbug32660.php on line 23
|
||||
Executable
+25
@@ -0,0 +1,25 @@
|
||||
--TEST--
|
||||
Bug #33257 array_splice() inconsistent when passed function instead of variable
|
||||
--INI--
|
||||
error_reporting=4095
|
||||
--FILE--
|
||||
<?php
|
||||
class X {
|
||||
protected static $arr = array("a", "b", "c");
|
||||
public static function getArr() {
|
||||
return self::$arr;
|
||||
}
|
||||
}
|
||||
|
||||
//$arr1 = X::getArr();
|
||||
array_splice(X::getArr(), 1, 1);
|
||||
print_r(X::getArr());
|
||||
?>
|
||||
--EXPECTF--
|
||||
Strict Standards: Only variables should be passed by reference in %sbug33257.php on line 10
|
||||
Array
|
||||
(
|
||||
[0] => a
|
||||
[1] => b
|
||||
[2] => c
|
||||
)
|
||||
@@ -1,7 +1,7 @@
|
||||
--TEST--
|
||||
Bug #33277 (private method accessed by child class)
|
||||
--FILE--
|
||||
<?
|
||||
<?php
|
||||
class foo {
|
||||
private function bar() {
|
||||
echo "private!\n";
|
||||
|
||||
Executable
+8
@@ -0,0 +1,8 @@
|
||||
--TEST--
|
||||
Bug #33318 (throw 1; results in Invalid opcode 108/1/8)
|
||||
--FILE--
|
||||
<?php
|
||||
throw 1;
|
||||
?>
|
||||
--EXPECTF--
|
||||
Fatal error: Can only throw objects in %sbug33318.php on line 2
|
||||
Executable
+66
@@ -0,0 +1,66 @@
|
||||
--TEST--
|
||||
Bug #33512 (unset() overloaded properties doesn't work)
|
||||
--FILE--
|
||||
<?php
|
||||
class TheObj {
|
||||
public $RealVar1, $RealVar2, $RealVar3, $RealVar4;
|
||||
public $Var = array();
|
||||
|
||||
function __set($var, $val) {
|
||||
$this->Var[$var] = $val;
|
||||
}
|
||||
function __get($var) {
|
||||
if(isset($this->Var[$var])) return $this->Var[$var];
|
||||
else return -1;
|
||||
}
|
||||
function __unset($var) {
|
||||
unset($this->Var[$var]);
|
||||
}
|
||||
}
|
||||
|
||||
$SomeObj = new TheObj;
|
||||
|
||||
// this will fine
|
||||
$SomeObj->RealVar1 = 'somevalue';
|
||||
$SomeObj->{'RealVar2'} = 'othervalue';
|
||||
$SomeObj->{'RealVar'.(3)} = 'othervaluetoo';
|
||||
$SomeObj->{'RealVar'.'4'} = 'anothervalue';
|
||||
|
||||
// this will fine too
|
||||
$SomeObj->Virtual1 = 'somevalue';
|
||||
$SomeObj->{'Virtual2'} = 'othervalue';
|
||||
|
||||
// it's can't be used since this will encounter error
|
||||
$SomeObj->{'Virtual'.(3)} = 'othervaluetoo';
|
||||
$SomeObj->{'Virtual'.'4'} = 'anothervalue';
|
||||
|
||||
// but this will fine, ofcourse
|
||||
$SomeObj->Var['Virtual'.(3)] = 'othervaluetoo';
|
||||
$SomeObj->Var['Virtual'.'4'] = 'anothervalue';
|
||||
|
||||
|
||||
var_dump($SomeObj->RealVar1);
|
||||
print $SomeObj->{'RealVar'.(3)}."\n";
|
||||
|
||||
unset($SomeObj->RealVar1);
|
||||
unset($SomeObj->{'RealVar'.(3)});
|
||||
|
||||
//the lines below will catch by '__get' magic method since these variables are unavailable anymore
|
||||
var_dump($SomeObj->RealVar1);
|
||||
print $SomeObj->{'RealVar'.(3)}."\n";
|
||||
|
||||
// now we will try to unset these variables
|
||||
unset($SomeObj->Virtual1);
|
||||
unset($SomeObj->{'Virtual'.(3)});
|
||||
|
||||
//but, these variables are still available??? eventhough they're "unset"-ed
|
||||
print $SomeObj->Virtual1."\n";
|
||||
print $SomeObj->{'Virtual'.(3)}."\n";
|
||||
?>
|
||||
--EXPECT--
|
||||
string(9) "somevalue"
|
||||
othervaluetoo
|
||||
int(-1)
|
||||
-1
|
||||
-1
|
||||
-1
|
||||
Executable
+21
@@ -0,0 +1,21 @@
|
||||
--TEST--
|
||||
Bug #33558 (warning with nested calls to functions returning by reference)
|
||||
--INI--
|
||||
error_reporting=4095
|
||||
--FILE--
|
||||
<?php
|
||||
function & foo() {
|
||||
$var = 'ok';
|
||||
return $var;
|
||||
}
|
||||
|
||||
function & bar() {
|
||||
return foo();
|
||||
}
|
||||
|
||||
$a =& bar();
|
||||
echo "$a\n";
|
||||
?>
|
||||
--EXPECT--
|
||||
ok
|
||||
|
||||
Executable
+32
@@ -0,0 +1,32 @@
|
||||
--TEST--
|
||||
Bug #33710 (ArrayAccess objects doesn't initialize $this)
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
class Foo implements ArrayAccess
|
||||
{
|
||||
function offsetExists($offset) {/*...*/}
|
||||
function offsetGet($offset) {/*...*/}
|
||||
function offsetSet($offset, $value) {/*...*/}
|
||||
function offsetUnset($offset) {/*...*/}
|
||||
|
||||
function fail()
|
||||
{
|
||||
$this['blah'];
|
||||
}
|
||||
|
||||
function succeed()
|
||||
{
|
||||
$this;
|
||||
$this['blah'];
|
||||
}
|
||||
}
|
||||
|
||||
$bar = new Foo();
|
||||
$bar->succeed();
|
||||
$bar->fail();
|
||||
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECT--
|
||||
===DONE===
|
||||
Executable
+45
@@ -0,0 +1,45 @@
|
||||
--TEST--
|
||||
Bug #33732 (Wrong behavior of constants in class and interface extending)
|
||||
--FILE--
|
||||
<?php
|
||||
interface iA {
|
||||
const cA = "const of iA\n";
|
||||
}
|
||||
|
||||
class A implements iA {
|
||||
}
|
||||
|
||||
class B extends A implements iA {
|
||||
}
|
||||
|
||||
echo iA::cA;
|
||||
echo A::cA;
|
||||
echo B::cA;
|
||||
|
||||
|
||||
interface iA2 {
|
||||
const cA = "const of iA2\n";
|
||||
}
|
||||
|
||||
interface iB2 extends iA2 {
|
||||
}
|
||||
|
||||
class A2 implements iA2 {
|
||||
}
|
||||
|
||||
class B2 extends A2 implements iB2 {
|
||||
}
|
||||
|
||||
echo iA2::cA;
|
||||
echo A2::cA;
|
||||
echo iB2::cA;
|
||||
echo B2::cA;
|
||||
?>
|
||||
--EXPECT--
|
||||
const of iA
|
||||
const of iA
|
||||
const of iA
|
||||
const of iA2
|
||||
const of iA2
|
||||
const of iA2
|
||||
const of iA2
|
||||
@@ -0,0 +1,40 @@
|
||||
--TEST--
|
||||
bug #33771 (error_reporting falls to 0 when @ was used inside try/catch block)
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
error_reporting(E_ALL | E_STRICT);
|
||||
|
||||
var_dump(error_reporting());
|
||||
|
||||
function make_exception()
|
||||
{
|
||||
throw new Exception();
|
||||
}
|
||||
|
||||
function make_exception_and_change_err_reporting()
|
||||
{
|
||||
error_reporting(E_ALL);
|
||||
throw new Exception();
|
||||
}
|
||||
|
||||
|
||||
try {
|
||||
@make_exception();
|
||||
} catch (Exception $e) {}
|
||||
|
||||
var_dump(error_reporting());
|
||||
|
||||
try {
|
||||
@make_exception_and_change_err_reporting();
|
||||
} catch (Exception $e) {}
|
||||
|
||||
var_dump(error_reporting());
|
||||
|
||||
echo "Done\n";
|
||||
?>
|
||||
--EXPECTF--
|
||||
int(4095)
|
||||
int(4095)
|
||||
int(2047)
|
||||
Done
|
||||
Executable
+22
@@ -0,0 +1,22 @@
|
||||
--TEST--
|
||||
Bug #33802 (throw Exception in error handler causes crash)
|
||||
--FILE--
|
||||
<?php
|
||||
set_error_handler('errorHandler', E_USER_ERROR);
|
||||
try{
|
||||
test();
|
||||
}catch(Exception $e){
|
||||
}
|
||||
restore_error_handler();
|
||||
|
||||
function test(){
|
||||
trigger_error("error", E_USER_ERROR);
|
||||
}
|
||||
|
||||
function errorHandler($errno, $errstr, $errfile, $errline) {
|
||||
throw new Exception();
|
||||
}
|
||||
?>
|
||||
ok
|
||||
--EXPECT--
|
||||
ok
|
||||
Executable
+29
@@ -0,0 +1,29 @@
|
||||
--TEST--
|
||||
Bug #33996 (No information given for fatal error on passing invalid value to typed argument)
|
||||
--INI--
|
||||
error_reporting=4095
|
||||
--FILE--
|
||||
<?php
|
||||
class Foo
|
||||
{
|
||||
// nothing
|
||||
}
|
||||
|
||||
function FooTest(Foo $foo)
|
||||
{
|
||||
echo "Hello!";
|
||||
}
|
||||
|
||||
function NormalTest($a)
|
||||
{
|
||||
echo "Hi!";
|
||||
}
|
||||
|
||||
NormalTest();
|
||||
FooTest();
|
||||
FooTest(new Foo());
|
||||
?>
|
||||
--EXPECTF--
|
||||
Warning: Missing argument 1 for NormalTest(), called in %sbug33996.php on line 17 and defined in %sbug33996.php on line 12
|
||||
Hi!
|
||||
Fatal error: Argument 1 passed to FooTest() must be an object of class Foo, called in %sbug33996.php on line 18 and defined in %sbug33996.php on line 7
|
||||
Executable
+30
@@ -0,0 +1,30 @@
|
||||
--TEST--
|
||||
Bug #33999 (object remains object when cast to int)
|
||||
--INI--
|
||||
error_reporting=4095
|
||||
--FILE--
|
||||
<?php
|
||||
class Foo {
|
||||
public $bar = "bat";
|
||||
}
|
||||
|
||||
$foo = new Foo;
|
||||
var_dump($foo);
|
||||
|
||||
$bar = (int)$foo;
|
||||
var_dump($bar);
|
||||
|
||||
$baz = (float)$foo;
|
||||
var_dump($baz);
|
||||
?>
|
||||
--EXPECTF--
|
||||
object(Foo)#1 (1) {
|
||||
["bar"]=>
|
||||
string(3) "bat"
|
||||
}
|
||||
|
||||
Notice: Object of class Foo could not be converted to int in %sbug33999.php on line 9
|
||||
int(1)
|
||||
|
||||
Notice: Object of class Foo could not be converted to double in %sbug33999.php on line 12
|
||||
float(1)
|
||||
Executable
+28
@@ -0,0 +1,28 @@
|
||||
--TEST--
|
||||
Bug #34045 (Buffer overflow with serialized object)
|
||||
--FILE--
|
||||
<?php
|
||||
class BasicSingleton
|
||||
{
|
||||
private static $instance;
|
||||
|
||||
public function __wakeup() {
|
||||
self::$instance = $this;
|
||||
}
|
||||
|
||||
public static function singleton() {
|
||||
if (!(self::$instance instanceof BasicSingleton)) {
|
||||
$c = __CLASS__;
|
||||
self::$instance = new $c;
|
||||
}
|
||||
return self::$instance;
|
||||
}
|
||||
}
|
||||
|
||||
$db = BasicSingleton::singleton();
|
||||
$db_str = serialize($db);
|
||||
$db2 = unserialize($db_str);
|
||||
echo "ok\n";
|
||||
?>
|
||||
--EXPECT--
|
||||
ok
|
||||
Executable
+24
@@ -0,0 +1,24 @@
|
||||
--TEST--
|
||||
Bug #34062 (Crash in catch block when many arguments are used)
|
||||
--FILE--
|
||||
<?php
|
||||
function f1() { throw new Exception; }
|
||||
function f2() { echo "here\n"; }
|
||||
|
||||
try {
|
||||
// Currently it's the minimum required number of zeros
|
||||
// If you remove one, it won't crash
|
||||
max(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, f1());
|
||||
} catch (Exception $e) {
|
||||
echo "(((\n";
|
||||
f2(0, 0, 0); // Won't crash if less than 3 zeros here
|
||||
echo ")))\n";
|
||||
}
|
||||
?>
|
||||
--EXPECT--
|
||||
(((
|
||||
here
|
||||
)))
|
||||
|
||||
Executable
+35
@@ -0,0 +1,35 @@
|
||||
--TEST--
|
||||
Bug #34064 (arr[] as param to function in class gives invalid opcode)
|
||||
--FILE--
|
||||
<?php
|
||||
class XmlTest {
|
||||
|
||||
function test_ref(&$test)
|
||||
{
|
||||
$test = "ok";
|
||||
}
|
||||
|
||||
function test($test)
|
||||
{
|
||||
}
|
||||
|
||||
function run()
|
||||
{
|
||||
$ar = array();
|
||||
$this->test_ref($ar[]);
|
||||
var_dump($ar);
|
||||
$this->test($ar[]);
|
||||
}
|
||||
}
|
||||
|
||||
$o = new XmlTest();
|
||||
$o->run();
|
||||
?>
|
||||
--EXPECTF--
|
||||
array(1) {
|
||||
[0]=>
|
||||
string(2) "ok"
|
||||
}
|
||||
|
||||
Fatal error: Cannot use [] for reading in %sbug34064.php on line 18
|
||||
|
||||
Executable
+10
@@ -0,0 +1,10 @@
|
||||
--TEST--
|
||||
Bug #34137 (assigning array element by reference causes binary mess)
|
||||
--FILE--
|
||||
<?php
|
||||
$arr1 = array('a1' => array('alfa' => 'ok'));
|
||||
$arr1 =& $arr1['a1'];
|
||||
echo '-'.$arr1['alfa']."-\n";
|
||||
?>
|
||||
--EXPECT--
|
||||
-ok-
|
||||
Executable
+18
@@ -0,0 +1,18 @@
|
||||
--TEST--
|
||||
Bug #34199 (if($obj)/if(!$obj) inconsistency because of cast handler)
|
||||
--SKIPIF--
|
||||
<?php if (!extension_loaded("simplexml")) print "skip"; ?>
|
||||
--FILE--
|
||||
<?php
|
||||
$xml = "<root></root>";
|
||||
$xml = simplexml_load_string($xml);
|
||||
$kids = $xml->children();
|
||||
var_dump((bool)$kids);
|
||||
if($kids) echo "bug\n"; else echo "ok\n";
|
||||
if(!$kids) echo "ok\n"; else echo "bug\n";
|
||||
?>
|
||||
--EXPECT--
|
||||
bool(false)
|
||||
ok
|
||||
ok
|
||||
|
||||
Executable
+36
@@ -0,0 +1,36 @@
|
||||
--TEST--
|
||||
Bug #34260 (Segfault with callbacks (array_map) + overloading)
|
||||
--FILE--
|
||||
<?php
|
||||
class Faulty
|
||||
{
|
||||
function __call($Method,$Args)
|
||||
{
|
||||
switch($Method)
|
||||
{
|
||||
case 'seg':
|
||||
echo "I hate me\n";
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
function NormalMethod($Args)
|
||||
{
|
||||
echo "I heart me\n";
|
||||
}
|
||||
}
|
||||
|
||||
$Faulty = new Faulty();
|
||||
$Array = array('Some junk','Some other junk');
|
||||
|
||||
// This causes a seg fault.
|
||||
$Failure = array_map(array($Faulty,'seg'),$Array);
|
||||
|
||||
// This does not.
|
||||
$Failure = array_map(array($Faulty,'NormalMethod'),$Array);
|
||||
?>
|
||||
--EXPECT--
|
||||
I hate me
|
||||
I hate me
|
||||
I heart me
|
||||
I heart me
|
||||
@@ -0,0 +1,34 @@
|
||||
--TEST--
|
||||
Bug #34310 (foreach($arr as $c->d => $x) crashes)
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
class C
|
||||
{
|
||||
public $d;
|
||||
}
|
||||
|
||||
$c = new C();
|
||||
|
||||
$arr = array (1 => 'a', 2 => 'b', 3 => 'c');
|
||||
|
||||
// Works fine:
|
||||
foreach($arr as $x => $c->d)
|
||||
{
|
||||
echo "{$x} => {$c->d}\n";
|
||||
}
|
||||
|
||||
// Crashes:
|
||||
foreach($arr as $c->d => $x)
|
||||
{
|
||||
echo "{$c->d} => {$x}\n";
|
||||
}
|
||||
|
||||
?>
|
||||
--EXPECT--
|
||||
1 => a
|
||||
2 => b
|
||||
3 => c
|
||||
1 => a
|
||||
2 => b
|
||||
3 => c
|
||||
Executable
+15
@@ -0,0 +1,15 @@
|
||||
--TEST--
|
||||
Bug #34358 (Fatal error: Cannot re-assign $this(again))
|
||||
--FILE--
|
||||
<?php
|
||||
class foo {
|
||||
function bar() {
|
||||
$ref = &$this;
|
||||
}
|
||||
}
|
||||
$x = new foo();
|
||||
$x->bar();
|
||||
echo "ok\n";
|
||||
?>
|
||||
--EXPECT--
|
||||
ok
|
||||
Executable
+27
@@ -0,0 +1,27 @@
|
||||
--TEST--
|
||||
Bug #34467 (foreach + __get + __set incosistency)
|
||||
--FILE--
|
||||
<?php
|
||||
class abc {
|
||||
private $arr;
|
||||
|
||||
function __set ($key, $value) {
|
||||
$this->arr[$key] = $value;
|
||||
}
|
||||
|
||||
function __get ($key) {
|
||||
return $this->arr[$key];
|
||||
}
|
||||
}
|
||||
$abc = new abc();
|
||||
foreach (array (1,2,3) as $abc->k => $abc->v) {
|
||||
var_dump($abc->k,$abc->v);
|
||||
}
|
||||
?>
|
||||
--EXPECT--
|
||||
int(0)
|
||||
int(1)
|
||||
int(1)
|
||||
int(2)
|
||||
int(2)
|
||||
int(3)
|
||||
Executable
+38
@@ -0,0 +1,38 @@
|
||||
--TEST--
|
||||
Bug #34518 (Unset doesn't separate container in CV)
|
||||
--FILE--
|
||||
<?php
|
||||
$arr = array(1,2,3);
|
||||
$arr["foo"] = array(4,5,6);
|
||||
$copy = $arr;
|
||||
|
||||
unset($copy["foo"][0]);
|
||||
print_r($arr);
|
||||
print_r($copy);
|
||||
?>
|
||||
--EXPECT--
|
||||
Array
|
||||
(
|
||||
[0] => 1
|
||||
[1] => 2
|
||||
[2] => 3
|
||||
[foo] => Array
|
||||
(
|
||||
[0] => 4
|
||||
[1] => 5
|
||||
[2] => 6
|
||||
)
|
||||
|
||||
)
|
||||
Array
|
||||
(
|
||||
[0] => 1
|
||||
[1] => 2
|
||||
[2] => 3
|
||||
[foo] => Array
|
||||
(
|
||||
[1] => 5
|
||||
[2] => 6
|
||||
)
|
||||
|
||||
)
|
||||
Executable
+18
@@ -0,0 +1,18 @@
|
||||
--TEST--
|
||||
Bug #34617 (zend_deactivate: objects_store used after zend_objects_store_destroy is called)
|
||||
--SKIPIF--
|
||||
<?php if (!extension_loaded("xml")) print "skip"; ?>
|
||||
--FILE--
|
||||
<?php
|
||||
class Thing {}
|
||||
function boom()
|
||||
{
|
||||
$reader = xml_parser_create();
|
||||
xml_set_object($reader, new Thing());
|
||||
die("ok\n");
|
||||
xml_parser_free($reader);
|
||||
}
|
||||
boom();
|
||||
?>
|
||||
--EXPECT--
|
||||
ok
|
||||
Executable
+25
@@ -0,0 +1,25 @@
|
||||
--TEST--
|
||||
Bug #34678 (__call(), is_callable() and static methods)
|
||||
--FILE--
|
||||
<?php
|
||||
class A {
|
||||
public function __call($m, $a) {
|
||||
echo "__call\n";
|
||||
}
|
||||
}
|
||||
|
||||
class B extends A {
|
||||
public static function foo() {
|
||||
echo "foo\n";
|
||||
}
|
||||
}
|
||||
|
||||
if (is_callable(array('B', 'foo'))) {
|
||||
call_user_func(array('B', 'foo'));
|
||||
}
|
||||
if (is_callable(array('A', 'foo'))) {
|
||||
call_user_func(array('A', 'foo'));
|
||||
}
|
||||
?>
|
||||
--EXPECT--
|
||||
foo
|
||||
Executable
+28
@@ -0,0 +1,28 @@
|
||||
--TEST--
|
||||
Bug #34712 zend.ze1_compatibility_mode = on segfault
|
||||
--INI--
|
||||
zend.ze1_compatibility_mode=1
|
||||
error_reporting=4095
|
||||
--FILE--
|
||||
<?php
|
||||
class foo {
|
||||
function foo(&$obj_ref) {
|
||||
$this->bar = &$obj_ref;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
class bar {
|
||||
function bar() {
|
||||
$this->foo = new foo($this);
|
||||
}
|
||||
}
|
||||
|
||||
$test = new bar;
|
||||
echo "ok\n";
|
||||
?>
|
||||
--EXPECTF--
|
||||
Strict Standards: Implicit cloning object of class 'foo' because of 'zend.ze1_compatibility_mode' in %sbug34712.php on line 11
|
||||
|
||||
Strict Standards: Implicit cloning object of class 'bar' because of 'zend.ze1_compatibility_mode' in %sbug34712.php on line 15
|
||||
ok
|
||||
Executable
+33
@@ -0,0 +1,33 @@
|
||||
--TEST--
|
||||
Bug #34767 (Zend Engine 1 Compatibility not copying objects correctly)
|
||||
--INI--
|
||||
zend.ze1_compatibility_mode=1
|
||||
error_reporting=4095
|
||||
--FILE--
|
||||
<?php
|
||||
$a->y = &new stdClass();
|
||||
print_r($a);
|
||||
$b = $a;
|
||||
$a->y->z = 1;
|
||||
print_r($b);
|
||||
?>
|
||||
--EXPECTF--
|
||||
|
||||
Strict Standards: Assigning the return value of new by reference is deprecated in %sbug34767.php on line 2
|
||||
stdClass Object
|
||||
(
|
||||
[y] => stdClass Object
|
||||
(
|
||||
)
|
||||
|
||||
)
|
||||
|
||||
Strict Standards: Implicit cloning object of class 'stdClass' because of 'zend.ze1_compatibility_mode' in %sbug34767.php on line 4
|
||||
stdClass Object
|
||||
(
|
||||
[y] => stdClass Object
|
||||
(
|
||||
[z] => 1
|
||||
)
|
||||
|
||||
)
|
||||
Executable
+22
@@ -0,0 +1,22 @@
|
||||
--TEST--
|
||||
Bug #34786 (2 @ results in change to error_reporting() to random value)
|
||||
--FILE--
|
||||
<?php
|
||||
function foo($a,$b,$c) {
|
||||
echo "foo: ".error_reporting()."\n";
|
||||
}
|
||||
|
||||
function bar() {
|
||||
echo "bar: ".error_reporting()."\n";
|
||||
}
|
||||
|
||||
error_reporting(1);
|
||||
echo "before: ".error_reporting()."\n";
|
||||
@foo(1,@bar(),3);
|
||||
echo "after: ".error_reporting()."\n";
|
||||
?>
|
||||
--EXPECT--
|
||||
before: 1
|
||||
bar: 0
|
||||
foo: 0
|
||||
after: 1
|
||||
@@ -0,0 +1,27 @@
|
||||
--TEST--
|
||||
bug #34873 (Segmentation Fault on foreach in object)
|
||||
--FILE--
|
||||
<?php
|
||||
class pwa {
|
||||
public $var;
|
||||
|
||||
function __construct(){
|
||||
$this->var = array();
|
||||
}
|
||||
|
||||
function test (){
|
||||
$cont = array();
|
||||
$cont["mykey"] = "myvalue";
|
||||
|
||||
foreach ($cont as $this->var['key'] => $this->var['value'])
|
||||
var_dump($this->var['value']);
|
||||
}
|
||||
}
|
||||
$myPwa = new Pwa();
|
||||
$myPwa->test();
|
||||
|
||||
echo "Done\n";
|
||||
?>
|
||||
--EXPECT--
|
||||
string(7) "myvalue"
|
||||
Done
|
||||
Executable
+11
@@ -0,0 +1,11 @@
|
||||
--TEST--
|
||||
Bug #34879 (str_replace, array_map corrupt negative array indexes on 64-bit platforms)
|
||||
--FILE--
|
||||
<?php
|
||||
print_r(str_replace('a', 'b', array(-1 =>-1)));
|
||||
?>
|
||||
--EXPECT--
|
||||
Array
|
||||
(
|
||||
[-1] => -1
|
||||
)
|
||||
Executable
+33
@@ -0,0 +1,33 @@
|
||||
--TEST--
|
||||
Bug #34893 (PHP5.1 overloading, Cannot access private property)
|
||||
--FILE--
|
||||
<?php
|
||||
class A {
|
||||
private $p;
|
||||
function __get($name){
|
||||
return $this->$name;
|
||||
}
|
||||
function __set($name, $value) {
|
||||
$this->$name = $value;
|
||||
}
|
||||
}
|
||||
class B {
|
||||
private $t;
|
||||
function __get($name){
|
||||
return $this->$name;
|
||||
}
|
||||
function __set($name, $value) {
|
||||
$this->$name = $value;
|
||||
}
|
||||
}
|
||||
$a = new A;
|
||||
$b = new B;
|
||||
$a->p = $b;
|
||||
$b->t = "foo";
|
||||
|
||||
echo $a->p->t;
|
||||
$a->p->t = "bar";
|
||||
echo $a->p->t;
|
||||
?>
|
||||
--EXPECT--
|
||||
foobar
|
||||
Executable
+21
@@ -0,0 +1,21 @@
|
||||
--TEST--
|
||||
Bug #35017 (Exception thrown in error handler may cause unexpected behavior)
|
||||
--FILE--
|
||||
<?php
|
||||
set_error_handler('errorHandler');
|
||||
try {
|
||||
if ($a) {
|
||||
echo "1\n";
|
||||
} else {
|
||||
echo "0\n";
|
||||
}
|
||||
echo "?\n";
|
||||
} catch(Exception $e) {
|
||||
echo "This Exception should be catched\n";
|
||||
}
|
||||
function errorHandler($errno, $errstr, $errfile, $errline, $vars) {
|
||||
throw new Exception('Some Exception');
|
||||
}
|
||||
?>
|
||||
--EXPECT--
|
||||
This Exception should be catched
|
||||
Executable
+41
@@ -0,0 +1,41 @@
|
||||
--TEST--
|
||||
Bug #35239 (Objects can lose references)
|
||||
--FILE--
|
||||
<?php
|
||||
$a = new stdClass;
|
||||
$a->x0 = new stdClass;
|
||||
$a->x0->y0 = 'a';
|
||||
$a->x0->y1 =& $a->x0;
|
||||
$a->x0->y2 =& $a->x0;
|
||||
$a->x0->y0 = 'b';
|
||||
var_dump($a);
|
||||
$a->x0->y1 = "ok\n";
|
||||
echo $a->x0;
|
||||
?>
|
||||
--EXPECT--
|
||||
object(stdClass)#1 (1) {
|
||||
["x0"]=>
|
||||
&object(stdClass)#2 (3) {
|
||||
["y0"]=>
|
||||
string(1) "b"
|
||||
["y1"]=>
|
||||
&object(stdClass)#2 (3) {
|
||||
["y0"]=>
|
||||
string(1) "b"
|
||||
["y1"]=>
|
||||
*RECURSION*
|
||||
["y2"]=>
|
||||
*RECURSION*
|
||||
}
|
||||
["y2"]=>
|
||||
&object(stdClass)#2 (3) {
|
||||
["y0"]=>
|
||||
string(1) "b"
|
||||
["y1"]=>
|
||||
*RECURSION*
|
||||
["y2"]=>
|
||||
*RECURSION*
|
||||
}
|
||||
}
|
||||
}
|
||||
ok
|
||||
Executable
+30
@@ -0,0 +1,30 @@
|
||||
--TEST--
|
||||
Bug #35393 (changing static protected members from outside the class)
|
||||
--INI--
|
||||
error_reporting=4095
|
||||
--FILE--
|
||||
<?php
|
||||
class ObjectPath
|
||||
{
|
||||
static protected $type = array(0=>'main');
|
||||
|
||||
static function getType()
|
||||
{
|
||||
return self::$type;
|
||||
}
|
||||
}
|
||||
print_r(ObjectPath::getType());
|
||||
$object_type = array_pop((ObjectPath::getType()));
|
||||
print_r(ObjectPath::getType());
|
||||
?>
|
||||
--EXPECTF--
|
||||
Array
|
||||
(
|
||||
[0] => main
|
||||
)
|
||||
|
||||
Strict Standards: Only variables should be passed by reference in %sbug35393.php on line 12
|
||||
Array
|
||||
(
|
||||
[0] => main
|
||||
)
|
||||
Executable
+19
@@ -0,0 +1,19 @@
|
||||
--TEST--
|
||||
Bug #35411 (Regression with \{$ handling)
|
||||
--FILE--
|
||||
<?php
|
||||
$abc = "bar";
|
||||
echo "foo\{$abc}baz\n";
|
||||
echo "foo\{ $abc}baz\n";
|
||||
echo <<<TEST
|
||||
foo{$abc}baz
|
||||
foo\{$abc}baz
|
||||
foo\{ $abc}baz
|
||||
TEST;
|
||||
?>
|
||||
--EXPECT--
|
||||
foo\{bar}baz
|
||||
foo\{ bar}baz
|
||||
foobarbaz
|
||||
foo\{bar}baz
|
||||
foo\{ bar}baz
|
||||
Executable
+27
@@ -0,0 +1,27 @@
|
||||
--TEST--
|
||||
Bug #35437 Segfault or Invalid Opcode 137/1/4
|
||||
--FILE--
|
||||
<?php
|
||||
function err2exception($errno, $errstr)
|
||||
{
|
||||
throw new Exception("Error occuried: " . $errstr);
|
||||
}
|
||||
|
||||
set_error_handler('err2exception');
|
||||
|
||||
class TestClass
|
||||
{
|
||||
function testMethod()
|
||||
{
|
||||
$GLOBALS['t'] = new stdClass;
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
TestClass::testMethod();
|
||||
} catch (Exception $e) {
|
||||
echo "Catched: ".$e->getMessage()."\n";
|
||||
}
|
||||
?>
|
||||
--EXPECT--
|
||||
Catched: Error occuried: Non-static method TestClass::testMethod() should not be called statically
|
||||
Executable
+11
@@ -0,0 +1,11 @@
|
||||
--TEST--
|
||||
Bug #35470 (Assigning global using variable name from array doesn't function)
|
||||
--FILE--
|
||||
<?php
|
||||
$x = array("test", "55");
|
||||
global ${$x[0]};
|
||||
${$x[0]} = $x[1];
|
||||
echo "Test: $test\n";;
|
||||
?>
|
||||
--EXPECT--
|
||||
Test: 55
|
||||
Executable
+31
@@ -0,0 +1,31 @@
|
||||
--TEST--
|
||||
Bug #35509 (string constant as array key has different behavior inside object)
|
||||
--FILE--
|
||||
<?php
|
||||
class mytest
|
||||
{
|
||||
const classConstant = '01';
|
||||
|
||||
private $classArray = array( mytest::classConstant => 'value' );
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
print_r($this->classArray);
|
||||
}
|
||||
}
|
||||
|
||||
$classtest = new mytest();
|
||||
|
||||
define( "normalConstant", '01' );
|
||||
$normalArray = array( normalConstant => 'value' );
|
||||
print_r($normalArray);
|
||||
?>
|
||||
--EXPECT--
|
||||
Array
|
||||
(
|
||||
[01] => value
|
||||
)
|
||||
Array
|
||||
(
|
||||
[01] => value
|
||||
)
|
||||
Executable
+25
@@ -0,0 +1,25 @@
|
||||
--TEST--
|
||||
Bug #35655 (whitespace following end of heredoc is lost)
|
||||
--INI--
|
||||
highlight.string = #DD0000
|
||||
highlight.comment = #FF8000
|
||||
highlight.keyword = #007700
|
||||
highlight.bg = #FFFFFF
|
||||
highlight.default = #0000BB
|
||||
highlight.html = #000000
|
||||
--FILE--
|
||||
<?php
|
||||
$code = '
|
||||
<?php
|
||||
$x = <<<EOT
|
||||
some string
|
||||
EOT
|
||||
$y = 2;
|
||||
?>';
|
||||
highlight_string($code);
|
||||
?>
|
||||
--EXPECT--
|
||||
<code><span style="color: #000000">
|
||||
<br /><span style="color: #0000BB"><?php<br /> $x </span><span style="color: #007700">= <<<EOT<br /></span><span style="color: #0000BB">some string <br /></span><span style="color: #007700">EOT<br /> </span><span style="color: #0000BB">$y </span><span style="color: #007700">= </span><span style="color: #0000BB">2</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">?></span>
|
||||
</span>
|
||||
</code>
|
||||
Executable
+30
@@ -0,0 +1,30 @@
|
||||
--TEST--
|
||||
Bug #36006 (Problem with $this in __destruct())
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
class Person {
|
||||
public $dad;
|
||||
public function __destruct() {
|
||||
$this->dad = null; /* no segfault if this is commented out */
|
||||
}
|
||||
}
|
||||
|
||||
class Dad extends Person {
|
||||
public $son;
|
||||
public function __construct() {
|
||||
$this->son = new Person;
|
||||
$this->son->dad = $this; /* no segfault if this is commented out */
|
||||
}
|
||||
public function __destruct() {
|
||||
$this->son = null;
|
||||
parent::__destruct(); /* segfault here */
|
||||
}
|
||||
}
|
||||
|
||||
$o = new Dad;
|
||||
unset($o);
|
||||
echo "ok\n";
|
||||
?>
|
||||
--EXPECT--
|
||||
ok
|
||||
Executable
+14
@@ -0,0 +1,14 @@
|
||||
--TEST--
|
||||
Bug #36037 (heredoc adds extra line number)
|
||||
--FILE--
|
||||
<?php
|
||||
echo __LINE__, "\n";
|
||||
$x=<<<XXX
|
||||
123
|
||||
YYY;
|
||||
XXX;
|
||||
echo __LINE__, "\n";
|
||||
?>
|
||||
--EXPECT--
|
||||
2
|
||||
7
|
||||
Executable
+13
@@ -0,0 +1,13 @@
|
||||
--TEST--
|
||||
Bug #36071 (Engine Crash related with 'clone')
|
||||
--INI--
|
||||
error_reporting=4095
|
||||
--FILE--
|
||||
<?php
|
||||
$a = clone 0;
|
||||
$a[0]->b = 0;
|
||||
echo "ok\n";
|
||||
?>
|
||||
--EXPECTF--
|
||||
Warning: __clone method called on non-object in %sbug36071.php on line 2
|
||||
ok
|
||||
Loaded 100 of 2492 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user