@@ -1677,11 +1677,13 @@ static zend_persistent_script *opcache_compile_file(zend_file_handle *file_handl
1677
1677
if (file_handle -> type == ZEND_HANDLE_FILENAME ) {
1678
1678
if (accelerator_orig_zend_stream_open_function (file_handle -> filename , file_handle ) != SUCCESS ) {
1679
1679
* op_array_p = NULL ;
1680
- if (type == ZEND_REQUIRE ) {
1681
- zend_message_dispatcher (ZMSG_FAILED_REQUIRE_FOPEN , file_handle -> filename );
1682
- zend_bailout ();
1683
- } else {
1684
- zend_message_dispatcher (ZMSG_FAILED_INCLUDE_FOPEN , file_handle -> filename );
1680
+ if (!EG (exception )) {
1681
+ if (type == ZEND_REQUIRE ) {
1682
+ zend_message_dispatcher (ZMSG_FAILED_REQUIRE_FOPEN , file_handle -> filename );
1683
+ zend_bailout ();
1684
+ } else {
1685
+ zend_message_dispatcher (ZMSG_FAILED_INCLUDE_FOPEN , file_handle -> filename );
1686
+ }
1685
1687
}
1686
1688
return NULL ;
1687
1689
}
@@ -1825,11 +1827,13 @@ zend_op_array *file_cache_compile_file(zend_file_handle *file_handle, int type)
1825
1827
if (!file_handle -> opened_path ) {
1826
1828
if (file_handle -> type == ZEND_HANDLE_FILENAME &&
1827
1829
accelerator_orig_zend_stream_open_function (file_handle -> filename , file_handle ) == FAILURE ) {
1828
- if (type == ZEND_REQUIRE ) {
1829
- zend_message_dispatcher (ZMSG_FAILED_REQUIRE_FOPEN , file_handle -> filename );
1830
- zend_bailout ();
1831
- } else {
1832
- zend_message_dispatcher (ZMSG_FAILED_INCLUDE_FOPEN , file_handle -> filename );
1830
+ if (!EG (exception )) {
1831
+ if (type == ZEND_REQUIRE ) {
1832
+ zend_message_dispatcher (ZMSG_FAILED_REQUIRE_FOPEN , file_handle -> filename );
1833
+ zend_bailout ();
1834
+ } else {
1835
+ zend_message_dispatcher (ZMSG_FAILED_INCLUDE_FOPEN , file_handle -> filename );
1836
+ }
1833
1837
}
1834
1838
return NULL ;
1835
1839
}
@@ -1979,11 +1983,13 @@ zend_op_array *persistent_compile_file(zend_file_handle *file_handle, int type)
1979
1983
/* open file to resolve the path */
1980
1984
if (file_handle -> type == ZEND_HANDLE_FILENAME &&
1981
1985
accelerator_orig_zend_stream_open_function (file_handle -> filename , file_handle ) == FAILURE ) {
1982
- if (type == ZEND_REQUIRE ) {
1983
- zend_message_dispatcher (ZMSG_FAILED_REQUIRE_FOPEN , file_handle -> filename );
1984
- zend_bailout ();
1985
- } else {
1986
- zend_message_dispatcher (ZMSG_FAILED_INCLUDE_FOPEN , file_handle -> filename );
1986
+ if (!EG (exception )) {
1987
+ if (type == ZEND_REQUIRE ) {
1988
+ zend_message_dispatcher (ZMSG_FAILED_REQUIRE_FOPEN , file_handle -> filename );
1989
+ zend_bailout ();
1990
+ } else {
1991
+ zend_message_dispatcher (ZMSG_FAILED_INCLUDE_FOPEN , file_handle -> filename );
1992
+ }
1987
1993
}
1988
1994
return NULL ;
1989
1995
}
@@ -2035,11 +2041,13 @@ zend_op_array *persistent_compile_file(zend_file_handle *file_handle, int type)
2035
2041
UNEXPECTED (ZCG (accel_directives ).validate_permission ) &&
2036
2042
file_handle -> type == ZEND_HANDLE_FILENAME &&
2037
2043
UNEXPECTED (check_persistent_script_access (persistent_script ))) {
2038
- if (type == ZEND_REQUIRE ) {
2039
- zend_message_dispatcher (ZMSG_FAILED_REQUIRE_FOPEN , file_handle -> filename );
2040
- zend_bailout ();
2041
- } else {
2042
- zend_message_dispatcher (ZMSG_FAILED_INCLUDE_FOPEN , file_handle -> filename );
2044
+ if (!EG (exception )) {
2045
+ if (type == ZEND_REQUIRE ) {
2046
+ zend_message_dispatcher (ZMSG_FAILED_REQUIRE_FOPEN , file_handle -> filename );
2047
+ zend_bailout ();
2048
+ } else {
2049
+ zend_message_dispatcher (ZMSG_FAILED_INCLUDE_FOPEN , file_handle -> filename );
2050
+ }
2043
2051
}
2044
2052
return NULL ;
2045
2053
}
0 commit comments