mirror of
https://github.com/php/php-src.git
synced 2025-08-21 01:45:16 +02:00
Also propagate include exceptions in opcache
This commit is contained in:
parent
003be875e4
commit
22e9f9fe4d
1 changed files with 28 additions and 20 deletions
|
@ -1677,12 +1677,14 @@ static zend_persistent_script *opcache_compile_file(zend_file_handle *file_handl
|
||||||
if (file_handle->type == ZEND_HANDLE_FILENAME) {
|
if (file_handle->type == ZEND_HANDLE_FILENAME) {
|
||||||
if (accelerator_orig_zend_stream_open_function(file_handle->filename, file_handle) != SUCCESS) {
|
if (accelerator_orig_zend_stream_open_function(file_handle->filename, file_handle) != SUCCESS) {
|
||||||
*op_array_p = NULL;
|
*op_array_p = NULL;
|
||||||
|
if (!EG(exception)) {
|
||||||
if (type == ZEND_REQUIRE) {
|
if (type == ZEND_REQUIRE) {
|
||||||
zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, file_handle->filename);
|
zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, file_handle->filename);
|
||||||
zend_bailout();
|
zend_bailout();
|
||||||
} else {
|
} else {
|
||||||
zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, file_handle->filename);
|
zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, file_handle->filename);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1825,12 +1827,14 @@ zend_op_array *file_cache_compile_file(zend_file_handle *file_handle, int type)
|
||||||
if (!file_handle->opened_path) {
|
if (!file_handle->opened_path) {
|
||||||
if (file_handle->type == ZEND_HANDLE_FILENAME &&
|
if (file_handle->type == ZEND_HANDLE_FILENAME &&
|
||||||
accelerator_orig_zend_stream_open_function(file_handle->filename, file_handle) == FAILURE) {
|
accelerator_orig_zend_stream_open_function(file_handle->filename, file_handle) == FAILURE) {
|
||||||
|
if (!EG(exception)) {
|
||||||
if (type == ZEND_REQUIRE) {
|
if (type == ZEND_REQUIRE) {
|
||||||
zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, file_handle->filename);
|
zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, file_handle->filename);
|
||||||
zend_bailout();
|
zend_bailout();
|
||||||
} else {
|
} else {
|
||||||
zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, file_handle->filename);
|
zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, file_handle->filename);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1979,12 +1983,14 @@ zend_op_array *persistent_compile_file(zend_file_handle *file_handle, int type)
|
||||||
/* open file to resolve the path */
|
/* open file to resolve the path */
|
||||||
if (file_handle->type == ZEND_HANDLE_FILENAME &&
|
if (file_handle->type == ZEND_HANDLE_FILENAME &&
|
||||||
accelerator_orig_zend_stream_open_function(file_handle->filename, file_handle) == FAILURE) {
|
accelerator_orig_zend_stream_open_function(file_handle->filename, file_handle) == FAILURE) {
|
||||||
|
if (!EG(exception)) {
|
||||||
if (type == ZEND_REQUIRE) {
|
if (type == ZEND_REQUIRE) {
|
||||||
zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, file_handle->filename);
|
zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, file_handle->filename);
|
||||||
zend_bailout();
|
zend_bailout();
|
||||||
} else {
|
} else {
|
||||||
zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, file_handle->filename);
|
zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, file_handle->filename);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2035,12 +2041,14 @@ zend_op_array *persistent_compile_file(zend_file_handle *file_handle, int type)
|
||||||
UNEXPECTED(ZCG(accel_directives).validate_permission) &&
|
UNEXPECTED(ZCG(accel_directives).validate_permission) &&
|
||||||
file_handle->type == ZEND_HANDLE_FILENAME &&
|
file_handle->type == ZEND_HANDLE_FILENAME &&
|
||||||
UNEXPECTED(check_persistent_script_access(persistent_script))) {
|
UNEXPECTED(check_persistent_script_access(persistent_script))) {
|
||||||
|
if (!EG(exception)) {
|
||||||
if (type == ZEND_REQUIRE) {
|
if (type == ZEND_REQUIRE) {
|
||||||
zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, file_handle->filename);
|
zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, file_handle->filename);
|
||||||
zend_bailout();
|
zend_bailout();
|
||||||
} else {
|
} else {
|
||||||
zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, file_handle->filename);
|
zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, file_handle->filename);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue