mirror of
https://github.com/php/php-src.git
synced 2025-08-15 21:48:51 +02:00
Fix #78429: opcache_compile_file(__FILE__); segfaults
We have to ensure that OPcache has been properly started up when `opcache_compile_file()` is called.
This commit is contained in:
parent
42046c71ee
commit
20f73d3d8f
3 changed files with 19 additions and 0 deletions
1
NEWS
1
NEWS
|
@ -18,6 +18,7 @@ PHP NEWS
|
|||
. Add opcache.preload_user INI directive. (Dmitry)
|
||||
. Fixed bug #78514 (Preloading segfaults with inherited typed property).
|
||||
(Nikita)
|
||||
. Fixed bug #78429 (opcache_compile_file(__FILE__); segfaults). (cmb)
|
||||
|
||||
- PCRE:
|
||||
. Fixed bug #78349 (Bundled pcre2 library missing LICENCE file). (Peter Kokot)
|
||||
|
|
13
ext/opcache/tests/bug78429.phpt
Normal file
13
ext/opcache/tests/bug78429.phpt
Normal file
|
@ -0,0 +1,13 @@
|
|||
--TEST--
|
||||
Bug #78429 (opcache_compile_file(__FILE__); segfaults)
|
||||
--SKIPIF--
|
||||
<?php require_once('skipif.inc'); ?>
|
||||
--INI--
|
||||
opcache.enable_cli=0
|
||||
--FILE--
|
||||
<?php
|
||||
var_dump(opcache_compile_file(__FILE__));
|
||||
?>
|
||||
--EXPECTF--
|
||||
Notice: Zend OPcache has not been properly started, can't compile file in %s on line %d
|
||||
bool(false)
|
|
@ -858,6 +858,11 @@ static ZEND_FUNCTION(opcache_compile_file)
|
|||
return;
|
||||
}
|
||||
|
||||
if (!accel_startup_ok) {
|
||||
zend_error(E_NOTICE, ACCELERATOR_PRODUCT_NAME " has not been properly started, can't compile file");
|
||||
RETURN_FALSE;
|
||||
}
|
||||
|
||||
zend_stream_init_filename(&handle, script_name);
|
||||
|
||||
orig_execute_data = EG(current_execute_data);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue