#define HTTP_LOG_WRITE(file, type, msg) \
if (file && *file) { \
- php_stream *log = php_stream_open_wrapper(file, "ab", REPORT_ERRORS|ENFORCE_SAFE_MODE, NULL); \
+ php_stream *log = php_stream_open_wrapper_ex(file, "ab", REPORT_ERRORS|ENFORCE_SAFE_MODE, NULL, HTTP_DEFAULT_STREAM_CONTEXT); \
\
if (log) { \
php_stream_printf(log TSRMLS_CC, "%s\t[%s]\t%s\t<%s>%s", datetime, type, msg, SG(request_info).request_uri, PHP_EOL); \
return FAILURE;
}
- php_end_ob_buffers(0 TSRMLS_CC);
+ if (!OG(ob_lock)) {
+ php_end_ob_buffers(0 TSRMLS_CC);
+ }
if ((SUCCESS == sapi_send_headers(TSRMLS_C)) && body) {
PHPWRITE(body, strlen(body));
}
{
zval **hsv;
zval **var;
-
- if ((SUCCESS != zend_hash_find(&EG(symbol_table), "_SERVER", sizeof("_SERVER"), (void **) &hsv)) || (Z_TYPE_PP(hsv) != IS_ARRAY)) {
+#ifdef ZEND_ENGINE_2
+ zend_is_auto_global("_SERVER", lenof("_SERVER") TSRMLS_CC);
+#endif
+ if ((SUCCESS != zend_hash_find(&EG(symbol_table), "_SERVER", sizeof("_SERVER"), (void *) &hsv)) || (Z_TYPE_PP(hsv) != IS_ARRAY)) {
return NULL;
}
- if ((SUCCESS != zend_hash_find(Z_ARRVAL_PP(hsv), (char *) key, key_size, (void **) &var)) || (Z_TYPE_PP(var) != IS_STRING)) {
+ if ((SUCCESS != zend_hash_find(Z_ARRVAL_PP(hsv), (char *) key, key_size, (void *) &var)) || (Z_TYPE_PP(var) != IS_STRING)) {
return NULL;
}
if (check && !(Z_STRVAL_PP(var) && Z_STRLEN_PP(var))) {