Skip to content

Commit 00d961c

Browse files
committed
Merge branch 'PHP-5.5' of https://git.php.net/push/php-src into PHP-5.5
* 'PHP-5.5' of https://git.php.net/push/php-src: (266 commits) Fix "passing NULL to non-pointer argument" warnings in intl Remove support for cloning generators Removed deprecated check Fix whitespace issue in the SOAP test Fix SOAP test Forgot to fix the test on 5.4 Exclude Travis build for 5.3 and 5.4 Fix tests after addition of ^ (xor) operator to ini Fix Bug #64545: PHP Error in ef93a93 Attempt to fix SKIP This will PHP 5.3.25 Typo fix (greater then => greater than) don't optimize script if it's not going to be cached Reimplemented OPcache restart trigger. Now, if memory or hash are full the restart is scheduled only in case the amount of wasted memory is above opcache.max_wasted_percentage. Otherwise OPcahce continue serving the following requests using already cached files, but doesn't try to add new files (the cache is full anyway). With pkgconfig < 0.28 output is a single space With pkgconfig = 0.28 output is an empty string, This breaks the test on the 2 vars Fixed issue php#78 (incorrect file path validation) Fix test on Mac (\D shows up) Add test for #64529 will be 5.4.15 fix NEWS ...
2 parents c7ad92f + 8aff7f0 commit 00d961c

File tree

213 files changed

+20347
-2327
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

213 files changed

+20347
-2327
lines changed

.gitattributes

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ sapi/continuity/capi.c ident
2323
Zend/RFCs/002.txt ident
2424
Zend/RFCs/003.txt ident
2525
NEWS merge=NEWS
26+
UPGRADING merge=NEWS
27+
UPGRADING.INTERNALS merge=NEWS
2628
/ext/bz2/tests/with_strings.phpt -crlf
2729
/ext/dom/tests/bug40836.phpt -crlf
2830
/ext/dom/tests/domelement.phpt -crlf

.travis.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ notifications:
88
email: false
99

1010
env:
11-
- REPORT_EXIT_STATUS=1 TEST_PHP_EXECUTABLE=./sapi/cli/php
11+
- REPORT_EXIT_STATUS=1
1212

1313
before_script:
1414
# Compile PHP
@@ -21,4 +21,4 @@ before_script:
2121
- . ./travis/ext/pdo_pgsql/setup.sh
2222

2323
# Run PHPs run-tests.php
24-
script: ./sapi/cli/php run-tests.php -g "FAIL,XFAIL,BORK,WARN,LEAK,SKIP"
24+
script: ./sapi/cli/php run-tests.php -p `pwd`/sapi/cli/php -g "FAIL,XFAIL,BORK,WARN,LEAK,SKIP" --show-diff

NEWS

Lines changed: 45 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,54 @@
11
PHP NEWS
22
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3-
?? ??? 20??, PHP 5.5.0 Beta 1
3+
?? ??? 20??, PHP 5.5.0 Beta 3
4+
5+
6+
28 Mar 2013, PHP 5.5.0 Beta 2
7+
8+
- Core:
9+
. Fixed bug #64515 (Memoryleak when using the same variablename 2times in
10+
function declaration). (Laruence)
11+
. Fixed bug #64503 (Compilation fails with error: conflicting types for
12+
'zendparse'). (Laruence)
13+
. Fixed bug #64239 (Debug backtrace changed behavior since 5.4.10 or 5.4.11).
14+
(Dmitry, Laruence)
15+
. Fixed bug #64523, allow XOR in php.ini. (Dejan Marjanovic, Lars)
16+
17+
- Opcache:
18+
. Fixed bug # 64490 (struct flock undefined on FreeBSD). (Joe Watkins)
19+
20+
21 Mar 2013, PHP 5.5.0 Beta 1
421

522
- Core:
23+
. Added Zend Opcache extension and enable building it by default.
24+
More details here: https://wiki.php.net/rfc/optimizerplus. (Dmitry)
25+
. Added array_column function which returns a column in a multidimensional
26+
array. https://wiki.php.net/rfc/array_column. (Ben Ramsey)
627
. Fixed bug #64354 (Unserialize array of objects whose class can't
728
be autoloaded fail). (Laruence)
829
. Added support for changing the process's title in CLI/CLI-Server SAPIs.
930
The implementation is more robust that the proctitle PECL module. More
1031
details here: https://wiki.php.net/rfc/cli_process_title. (Keyur)
32+
. Fixed bug #64370 (microtime(true) less than $_SERVER['REQUEST_TIME_FLOAT']).
33+
(Anatol)
34+
. Added support for non-scalar Iterator keys in foreach
35+
(https://wiki.php.net/rfc/foreach-non-scalar-keys). (Nikita Popov)
1136

37+
- mysqlnd
38+
. Fixed bug #63530 (mysqlnd_stmt::bind_one_parameter crashes, uses wrong alloc
39+
for stmt->param_bind). (Andrey)
40+
41+
- DateTime
42+
. Fixed bug #53437 (Crash when using unserialized DatePeriod instance).
43+
(Gustavo, Derick, Anatol)
44+
. Fixed bug #62852 (Unserialize Invalid Date causes crash). (Anatol)
45+
46+
- SPL:
47+
. Implement FR #48358 (Add SplDoublyLinkedList::add() to insert an element
48+
at a given offset). (Mark Baker, David Soria Parra)
49+
50+
- Zip:
51+
. Bug #64452 (Zip crash intermittently). (Anatol)
1252

1353
07 Mar 2013, PHP 5.5.0 Alpha 6
1454

@@ -27,6 +67,10 @@ PHP NEWS
2767
- DateTime:
2868
. Fixed bug #64359 (strftime crash with VS2012). (Anatol)
2969

70+
- SNMP:
71+
. Fixed bug #61981 (OO API, walk: $suffix_as_key is not working correctly).
72+
(Boris Lytochkin)
73+
3074
21 Feb 2013, PHP 5.5.0 Alpha 5
3175

3276
- Core:

README.RELEASE_PROCESS

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,8 @@ Do not use abbreviations for alpha and beta.
6464
``git push --tags origin HEAD``
6565

6666
8. run: ``./makedist 5.4.2RC2``, this will export the tree, create configure
67-
and build three tarballs (gz,bz2 and xz).
67+
and build three tarballs (gz,bz2 and xz). Make sure you use the same GNU Bison
68+
version as snaps. Recent bison version are known to break ZTS.
6869

6970
9. Copy those three tarballs to www.php.net, in your homedir there should be a
7071
directory "downloads/". Copy them into there, so that the system can generate
@@ -154,7 +155,15 @@ origin <branch>``".
154155
11. run: ``./makedist php 5.4.1``, this will export the tree, create configure
155156
and build two tarballs (one gz and one bz2).
156157

157-
12. Commit those two tarballs to Git (php-distributions.git)
158+
12. Commit those two tarballs to web/php-distributions.git, then update the git
159+
submodule reference in web/php.git:
160+
git submodule init;
161+
git submodule update;
162+
cd distributions;
163+
git pull origin master;
164+
cd ..;
165+
git commit distributions;
166+
git push;
158167

159168
13. Once the release has been tagged, contact the PHP Windows development team
160169
(internals-win@lists.php.net) so that Windows binaries can be created. Once

UPGRADING

Lines changed: 75 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -30,38 +30,6 @@ PHP 5.5 UPGRADE NOTES
3030
zend_logo_guid() have been removed
3131
- Removal of Logo GUIDs
3232

33-
- extensions can't override zend_execute() any more, they should override
34-
zend_execute_ex() instead. The EG(current_execute_data) is already
35-
initialized in zend_execute_ex(), so for compatibility extensions
36-
may need to use EG(current_execute_data)->prev_execute_data instead.
37-
- removed EG(arg_types_stack), EX(fbc), EX(called_scope), EX(current_object)
38-
- added op_array->nested_calls. It's calculated at compile time.
39-
- added EX(call_slots). It is an array to store information about syntaticaly
40-
nested calls (e.g. foo(bar())). It's preallocated together with execute_data.
41-
- added EX(call) - pointer to a current calling function. Actually an
42-
element of EX(call_slots)
43-
- opcodes INIT_METHOD_CALL, ZEND_INIT_STATIC_METHOD_CALL,
44-
ZEND_INIT_FCALL_BY_NAME, ZEND_INIT_NS_FCALL_BY_NAME use result.num as
45-
an index in EX(call_slots)
46-
- opcode ZEND_NEW uses extended_vallue as an index in EX(call_slots)
47-
- opcoes ZEND_DO_FCALL and ZEND_DO_FCALL_BY_NAME use op2.num as
48-
an index in EX(call_slots)
49-
- added op_array->used_stack. It's calculated at compile time and the
50-
corresponding stack space is preallocated together with execute_data.
51-
ZEND_SEND* and ZEND_DO_FCALL* don't need to check for stack overflow
52-
anymore.
53-
- Removed execute_data->Ts field. The VM temporary variables always allocated
54-
immediately before execute_data structure. Now they are accessed by offset
55-
from the execute_data base pointer (instead of execute_data->Ts). Compiler
56-
stores new offsets in op_array->opcodes[*].op?.num. You can use macros
57-
EX_TMP_VAR() and EX_TMP_VAR_NUM() to access temp_variable by offset or
58-
number. You can convert number to offset using EX_TMP_VAR_NUM(0, num) or
59-
offset to number (EX_TMP_VAR_NUM(0,0)-EX_TMP_VAR(0,offset)).
60-
- Removed execute_data->CVs field. The VM compiled variables always allocated
61-
immediately after execute_data structure. Now they are accessed by offset
62-
from the execute_data base pointer (instead of execute_data->CVs). You can
63-
use macros EX_CV_NUM() to access compiled variables by number.
64-
6533
========================================
6634
2. New Features
6735
========================================
@@ -79,13 +47,17 @@ PHP 5.5 UPGRADE NOTES
7947
(https://wiki.php.net/rfc/generators)
8048
- ClassName::class syntax returning full class name for a class as
8149
a string constant. (https://wiki.php.net/rfc/class_name_scalars)
82-
- Support for changing the process's title in CLI/CLI-Server SAPIs. (Keyur)
83-
(https://wiki.php.net/rfc/cli_process_title)
50+
- Added support for non-scalar Iterator keys in foreach.
51+
(https://wiki.php.net/rfc/foreach-non-scalar-keys).
52+
- Bundled Zend OPcache extension
53+
(https://wiki.php.net/rfc/optimizerplus)
8454

8555
========================================
8656
2. Changes in SAPI modules
8757
========================================
8858

59+
- Support for changing the process's title in CLI/CLI-Server SAPIs. (Keyur)
60+
(https://wiki.php.net/rfc/cli_process_title)
8961

9062
========================================
9163
3. Deprecated Functionality
@@ -167,6 +139,7 @@ PHP 5.5 UPGRADE NOTES
167139
========================================
168140

169141
- Core:
142+
- array_column()
170143
- boolval()
171144
- password_get_info()
172145
- password_hash()
@@ -180,6 +153,11 @@ PHP 5.5 UPGRADE NOTES
180153
- imageflip
181154
- imagecrop
182155
- imagecropauto
156+
- imagesetinterpolation
157+
- imageaffine
158+
- imageaffinematrixget
159+
- imageaffinematrixconcat
160+
- imagescale
183161

184162
- Hash:
185163
- hash_pbkdf2()
@@ -273,6 +251,12 @@ PHP 5.5 UPGRADE NOTES
273251

274252
- SPL:
275253
- SplFixedArray::__wakeup()
254+
- SplDoublyLinkedList::add()
255+
256+
- Zend OPcache
257+
- opcache_get_configuration()
258+
- opcache_get_status()
259+
- opcache_reset()
276260

277261
========================================
278262
6. New Classes and Interfaces
@@ -324,13 +308,42 @@ PHP 5.5 UPGRADE NOTES
324308
. IMG_CROP_WHITE
325309
. IMG_CROP_SIDES
326310
. IMG_CROP_THRESHOLD
311+
- Added constants for imagesetinterpolation, used by imagescale
312+
imagerotate and imageaffine:
313+
. IMG_BELL
314+
. IMG_BESSEL
315+
. IMG_BILINEAR_FIXED
316+
. IMG_BICUBIC
317+
. IMG_BICUBIC_FIXED
318+
. IMG_BLACKMAN
319+
. IMG_BOX
320+
. IMG_BSPLINE
321+
. IMG_CATMULLROM
322+
. IMG_GAUSSIAN
323+
. IMG_GENERALIZED_CUBIC
324+
. IMG_HERMITE
325+
. IMG_HAMMING
326+
. IMG_HANNING
327+
. IMG_MITCHELL
328+
. IMG_POWER
329+
. IMG_QUADRATIC
330+
. IMG_SINC
331+
. IMG_NEAREST_NEIGHBOUR
332+
. IMG_WEIGHTED4
333+
. IMG_TRIANGLE
334+
- Added constants for imageaffinematrixget
335+
. IMG_AFFINE_TRANSLATE
336+
. IMG_AFFINE_SCALE
337+
. IMG_AFFINE_ROTATE
338+
. IMG_AFFINE_SHEAR_HORIZONTAL
339+
. IMG_AFFINE_SHEAR_VERTICAL
327340

328341
========================================
329342
10. Changes to INI File Handling
330343
========================================
331344

332345
- Core:
333-
- Added sys_temp_dir INI directive, for specifying temp firectory.
346+
- Added sys_temp_dir INI directive, for specifying temp directory.
334347

335348
- Intl:
336349
- Added intl.use_exceptions INI directive, which controls what happens when
@@ -341,6 +354,33 @@ PHP 5.5 UPGRADE NOTES
341354
APIs which use(are built) for mysqlnd. This allows ext/mysqli to be used
342355
with the new auth protocol, although at coarser level.
343356

357+
- Zend OPcache (See ext/opcache/README for more details)
358+
- Added the following directives:
359+
- opcache.enable (default "1")
360+
- opcache.memory_consumption (default "64")
361+
- opcache.interned_strings_buffer (default "4")
362+
- opcache.max_accelerated_files (default "2000")
363+
- opcache.max_wasted_percentage (default "5")
364+
- opcache.use_cwd (default "1")
365+
- opcache.validate_timestamps (default "1")
366+
- opcache.revalidate_freq (default "2")
367+
- opcache.revalidate_path (default "0")
368+
- opcache.save_comments (default "1")
369+
- opcache.load_comments (default "1")
370+
- opcache.fast_shutdown (default "0")
371+
- opcache.enable_file_override (default "0")
372+
- opcache.optimization_level (default "0xffffffff")
373+
- opcache.inherited_hack (default "1")
374+
- opcache.blacklist_filename (default "")
375+
- opcache.max_file_size (default "0")
376+
- opcache.consistency_checks (default "0")
377+
- opcache.force_restart_timeout (default "180")
378+
- opcache.error_log (default "" which means stderr)
379+
- opcache.log_verbosity_level (default "1")
380+
- opcache.preferred_memory_model (default "")
381+
- opcache.protect_memory (default "0")
382+
- opcache.mmap_base (Windows-only)
383+
344384
========================================
345385
11. Windows Support
346386
========================================

UPGRADING.INTERNALS

Lines changed: 50 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,11 @@ $Id$
33
UPGRADE NOTES - PHP X.Y
44

55
1. Internal API changes
6-
a. Streams pooling API
7-
b. Lowercasing and locales
8-
c. zend_qsort_r
6+
a. Executor changes
7+
b. Streams pooling API
8+
c. Lowercasing and locales
9+
d. zend_qsort_r
10+
e. get_current_key
911

1012
2. Build system changes
1113
a. Unix build system changes
@@ -16,7 +18,41 @@ UPGRADE NOTES - PHP X.Y
1618
1. Internal API changes
1719
========================
1820

19-
a. Streams pooling API
21+
a. Executor changes
22+
23+
* extensions can't override zend_execute() any more, they should override
24+
zend_execute_ex() instead. The EG(current_execute_data) is already
25+
initialized in zend_execute_ex(), so for compatibility extensions
26+
may need to use EG(current_execute_data)->prev_execute_data instead.
27+
* removed EG(arg_types_stack), EX(fbc), EX(called_scope), EX(current_object)
28+
* added op_array->nested_calls. It's calculated at compile time.
29+
* added EX(call_slots). It is an array to store information about syntaticaly
30+
nested calls (e.g. foo(bar())). It's preallocated together with execute_data.
31+
* added EX(call) - pointer to a current calling function. Actually an
32+
element of EX(call_slots)
33+
* opcodes INIT_METHOD_CALL, ZEND_INIT_STATIC_METHOD_CALL,
34+
ZEND_INIT_FCALL_BY_NAME, ZEND_INIT_NS_FCALL_BY_NAME use result.num as
35+
an index in EX(call_slots)
36+
* opcode ZEND_NEW uses extended_vallue as an index in EX(call_slots)
37+
* opcoes ZEND_DO_FCALL and ZEND_DO_FCALL_BY_NAME use op2.num as
38+
an index in EX(call_slots)
39+
* added op_array->used_stack. It's calculated at compile time and the
40+
corresponding stack space is preallocated together with execute_data.
41+
ZEND_SEND* and ZEND_DO_FCALL* don't need to check for stack overflow
42+
anymore.
43+
* Removed execute_data->Ts field. The VM temporary variables always allocated
44+
immediately before execute_data structure. Now they are accessed by offset
45+
from the execute_data base pointer (instead of execute_data->Ts). Compiler
46+
stores new offsets in op_array->opcodes[*].op?.num. You can use macros
47+
EX_TMP_VAR() and EX_TMP_VAR_NUM() to access temp_variable by offset or
48+
number. You can convert number to offset using EX_TMP_VAR_NUM(0, num) or
49+
offset to number (EX_TMP_VAR_NUM(0,0)-EX_TMP_VAR(0,offset)).
50+
* Removed execute_data->CVs field. The VM compiled variables always allocated
51+
immediately after execute_data structure. Now they are accessed by offset
52+
from the execute_data base pointer (instead of execute_data->CVs). You can
53+
use macros EX_CV_NUM() to access compiled variables by number.
54+
55+
b. Streams pooling API
2056

2157
The streams pooling API has been removed. The following functions no longer
2258
exist:
@@ -28,7 +64,7 @@ PHPAPI int php_stream_context_set_link(php_stream_context *context,
2864
PHPAPI int php_stream_context_del_link(php_stream_context *context,
2965
php_stream *stream);
3066

31-
b. Lowercasing and locales
67+
c. Lowercasing and locales
3268

3369
The lowercasing functions in zend_operators.c were split into those that do
3470
lowercasing according to locale rules and those that do ASCII lowercasing.
@@ -54,7 +90,7 @@ such as strcasecmp, will be using locale rules.
5490
Two new functions - zend_binary_strncasecmp_l and zend_binary_strcasecmp_l - added as
5591
locale-based counterparts to zend_binary_strcasecmp and zend_binary_strncasecmp.
5692

57-
c. zend_qsort_r
93+
d. zend_qsort_r
5894

5995
Added the function zend_qsort_r():
6096

@@ -64,6 +100,14 @@ void zend_qsort_r(void *base, size_t nmemb, size_t siz, compare_r_func_t compare
64100
The extra argument it has (relatively to zend_qsort()) is passed to the
65101
comparison function.
66102

103+
e. get_current_key
104+
105+
The signature of the get_current_key iteration handler has been changed to:
106+
107+
void (*get_current_key)(zend_object_iterator *iter, zval *key TSRMLS_DC);
108+
109+
The key should be written into the zval* using the ZVAL_* macros.
110+
67111
========================
68112
2. Build system changes
69113
========================

Zend/tests/bug55156.phpt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
--TEST--
22
Bug #55156 (ReflectionClass::getDocComment() returns comment even though the class has none)
3+
--INI--
4+
opcache.save_comments=1
5+
opcache.load_comments=1
36
--FILE--
47
<?php
58

0 commit comments

Comments
 (0)