summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXinchen Hui <laruence@gmail.com>2016-01-26 15:57:39 +0800
committerXinchen Hui <laruence@gmail.com>2016-01-26 15:57:39 +0800
commit9ff08ae17cc6092810268b647dd9966e33fdc0a6 (patch)
tree049c61b213802b7094fb5d51adb496766263e94c
parent67c1921e2b01f298977c15e7352b6002ed175ea1 (diff)
downloadphp-git-9ff08ae17cc6092810268b647dd9966e33fdc0a6.tar.gz
Fixed bug #71443 (Segfault using built-in webserver with intl using symfony)
-rw-r--r--NEWS2
-rw-r--r--Zend/zend.c8
-rw-r--r--ext/opcache/tests/bug65915.phpt4
3 files changed, 9 insertions, 5 deletions
diff --git a/NEWS b/NEWS
index ec4df90e20..d8fd1732aa 100644
--- a/NEWS
+++ b/NEWS
@@ -3,6 +3,8 @@ PHP NEWS
?? ??? 2016 PHP 7.0.4
- Core:
+ . Fixed bug #71443 (Segfault using built-in webserver with intl using
+ symfony). (Laruence)
. Fixed bug #71442 (forward_static_call crash). (Laruence)
. Fixed bug #71441 (Typehinted Generator with return in try/finally crashes).
(Bob)
diff --git a/Zend/zend.c b/Zend/zend.c
index 23fb9f2aba..eeeb2c6784 100644
--- a/Zend/zend.c
+++ b/Zend/zend.c
@@ -967,6 +967,10 @@ ZEND_API void zend_deactivate(void) /* {{{ */
shutdown_executor();
zend_try {
+ zend_ini_deactivate();
+ } zend_end_try();
+
+ zend_try {
shutdown_compiler();
} zend_end_try();
@@ -984,10 +988,6 @@ ZEND_API void zend_deactivate(void) /* {{{ */
fprintf(stderr, " -------- -------- ----------- ------\n");
fprintf(stderr, "ZVAL %8d %8d %9d %8d\n", GC_G(zval_possible_root), GC_G(zval_buffered), GC_G(zval_remove_from_buffer), GC_G(zval_marked_grey));
#endif
-
- zend_try {
- zend_ini_deactivate();
- } zend_end_try();
}
/* }}} */
diff --git a/ext/opcache/tests/bug65915.phpt b/ext/opcache/tests/bug65915.phpt
index 6496ee3253..c616c4fb5f 100644
--- a/ext/opcache/tests/bug65915.phpt
+++ b/ext/opcache/tests/bug65915.phpt
@@ -3,6 +3,7 @@ Bug #65915 (Inconsistent results with require return value)
--INI--
opcache.enable=1
opcache.enable_cli=1
+opcache.file_cache_only=0
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
@@ -13,7 +14,7 @@ file_put_contents($tmp, '<?php return function(){ return "a";};');
$f = require $tmp;
var_dump($f());
-opcache_invalidate($tmp, true);
+var_dump(opcache_invalidate($tmp, true));
file_put_contents($tmp, '<?php return function(){ return "b";};');
$f = require $tmp;
@@ -23,4 +24,5 @@ var_dump($f());
?>
--EXPECT--
string(1) "a"
+bool(true)
string(1) "b"