Whoops \ Exception \ ErrorException (E_WARNING)
Cannot modify header information - headers already sent by (output started at /home/gzxgloe/www/wp-content/plugins/plugins-load-order/plugins-load-order.php:446) Whoops\Exception\ErrorException thrown with message "Cannot modify header information - headers already sent by (output started at /home/gzxgloe/www/wp-content/plugins/plugins-load-order/plugins-load-order.php:446)" Stacktrace: #11 Whoops\Exception\ErrorException in /home/gzxgloe/www/wp-includes/rest-api/class-wp-rest-server.php:1896 #10 header in /home/gzxgloe/www/wp-includes/rest-api/class-wp-rest-server.php:1896 #9 WP_REST_Server:send_header in /home/gzxgloe/www/wp-includes/rest-api/class-wp-rest-server.php:318 #8 WP_REST_Server:serve_request in /home/gzxgloe/www/wp-includes/rest-api.php:459 #7 rest_api_loaded in /home/gzxgloe/www/wp-includes/class-wp-hook.php:324 #6 WP_Hook:apply_filters in /home/gzxgloe/www/wp-includes/class-wp-hook.php:348 #5 WP_Hook:do_action in /home/gzxgloe/www/wp-includes/plugin.php:565 #4 do_action_ref_array in /home/gzxgloe/www/wp-includes/class-wp.php:418 #3 WP:parse_request in /home/gzxgloe/www/wp-includes/class-wp.php:818 #2 WP:main in /home/gzxgloe/www/wp-includes/functions.php:1342 #1 wp in /home/gzxgloe/www/wp-blog-header.php:16 #0 require in /home/gzxgloe/www/index.php:17
Stack frames (12)
11
Whoops
\
Exception
\
ErrorException
/
home
/
gzxgloe
/
www
/
wp-includes
/
rest-api
/
class-wp-rest-server.php
1896
10
header
/
home
/
gzxgloe
/
www
/
wp-includes
/
rest-api
/
class-wp-rest-server.php
1896
9
WP_REST_Server
send_header
/
home
/
gzxgloe
/
www
/
wp-includes
/
rest-api
/
class-wp-rest-server.php
318
8
WP_REST_Server
serve_request
/
home
/
gzxgloe
/
www
/
wp-includes
/
rest-api.php
459
7
rest_api_loaded
/
home
/
gzxgloe
/
www
/
wp-includes
/
class-wp-hook.php
324
6
WP_Hook
apply_filters
/
home
/
gzxgloe
/
www
/
wp-includes
/
class-wp-hook.php
348
5
WP_Hook
do_action
/
home
/
gzxgloe
/
www
/
wp-includes
/
plugin.php
565
4
do_action_ref_array
/
home
/
gzxgloe
/
www
/
wp-includes
/
class-wp.php
418
3
WP
parse_request
/
home
/
gzxgloe
/
www
/
wp-includes
/
class-wp.php
818
2
WP
main
/
home
/
gzxgloe
/
www
/
wp-includes
/
functions.php
1342
1
wp
/
home
/
gzxgloe
/
www
/
wp-blog-header.php
16
0
require
/
home
/
gzxgloe
/
www
/
index.php
17
/
home
/
gzxgloe
/
www
/
wp-includes
/
rest-api
/
class-wp-rest-server.php
    }
 
    /**
     * Sends an HTTP header.
     *
     * @since 4.4.0
     *
     * @param string $key Header key.
     * @param string $value Header value.
     */
    public function send_header( $key, $value ) {
        /*
         * Sanitize as per RFC2616 (Section 4.2):
         *
         * Any LWS that occurs between field-content MAY be replaced with a
         * single SP before interpreting the field value or forwarding the
         * message downstream.
         */
        $value = preg_replace( '/\s+/', ' ', $value );
        header( sprintf( '%s: %s', $key, $value ) );
    }
 
    /**
     * Sends multiple HTTP headers.
     *
     * @since 4.4.0
     *
     * @param array $headers Map of header name to header value.
     */
    public function send_headers( $headers ) {
        foreach ( $headers as $key => $value ) {
            $this->send_header( $key, $value );
        }
    }
 
    /**
     * Removes an HTTP header from the current response.
     *
     * @since 4.8.0
     *
Arguments
  1. "Cannot modify header information - headers already sent by (output started at /home/gzxgloe/www/wp-content/plugins/plugins-load-order/plugins-load-order.php:446)"
    
/
home
/
gzxgloe
/
www
/
wp-includes
/
rest-api
/
class-wp-rest-server.php
    }
 
    /**
     * Sends an HTTP header.
     *
     * @since 4.4.0
     *
     * @param string $key Header key.
     * @param string $value Header value.
     */
    public function send_header( $key, $value ) {
        /*
         * Sanitize as per RFC2616 (Section 4.2):
         *
         * Any LWS that occurs between field-content MAY be replaced with a
         * single SP before interpreting the field value or forwarding the
         * message downstream.
         */
        $value = preg_replace( '/\s+/', ' ', $value );
        header( sprintf( '%s: %s', $key, $value ) );
    }
 
    /**
     * Sends multiple HTTP headers.
     *
     * @since 4.4.0
     *
     * @param array $headers Map of header name to header value.
     */
    public function send_headers( $headers ) {
        foreach ( $headers as $key => $value ) {
            $this->send_header( $key, $value );
        }
    }
 
    /**
     * Removes an HTTP header from the current response.
     *
     * @since 4.8.0
     *
Arguments
  1. "Content-Type: application/json; charset=UTF-8"
    
/
home
/
gzxgloe
/
www
/
wp-includes
/
rest-api
/
class-wp-rest-server.php
             */
            $current_user = null;
        }
 
        /**
         * Filters whether JSONP is enabled for the REST API.
         *
         * @since 4.4.0
         *
         * @param bool $jsonp_enabled Whether JSONP is enabled. Default true.
         */
        $jsonp_enabled = apply_filters( 'rest_jsonp_enabled', true );
 
        $jsonp_callback = false;
        if ( isset( $_GET['_jsonp'] ) ) {
            $jsonp_callback = $_GET['_jsonp'];
        }
 
        $content_type = ( $jsonp_callback && $jsonp_enabled ) ? 'application/javascript' : 'application/json';
        $this->send_header( 'Content-Type', $content_type . '; charset=' . get_option( 'blog_charset' ) );
        $this->send_header( 'X-Robots-Tag', 'noindex' );
 
        $api_root = get_rest_url();
        if ( ! empty( $api_root ) ) {
            $this->send_header( 'Link', '<' . sanitize_url( $api_root ) . '>; rel="https://api.w.org/"' );
        }
 
        /*
         * Mitigate possible JSONP Flash attacks.
         *
         * https://miki.it/blog/2014/7/8/abusing-jsonp-with-rosetta-flash/
         */
        $this->send_header( 'X-Content-Type-Options', 'nosniff' );
 
        /**
         * Filters whether the REST API is enabled.
         *
         * @since 4.4.0
         * @deprecated 4.7.0 Use the {@see 'rest_authentication_errors'} filter to
         *                   restrict access to the REST API.
Arguments
  1. "Content-Type"
    
  2. "application/json; charset=UTF-8"
    
/
home
/
gzxgloe
/
www
/
wp-includes
/
rest-api.php
        wp_die( $rest_type_error );
    }
 
    /**
     * Whether this is a REST Request.
     *
     * @since 4.4.0
     * @var bool
     */
    define( 'REST_REQUEST', true );
 
    // Initialize the server.
    $server = rest_get_server();
 
    // Fire off the request.
    $route = untrailingslashit( $GLOBALS['wp']->query_vars['rest_route'] );
    if ( empty( $route ) ) {
        $route = '/';
    }
    $server->serve_request( $route );
 
    // We're done.
    die();
}
 
/**
 * Retrieves the URL prefix for any API resource.
 *
 * @since 4.4.0
 *
 * @return string Prefix.
 */
function rest_get_url_prefix() {
    /**
     * Filters the REST URL prefix.
     *
     * @since 4.4.0
     *
     * @param string $prefix URL prefix. Default 'wp-json'.
     */
Arguments
  1. "/oembed/1.0/embed"
    
/
home
/
gzxgloe
/
www
/
wp-includes
/
class-wp-hook.php
 
        $this->iterations[ $nesting_level ] = $this->priorities;
 
        $num_args = count( $args );
 
        do {
            $this->current_priority[ $nesting_level ] = current( $this->iterations[ $nesting_level ] );
 
            $priority = $this->current_priority[ $nesting_level ];
 
            foreach ( $this->callbacks[ $priority ] as $the_ ) {
                if ( ! $this->doing_action ) {
                    $args[0] = $value;
                }
 
                // Avoid the array_slice() if possible.
                if ( 0 === $the_['accepted_args'] ) {
                    $value = call_user_func( $the_['function'] );
                } elseif ( $the_['accepted_args'] >= $num_args ) {
                    $value = call_user_func_array( $the_['function'], $args );
                } else {
                    $value = call_user_func_array( $the_['function'], array_slice( $args, 0, $the_['accepted_args'] ) );
                }
            }
        } while ( false !== next( $this->iterations[ $nesting_level ] ) );
 
        unset( $this->iterations[ $nesting_level ] );
        unset( $this->current_priority[ $nesting_level ] );
 
        --$this->nesting_level;
 
        return $value;
    }
 
    /**
     * Calls the callback functions that have been added to an action hook.
     *
     * @since 4.7.0
     *
     * @param array $args Parameters to pass to the callback functions.
Arguments
  1. WP {}
    
/
home
/
gzxgloe
/
www
/
wp-includes
/
class-wp-hook.php
        } while ( false !== next( $this->iterations[ $nesting_level ] ) );
 
        unset( $this->iterations[ $nesting_level ] );
        unset( $this->current_priority[ $nesting_level ] );
 
        --$this->nesting_level;
 
        return $value;
    }
 
    /**
     * Calls the callback functions that have been added to an action hook.
     *
     * @since 4.7.0
     *
     * @param array $args Parameters to pass to the callback functions.
     */
    public function do_action( $args ) {
        $this->doing_action = true;
        $this->apply_filters( '', $args );
 
        // If there are recursive calls to the current action, we haven't finished it until we get to the last one.
        if ( ! $this->nesting_level ) {
            $this->doing_action = false;
        }
    }
 
    /**
     * Processes the functions hooked into the 'all' hook.
     *
     * @since 4.7.0
     *
     * @param array $args Arguments to pass to the hook callbacks. Passed by reference.
     */
    public function do_all_hook( &$args ) {
        $nesting_level                      = $this->nesting_level++;
        $this->iterations[ $nesting_level ] = $this->priorities;
 
        do {
            $priority = current( $this->iterations[ $nesting_level ] );
Arguments
  1. null
    
  2. array:1 [
      0 => WP {}
    ]
    
/
home
/
gzxgloe
/
www
/
wp-includes
/
plugin.php
    // Do 'all' actions first.
    if ( isset( $wp_filter['all'] ) ) {
        $wp_current_filter[] = $hook_name;
        $all_args            = func_get_args(); // phpcs:ignore PHPCompatibility.FunctionUse.ArgumentFunctionsReportCurrentValue.NeedsInspection
        _wp_call_all_hook( $all_args );
    }
 
    if ( ! isset( $wp_filter[ $hook_name ] ) ) {
        if ( isset( $wp_filter['all'] ) ) {
            array_pop( $wp_current_filter );
        }
 
        return;
    }
 
    if ( ! isset( $wp_filter['all'] ) ) {
        $wp_current_filter[] = $hook_name;
    }
 
    $wp_filter[ $hook_name ]->do_action( $args );
 
    array_pop( $wp_current_filter );
}
 
/**
 * Checks if any action has been registered for a hook.
 *
 * When using the `$callback` argument, this function may return a non-boolean value
 * that evaluates to false (e.g. 0), so use the `===` operator for testing the return value.
 *
 * @since 2.5.0
 *
 * @see has_filter() This function is an alias of has_filter().
 *
 * @param string                      $hook_name The name of the action hook.
 * @param callable|string|array|false $callback  Optional. The callback to check for.
 *                                               This function can be called unconditionally to speculatively check
 *                                               a callback that may or may not exist. Default false.
 * @return bool|int If `$callback` is omitted, returns boolean for whether the hook has
 *                  anything registered. When checking a specific function, the priority
Arguments
  1. array:1 [
      0 => WP {}
    ]
    
/
home
/
gzxgloe
/
www
/
wp-includes
/
class-wp.php
            $this->query_vars['error'] = $error;
        }
 
        /**
         * Filters the array of parsed query variables.
         *
         * @since 2.1.0
         *
         * @param array $query_vars The array of requested query variables.
         */
        $this->query_vars = apply_filters( 'request', $this->query_vars );
 
        /**
         * Fires once all query variables for the current request have been parsed.
         *
         * @since 2.1.0
         *
         * @param WP $wp Current WordPress environment instance (passed by reference).
         */
        do_action_ref_array( 'parse_request', array( &$this ) );
 
        return true;
    }
 
    /**
     * Sends additional HTTP headers for caching, content type, etc.
     *
     * Sets the Content-Type header. Sets the 'error' status (if passed) and optionally exits.
     * If showing a feed, it will also send Last-Modified, ETag, and 304 status if needed.
     *
     * @since 2.0.0
     * @since 4.4.0 `X-Pingback` header is added conditionally for single posts that allow pings.
     * @since 6.1.0 Runs after posts have been queried.
     *
     * @global WP_Query $wp_query WordPress Query object.
     */
    public function send_headers() {
        global $wp_query;
 
        $headers       = array();
Arguments
  1. "parse_request"
    
  2. array:1 [
      0 => WP {}
    ]
    
/
home
/
gzxgloe
/
www
/
wp-includes
/
class-wp.php
        } else {
            status_header( 200 );
        }
    }
 
    /**
     * Sets up all of the variables required by the WordPress environment.
     *
     * The action {@see 'wp'} has one parameter that references the WP object. It
     * allows for accessing the properties and methods to further manipulate the
     * object.
     *
     * @since 2.0.0
     *
     * @param string|array $query_args Passed to parse_request().
     */
    public function main( $query_args = '' ) {
        $this->init();
 
        $parsed = $this->parse_request( $query_args );
 
        if ( $parsed ) {
            $this->query_posts();
            $this->handle_404();
            $this->register_globals();
        }
 
        $this->send_headers();
 
        /**
         * Fires once the WordPress environment has been set up.
         *
         * @since 2.1.0
         *
         * @param WP $wp Current WordPress environment instance (passed by reference).
         */
        do_action_ref_array( 'wp', array( &$this ) );
    }
}
 
Arguments
  1. ""
    
/
home
/
gzxgloe
/
www
/
wp-includes
/
functions.php
    }
 
    return wp_remote_retrieve_body( $response );
}
 
/**
 * Sets up the WordPress query.
 *
 * @since 2.0.0
 *
 * @global WP       $wp           Current WordPress environment instance.
 * @global WP_Query $wp_query     WordPress Query object.
 * @global WP_Query $wp_the_query Copy of the WordPress Query object.
 *
 * @param string|array $query_vars Default WP_Query arguments.
 */
function wp( $query_vars = '' ) {
    global $wp, $wp_query, $wp_the_query;
 
    $wp->main( $query_vars );
 
    if ( ! isset( $wp_the_query ) ) {
        $wp_the_query = $wp_query;
    }
}
 
/**
 * Retrieves the description for the HTTP status.
 *
 * @since 2.3.0
 * @since 3.9.0 Added status codes 418, 428, 429, 431, and 511.
 * @since 4.5.0 Added status codes 308, 421, and 451.
 * @since 5.1.0 Added status code 103.
 * @since 6.6.0 Added status code 425.
 *
 * @global array $wp_header_to_desc
 *
 * @param int $code HTTP status code.
 * @return string Status description if found, an empty string otherwise.
 */
Arguments
  1. ""
    
/
home
/
gzxgloe
/
www
/
wp-blog-header.php
<?php
/**
 * Loads the WordPress environment and template.
 *
 * @package WordPress
 */
 
if ( ! isset( $wp_did_header ) ) {
 
    $wp_did_header = true;
 
    // Load the WordPress library.
    require_once __DIR__ . '/wp-load.php';
 
    // Set up the WordPress query.
    wp();
 
    // Load the theme template.
    require_once ABSPATH . WPINC . '/template-loader.php';
 
}
 
/
home
/
gzxgloe
/
www
/
index.php
<?php
/**
 * Front to the WordPress application. This file doesn't do anything, but loads
 * wp-blog-header.php which does and tells WordPress to load the theme.
 *
 * @package WordPress
 */
 
/**
 * Tells WordPress to load the WordPress theme and output it.
 *
 * @var bool
 */
define( 'WP_USE_THEMES', true );
 
/** Loads the WordPress Environment and Template */
require __DIR__ . '/wp-blog-header.php';
 
Arguments
  1. "/home/gzxgloe/www/wp-blog-header.php"
    

Environment & details:

Key Value
format
"xml"
url
"https://www.ecolemegagic.com/en/tuto/les-des-de-limpossible-explication-2/"
empty
empty
empty
empty
Key Value
SERVER_SOFTWARE
"Apache"
REQUEST_URI
"/en/wp-json/oembed/1.0/embed?format=xml&url=https%3A%2F%2Fwww.ecolemegagic.com%2Fen%2Ftuto%2Fles-des-de-limpossible-explication-2%2F"
PATH
"/usr/local/bin:/usr/bin:/bin"
REDIRECT_STATUS
"200"
UNIQUE_ID
"atsRuPvJwxqXAMExdTkJCQAAClk"
GEOIP_COUNTRY_CODE
"US"
GEOIP_COUNTRY_NAME
"United States"
GEOIP_REGION
"CA"
GEOIP_CITY
"Pomona"
GEOIP_DMA_CODE
"803"
GEOIP_AREA_CODE
"909"
GEOIP_LATITUDE
"34.067001"
GEOIP_LONGITUDE
"-117.772903"
SCRIPT_URL
"/en/wp-json/oembed/1.0/embed"
SCRIPT_URI
"https://www.ecolemegagic.com:443/en/wp-json/oembed/1.0/embed"
HTTPS
"on"
HTTP_AUTHORIZATION
""
CFG_CLUSTER
"cluster131"
ENVIRONMENT
"development"
APP_ENGINE_VERSION
"7.4"
APP_ENGINE
"phpcgi"
HTTP_HOST
"www.ecolemegagic.com"
HTTP_X_PREDICTOR
"1"
HTTP_X_FORWARDED_FOR
"216.73.217.177"
HTTP_X_FORWARDED_PROTO
"https"
HTTP_X_OVHREQUEST_ID
"daab0666183ec9f5ea2331073c379bea"
HTTP_ACCEPT
"*/*"
HTTP_USER_AGENT
"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"
HTTP_ACCEPT_ENCODING
"gzip, br, zstd, deflate"
HTTP_REMOTE_IP
"216.73.217.177"
SERVER_SIGNATURE
""
SERVER_NAME
"www.ecolemegagic.com"
SERVER_ADDR
"10.131.20.2"
SERVER_PORT
"443"
REMOTE_ADDR
"216.73.217.177"
DOCUMENT_ROOT
"/home/gzxgloe/www"
SERVER_ADMIN
"postmaster@www.ecolemegagic.com"
SCRIPT_FILENAME
"/home/gzxgloe/www/index.php"
REMOTE_PORT
"50632"
REDIRECT_URL
"/en/wp-json/oembed/1.0/embed"
REDIRECT_QUERY_STRING
"format=xml&url=https%3A%2F%2Fwww.ecolemegagic.com%2Fen%2Ftuto%2Fles-des-de-limpossible-explication-2%2F"
GATEWAY_INTERFACE
"CGI/1.1"
SERVER_PROTOCOL
"HTTP/1.1"
REQUEST_METHOD
"GET"
QUERY_STRING
"format=xml&url=https%3A%2F%2Fwww.ecolemegagic.com%2Fen%2Ftuto%2Fles-des-de-limpossible-explication-2%2F"
SCRIPT_NAME
"/index.php"
HOME
"/homez.1813/gzxgloe"
PWD
"/homez.1813/gzxgloe/www"
UID
"gzxgloe"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1792741816.789
REQUEST_TIME
1792741816
argv
array:1 [
  0 => "index.php"
]
argc
1
Key Value
PATH
"/usr/local/bin:/usr/bin:/bin"
REDIRECT_STATUS
"200"
UNIQUE_ID
"atsRuPvJwxqXAMExdTkJCQAAClk"
GEOIP_COUNTRY_CODE
"US"
GEOIP_COUNTRY_NAME
"United States"
GEOIP_REGION
"CA"
GEOIP_CITY
"Pomona"
GEOIP_DMA_CODE
"803"
GEOIP_AREA_CODE
"909"
GEOIP_LATITUDE
"34.067001"
GEOIP_LONGITUDE
"-117.772903"
SCRIPT_URL
"/en/wp-json/oembed/1.0/embed"
SCRIPT_URI
"https://www.ecolemegagic.com:443/en/wp-json/oembed/1.0/embed"
HTTPS
"on"
HTTP_AUTHORIZATION
""
CFG_CLUSTER
"cluster131"
ENVIRONMENT
"development"
APP_ENGINE_VERSION
"7.4"
APP_ENGINE
"phpcgi"
HTTP_HOST
"www.ecolemegagic.com"
HTTP_X_PREDICTOR
"1"
HTTP_X_FORWARDED_FOR
"216.73.217.177"
HTTP_X_FORWARDED_PROTO
"https"
HTTP_X_OVHREQUEST_ID
"daab0666183ec9f5ea2331073c379bea"
HTTP_ACCEPT
"*/*"
HTTP_USER_AGENT
"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"
HTTP_ACCEPT_ENCODING
"gzip, br, zstd, deflate"
HTTP_REMOTE_IP
"216.73.217.177"
SERVER_SIGNATURE
""
SERVER_SOFTWARE
"Apache"
SERVER_NAME
"www.ecolemegagic.com"
SERVER_ADDR
"10.131.20.2"
SERVER_PORT
"443"
REMOTE_ADDR
"216.73.217.177"
DOCUMENT_ROOT
"/home/gzxgloe/www"
SERVER_ADMIN
"postmaster@www.ecolemegagic.com"
SCRIPT_FILENAME
"/home/gzxgloe/www/index.php"
REMOTE_PORT
"50632"
REDIRECT_URL
"/en/wp-json/oembed/1.0/embed"
REDIRECT_QUERY_STRING
"format=xml&url=https%3A%2F%2Fwww.ecolemegagic.com%2Fen%2Ftuto%2Fles-des-de-limpossible-explication-2%2F"
GATEWAY_INTERFACE
"CGI/1.1"
SERVER_PROTOCOL
"HTTP/1.1"
REQUEST_METHOD
"GET"
QUERY_STRING
"format=xml&url=https%3A%2F%2Fwww.ecolemegagic.com%2Fen%2Ftuto%2Fles-des-de-limpossible-explication-2%2F"
REQUEST_URI
"/en/wp-json/oembed/1.0/embed?format=xml&url=https%3A%2F%2Fwww.ecolemegagic.com%2Fen%2Ftuto%2Fles-des-de-limpossible-explication-2%2F"
SCRIPT_NAME
"/index.php"
HOME
"/homez.1813/gzxgloe"
PWD
"/homez.1813/gzxgloe/www"
UID
"gzxgloe"
0. Whoops\Handler\PrettyPageHandler