Skip to content

Commit 308edce

Browse files
committed
Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src: (304 commits) OCI8 build change: Fix source variable definition for C89 compatibility bump version, empty NEWS, UPGRADING and UPGRADING.INTERNALS bump API versions configure output alignment Add a couple more test cases to parse_url() tests fix missing change from 'tcp_socket' to the more common 'server' fix many parallel test issues Cleanup temp test file Revert "Fixed issue #115 (path issue when using phar)." Update LiteSpeed SAPI code to V6.4 Fixed typo in Makefile.frag updated NEWS Remove outdate codes, make it clearer, although just a bit.. Update NEWS Fixed Bug #66034 (Segmentation Fault when constructor of PDO statement throws an exception) NEWS + UPGRADING Sync ext/zip with pecl/zip version 1.3.2 - update libzip to version 1.11.1. We don't use any private symbol anymore - new method ZipArchive::setPassword($password) - add --with-libzip option to build with system libzip Fixed coredump due to abnormal implemention of phar Fix English here limit virtual_cwd_activate() duplicated call to ZTS only ...
2 parents bdfa03d + 0d50613 commit 308edce

File tree

628 files changed

+25730
-14288
lines changed

Some content is hidden

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

628 files changed

+25730
-14288
lines changed

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,4 @@ before_script:
2929
- . ./travis/ext/pdo_pgsql/setup.sh
3030

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

CODING_STANDARDS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ Naming Conventions
151151

152152
7. Classes should be given descriptive names. Avoid using abbreviations where
153153
possible. Each word in the class name should start with a capital letter,
154-
without underscore delimiters (CampelCaps starting with a capital letter).
154+
without underscore delimiters (CamelCaps starting with a capital letter).
155155
The class name should be prefixed with the name of the 'parent set' (e.g.
156156
the name of the extension)::
157157

NEWS

Lines changed: 1 addition & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,5 @@
11
PHP NEWS
22
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3-
?? ??? 201?, PHP 5.6.0
4-
5-
- Core:
6-
. Improved IS_VAR operands fetching. (Laruence, Dmitry)
7-
. Implemented internal operator overloading
8-
(RFC: https://wiki.php.net/rfc/operator_overloading_gmp). (Nikita)
9-
. Made calls from incompatible context issue an E_DEPRECATED warning instead
10-
of E_STRICT (phase 1 of RFC: https://wiki.php.net/rfc/incompat_ctx).
11-
(Gustavo)
12-
13-
- cURL:
14-
. Implemented FR #65646 (re-enable CURLOPT_FOLLOWLOCATION with open_basedir
15-
or safe_mode). (Adam)
16-
17-
- GMP:
18-
. Moved GMP to use object as the underlying structure and implemented various
19-
improvements based on this.
20-
(RFC: https://wiki.php.net/rfc/operator_overloading_gmp). (Nikita)
21-
22-
- mysqlnd:
23-
. Disabled flag for SP OUT variables for 5.5+ servers as they are not natively
24-
supported by the overlying APIs. (Andrey)
25-
26-
- OPcache:
27-
. Added an optimization pass to convert FCALL_BY_NAME into DO_FCALL.
28-
(Laruence, Dmitry)
29-
. Added an optimization pass to merged identical constants (and related
30-
cache_slots) in op_array->literals table. (Laruence, Dmitry)
31-
. Added script level constant replacement optimization pass. (Dmitry)
32-
33-
- PDO_pgsql:
34-
. Fixed Bug #42614 (PDO_pgsql: add pg_get_notify support). (Matteo)
35-
. Fixed Bug #63657 (pgsqlCopyFromFile, pgsqlCopyToArray use Postgres < 7.3
36-
syntax). (Matteo)
37-
38-
- Session:
39-
. Fixed Bug #65315 (session.hash_function silently fallback to default md5)
40-
(Yasuo)
41-
. Implemented Request #54649 (Create session_serializer_name()). (Yasuo)
42-
. Implemented Request #17860 (Session write short circuit). (Yasuo)
43-
. Implemented Request #20421 (session_abort() and session_reset() function).
44-
(Yasuo)
45-
. Implemented Request #11100 (session_gc() function). (Yasuo)
46-
47-
- Standard:
48-
. Implemented FR #65634 (HTTP wrapper is very slow with protocol_version
49-
1.1). (Adam)
3+
?? ??? 20??, PHP 5.7.0
504

515
<<< NOTE: Insert NEWS from last stable release here prior to actual release! >>>

README.EXT_SKEL

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,11 @@ HOW TO USE IT
3131

3232
./buildconf; ./configure --enable-module_name; make
3333

34+
The definition of PHP_MODULE_NAME_VERSION will be present in the
35+
php_module_name.h and injected into the zend_module_entry definition. This
36+
is required by the PECL website for the version string conformity checks
37+
against package.xml
38+
3439
But if you already have planned the overall scheme of your module, what
3540
functions it will contain, their return types and the arguments they take
3641
(a very good idea) and don't want to bother yourself with creating function

README.SELF-CONTAINED-EXTENSIONS

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,3 +153,18 @@ ADDING SHARED MODULE SUPPORT TO A MODULE
153153
#ifdef COMPILE_DL_FOO
154154
ZEND_GET_MODULE(foo)
155155
#endif
156+
157+
PECL SITE CONFORMITY
158+
159+
If you plan to release an extension to the PECL website, there are several
160+
points to be regarded.
161+
162+
1. Add LICENSE or COPYING to the package.xml
163+
164+
2. The following should be defined in one of the extension header files
165+
166+
#define PHP_FOO_VERSION "1.2.3"
167+
168+
This macros has to be used within your foo_module_entry to indicate the
169+
extension version.
170+

README.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ See https://wiki.php.net/rfc and https://wiki.php.net/rfc/voting for more
1717
information on the process.
1818

1919
Bug fixes **do not** require an RFC, but require a bugtracker ticket. Always
20-
open a ticket at http://bugs.php.net and reference the bug id using #NNNNNN.
20+
open a ticket at https://bugs.php.net and reference the bug id using #NNNNNN.
2121

2222
Fix #55371: get_magic_quotes_gpc() throws deprecation warning
2323

@@ -28,3 +28,12 @@ open a ticket at http://bugs.php.net and reference the bug id using #NNNNNN.
2828

2929
We do not merge pull requests directly on github. All PRs will be
3030
pulled and pushed through http://git.php.net.
31+
32+
33+
Guidelines for contributors
34+
===========================
35+
- [CODING_STANDARDS](/CODING_STANDARDS)
36+
- [README.GIT-RULES](/README.GIT-RULES)
37+
- [README.MAILINGLIST_RULES](/README.MAILINGLIST_RULES)
38+
- [README.RELEASE_PROCESS](/README.RELEASE_PROCESS)
39+

TSRM/Makefile.am

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
## process this file with automake to produce Makefile.am
22
AUTOMAKE_OPTIONS=foreign
33
noinst_LTLIBRARIES=libtsrm.la
4-
libtsrm_la_SOURCES = TSRM.c tsrm_strtok_r.c tsrm_virtual_cwd.c
4+
libtsrm_la_SOURCES = TSRM.c tsrm_strtok_r.c
55

66
depend:

TSRM/TSRM.dsp

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

TSRM/config.w32

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// vim:ft=javascript
22
// $Id$
33

4-
ADD_SOURCES("TSRM", "TSRM.c tsrm_strtok_r.c tsrm_virtual_cwd.c tsrm_win32.c");
4+
ADD_SOURCES("TSRM", "TSRM.c tsrm_strtok_r.c tsrm_win32.c");
55

TSRM/tsrm_win32.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
#ifdef TSRM_WIN32
3333
#include <Sddl.h>
3434
#include "tsrm_win32.h"
35-
#include "tsrm_virtual_cwd.h"
35+
#include "zend_virtual_cwd.h"
3636

3737
#ifdef ZTS
3838
static ts_rsrc_id win32_globals_id;

UPGRADING

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -35,17 +35,11 @@ PHP X.Y UPGRADE NOTES
3535
3. Deprecated Functionality
3636
========================================
3737

38-
- Incompatible context calls:
39-
Instance calls from an incompatible context are now deprecated and issue
40-
E_DEPRECATED instead of E_STRICT. See https://wiki.php.net/rfc/incompat_ctx
4138

4239
========================================
4340
4. Changed Functions
4441
========================================
4542

46-
- cURL:
47-
CURLOPT_SAFE_UPLOAD is now turned on by default and uploads with @file
48-
do not work unless it is explicitly set to false.
4943

5044
========================================
5145
5. New Functions
@@ -66,21 +60,6 @@ PHP X.Y UPGRADE NOTES
6660
8. Other Changes to Extensions
6761
========================================
6862

69-
- GMP:
70-
The GMP extension now uses objects as the underlying data structure, rather
71-
than resources. GMP instances now support dumping, serialization, cloning,
72-
casts to primitive types and have overloaded operators.
73-
(RFC: https://wiki.php.net/rfc/operator_overloading_gmp)
74-
75-
- OCI8:
76-
- Added Implicit Result Set support for Oracle Database 12c with a
77-
new oci_get_implicit_resultset() function.
78-
- Using 'oci_execute($s, OCI_NO_AUTO_COMMIT)' for a SELECT no longer
79-
unnecessarily initiates an internal ROLLBACK during connection
80-
close.
81-
- Added DTrace probes enabled with PHP's generic --enable-dtrace
82-
- The oci_internal_debug() function is now a no-op.
83-
- The phpinfo() output format for OCI8 has changed.
8463

8564
========================================
8665
9. New Global Constants
@@ -96,9 +75,3 @@ PHP X.Y UPGRADE NOTES
9675
11. Other Changes
9776
========================================
9877

99-
- File upload:
100-
Uploads equal or greater than 2GB in size are now accepted.
101-
102-
- HTTP stream wrapper:
103-
HTTP 1.1 requests now include a Connection: close header unless explicitly
104-
overridden by setting a Connection header via the header context option.

UPGRADING.INTERNALS

Lines changed: 2 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ UPGRADE NOTES - PHP X.Y
55
1. Internal API changes
66
a. Addition of do_operation and compare object handlers
77
b. return_value_ptr now always available, RETVAL_ZVAL_FAST macros
8+
c. POST data handling
9+
d. Arginfo changes
810

911
2. Build system changes
1012
a. Unix build system changes
@@ -15,58 +17,9 @@ UPGRADE NOTES - PHP X.Y
1517
1. Internal API changes
1618
========================
1719

18-
a. Addition of do_operation and compare object handlers
19-
20-
Two new object handlers have been added:
21-
22-
do_operation:
23-
typedef int (*zend_object_do_operation_t)(
24-
zend_uchar opcode, zval *result, zval *op1, zval *op2 TSRMLS_DC
25-
);
26-
27-
compare:
28-
typedef int (*zend_object_compare_zvals_t)(
29-
zval *result, zval *op1, zval *op2 TSRMLS_DC
30-
);
31-
32-
The first handler is used to overload arithmetic operations. The first
33-
argument specifies the opcode of the operator, result is the target zval,
34-
op1 the first operand and op2 the second operand. For unary operations
35-
op2 is NULL. If the handler returns FAILURE PHP falls back to the default
36-
behavior for the operation.
37-
38-
The second handler is used to perform comparison operations with
39-
non-objects. The value written into result must be an IS_LONG with value
40-
-1 (smaller), 0 (equal) or 1 (greater). The return value is a SUCCESS/FAILURE
41-
return code. The difference between this handler and compare_objects is
42-
that it will be triggered for comparisons with non-objects and objects of
43-
different types. It takes precedence over compare_objects.
44-
45-
Further docs in the RFC: https://wiki.php.net/rfc/operator_overloading_gmp
46-
47-
b. return_value_ptr now always available, RETVAL_ZVAL_FAST macros
48-
49-
The return_value_ptr argument to internal functions is now always set.
50-
Previously it was only available for functions returning by-reference.
51-
return_value_ptr can now be used to return zvals without copying them.
52-
For this purpose two new macros are provided:
53-
54-
RETVAL_ZVAL_FAST(zv); /* analog to RETVAL_ZVAL(zv, 1, 0) */
55-
RETURN_ZVAL_FAST(zv); /* analog to RETURN_ZVAL(zv, 1, 0) */
56-
57-
The macros behave similarly to the non-FAST variants with copy=1 and
58-
dtor=0, but will try to return the zval without making a copy by utilizing
59-
return_value_ptr.
6020

6121
========================
6222
2. Build system changes
6323
========================
6424

65-
a. Unix build system changes
66-
- The bison version check is now a blacklist instead of a whitelist.
67-
- The bison binary can be specified through the YACC environment/configure
68-
variable. Previously `bison` was assumed to be in $PATH.
69-
70-
b. Windows build system changes
71-
-
7225

Zend/Makefile.am

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ libZend_la_SOURCES=\
1818
zend_default_classes.c \
1919
zend_iterators.c zend_interfaces.c zend_exceptions.c \
2020
zend_strtod.c zend_closures.c zend_float.c zend_string.c zend_signal.c \
21-
zend_generators.c
21+
zend_generators.c zend_virtual_cwd.c
2222

2323
libZend_la_LDFLAGS =
2424
libZend_la_LIBADD = @ZEND_EXTRA_LIBS@

Zend/RFCs/003.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@ Modified: 2001-09-17
99
1. Background/Need
1010
==================
1111

12-
Many internal function of PHP will reject parameters because of their
12+
Many internal functions of PHP will reject parameters because of their
1313
type (the array and variable function come to mind). For userland
1414
this is not an easy task as there is no uniform way to do it. An
1515
addition to the engine for requiring loose types would allow
16-
delevopers to know that the data passed to their functions is of the
16+
developers to know that the data passed to their functions are of the
1717
correct type and reduce the need for duplicating the same code in
1818
every function to check for the type of data.
1919

@@ -57,7 +57,7 @@ function foo (array $var){
5757
===========
5858

5959
Mis-matches in type should be reported as fatal errors and should halt
60-
the execution of a script as that function can not be run and code
60+
the execution of a script as that function cannot be run and code
6161
following could not reliably run.
6262

6363

Zend/Zend.dsp

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

Zend/acinclude.m4

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ AC_DEFUN([LIBZEND_BISON_CHECK],[
99
# non-working versions, e.g. "3.0 3.2";
1010
# remove "none" when introducing the first incompatible bison version an
1111
# separate any following additions by spaces
12-
bison_version_exclude="none"
12+
bison_version_exclude="3.0"
1313
1414
# for standalone build of Zend Engine
1515
test -z "$SED" && SED=sed

Zend/tests/bug64979.phpt

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
11
--TEST--
2-
Bug #64578 (Closures with static variables can be generators)
3-
--XFAIL--
4-
Bug #64979 not fixed yet.
2+
Bug #64979 (Wrong behavior of static variables in closure generators)
53
--FILE--
64
<?php
75

86
function new_closure_gen() {
9-
return function() {
10-
static $foo = 0;
11-
yield ++$foo;
12-
};
7+
return function() {
8+
static $foo = 0;
9+
yield ++$foo;
10+
};
1311
}
1412

1513
$closure1 = new_closure_gen();
@@ -20,9 +18,9 @@ $gen2 = $closure1();
2018
$gen3 = $closure2();
2119

2220
foreach (array($gen1, $gen2, $gen3) as $gen) {
23-
foreach ($gen as $val) {
24-
print "$val\n";
25-
}
21+
foreach ($gen as $val) {
22+
var_dump($val);
23+
}
2624
}
2725

2826
?>

Zend/tests/bug65322.phpt

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
--TEST--
2+
Bug #65322: compile time errors won't trigger auto loading
3+
--FILE--
4+
<?php
5+
6+
spl_autoload_register(function($class) {
7+
var_dump($class);
8+
class B {}
9+
});
10+
11+
set_error_handler(function($_, $msg, $file) {
12+
var_dump($msg, $file);
13+
new B;
14+
});
15+
16+
eval('class A { function a() {} function __construct() {} }');
17+
18+
?>
19+
--EXPECTF--
20+
string(50) "Redefining already defined constructor for class A"
21+
string(%d) "%s(%d) : eval()'d code"
22+
string(1) "B"

0 commit comments

Comments
 (0)