@@ -3798,6 +3798,16 @@ static int accel_preload(const char *config)
37983798 return ret ;
37993799}
38003800
3801+ size_t preload_ub_write (const char * str , size_t str_length )
3802+ {
3803+ return fwrite (str , 1 , str_length , stdout );
3804+ }
3805+
3806+ void preload_flush (void * server_context )
3807+ {
3808+ fflush (stdout );
3809+ }
3810+
38013811static int accel_finish_startup (void )
38023812{
38033813 if (!ZCG (enabled ) || !accel_startup_ok ) {
@@ -3814,6 +3824,8 @@ static int accel_finish_startup(void)
38143824 int (* orig_send_headers )(sapi_headers_struct * sapi_headers TSRMLS_DC ) = sapi_module .send_headers ;
38153825 void (* orig_send_header )(sapi_header_struct * sapi_header , void * server_context TSRMLS_DC )= sapi_module .send_header ;
38163826 char * (* orig_getenv )(char * name , size_t name_len TSRMLS_DC ) = sapi_module .getenv ;
3827+ size_t (* orig_ub_write )(const char * str , size_t str_length ) = sapi_module .ub_write ;
3828+ void (* orig_flush )(void * server_context ) = sapi_module .flush ;
38173829#ifdef ZEND_SIGNALS
38183830 zend_bool old_reset_signals = SIGG (reset );
38193831#endif
@@ -3841,6 +3853,8 @@ static int accel_finish_startup(void)
38413853 sapi_module .send_headers = NULL ;
38423854 sapi_module .send_header = NULL ;
38433855 sapi_module .getenv = NULL ;
3856+ sapi_module .ub_write = preload_ub_write ;
3857+ sapi_module .flush = preload_flush ;
38443858
38453859 zend_interned_strings_switch_storage (1 );
38463860
@@ -3884,6 +3898,8 @@ static int accel_finish_startup(void)
38843898 sapi_module .send_headers = orig_send_headers ;
38853899 sapi_module .send_header = orig_send_header ;
38863900 sapi_module .getenv = orig_getenv ;
3901+ sapi_module .ub_write = orig_ub_write ;
3902+ sapi_module .flush = orig_flush ;
38873903
38883904 zend_shared_alloc_unlock ();
38893905
0 commit comments