Whoops \ Exception \ ErrorException (E_DEPRECATED)
ltrim(): Passing null to parameter #1 ($string) of type string is deprecated Whoops\Exception\ErrorException thrown with message "ltrim(): Passing null to parameter #1 ($string) of type string is deprecated" Stacktrace: #5 Whoops\Exception\ErrorException in /var/www/vhosts/bcv-gmbh.de/staging.bcv-gruppe.de/wp-includes/formatting.php:4487 #4 ltrim in /var/www/vhosts/bcv-gmbh.de/staging.bcv-gruppe.de/wp-includes/formatting.php:4487 #3 esc_url in /var/www/vhosts/bcv-gmbh.de/staging.bcv-gruppe.de/wp-content/plugins/maintenance/frontend/index.php:86 #2 include in /var/www/vhosts/bcv-gmbh.de/staging.bcv-gruppe.de/wp-includes/template-loader.php:132 #1 require_once in /var/www/vhosts/bcv-gmbh.de/staging.bcv-gruppe.de/wp-blog-header.php:19 #0 require in /var/www/vhosts/bcv-gmbh.de/staging.bcv-gruppe.de/index.php:17
Stack frames (6)
5
Whoops\Exception\ErrorException
/var/www/vhosts/bcv-gmbh.de/staging.bcv-gruppe.de/wp-includes/formatting.php4487
4
ltrim
/var/www/vhosts/bcv-gmbh.de/staging.bcv-gruppe.de/wp-includes/formatting.php4487
3
esc_url
/var/www/vhosts/bcv-gmbh.de/staging.bcv-gruppe.de/wp-content/plugins/maintenance/frontend/index.php86
2
include
/var/www/vhosts/bcv-gmbh.de/staging.bcv-gruppe.de/wp-includes/template-loader.php132
1
require_once
/var/www/vhosts/bcv-gmbh.de/staging.bcv-gruppe.de/wp-blog-header.php19
0
require
/var/www/vhosts/bcv-gmbh.de/staging.bcv-gruppe.de/index.php17
/var/www/vhosts/bcv-gmbh.de/staging.bcv-gruppe.de/wp-includes/formatting.php
 * @since 2.8.0
 * @since 6.9.0 Prepends `https://` to the URL if it does not already contain a scheme
 *              and the first item in `$protocols` is 'https'.
 *
 * @param string   $url       The URL to be cleaned.
 * @param string[] $protocols Optional. An array of acceptable protocols.
 *                            Defaults to return value of wp_allowed_protocols().
 * @param string   $_context  Private. Use sanitize_url() for database usage.
 * @return string The cleaned URL after the {@see 'clean_url'} filter is applied.
 *                An empty string is returned if `$url` specifies a protocol other than
 *                those in `$protocols`, or if `$url` contains an empty string.
 */
function esc_url( $url, $protocols = null, $_context = 'display' ) {
    $original_url = $url;
 
    if ( '' === $url ) {
        return $url;
    }
 
    $url = str_replace( ' ', '%20', ltrim( $url ) );
    $url = preg_replace( '|[^a-z0-9-~+_.?#=!&;,/:%@$\|*\'()\[\]\\x80-\\xff]|i', '', $url );
 
    if ( '' === $url ) {
        return $url;
    }
 
    if ( 0 !== stripos( $url, 'mailto:' ) ) {
        $strip = array( '%0d', '%0a', '%0D', '%0A' );
        $url   = _deep_replace( $strip, $url );
    }
 
    $url = str_replace( ';//', '://', $url );
    /*
     * If the URL doesn't appear to contain a scheme, we presume
     * it needs http:// prepended (unless it's a relative link
     * starting with /, # or ?, or a PHP file). If the first item
     * in $protocols is 'https', then https:// is prepended.
     */
    if ( ! str_contains( $url, ':' ) && ! in_array( $url[0], array( '/', '#', '?' ), true ) &&
        ! preg_match( '/^[a-z0-9-]+?\.php/i', $url )
/var/www/vhosts/bcv-gmbh.de/staging.bcv-gruppe.de/wp-includes/formatting.php
 * @since 2.8.0
 * @since 6.9.0 Prepends `https://` to the URL if it does not already contain a scheme
 *              and the first item in `$protocols` is 'https'.
 *
 * @param string   $url       The URL to be cleaned.
 * @param string[] $protocols Optional. An array of acceptable protocols.
 *                            Defaults to return value of wp_allowed_protocols().
 * @param string   $_context  Private. Use sanitize_url() for database usage.
 * @return string The cleaned URL after the {@see 'clean_url'} filter is applied.
 *                An empty string is returned if `$url` specifies a protocol other than
 *                those in `$protocols`, or if `$url` contains an empty string.
 */
function esc_url( $url, $protocols = null, $_context = 'display' ) {
    $original_url = $url;
 
    if ( '' === $url ) {
        return $url;
    }
 
    $url = str_replace( ' ', '%20', ltrim( $url ) );
    $url = preg_replace( '|[^a-z0-9-~+_.?#=!&;,/:%@$\|*\'()\[\]\\x80-\\xff]|i', '', $url );
 
    if ( '' === $url ) {
        return $url;
    }
 
    if ( 0 !== stripos( $url, 'mailto:' ) ) {
        $strip = array( '%0d', '%0a', '%0D', '%0A' );
        $url   = _deep_replace( $strip, $url );
    }
 
    $url = str_replace( ';//', '://', $url );
    /*
     * If the URL doesn't appear to contain a scheme, we presume
     * it needs http:// prepended (unless it's a relative link
     * starting with /, # or ?, or a PHP file). If the first item
     * in $protocols is 'https', then https:// is prepended.
     */
    if ( ! str_contains( $url, ':' ) && ! in_array( $url[0], array( '/', '#', '?' ), true ) &&
        ! preg_match( '/^[a-z0-9-]+?\.php/i', $url )
/var/www/vhosts/bcv-gmbh.de/staging.bcv-gruppe.de/wp-content/plugins/maintenance/frontend/index.php
    <meta name="viewport" content="width=device-width, maximum-scale=1, initial-scale=1, minimum-scale=1">
    <meta name="description" content="<?php echo esc_attr($mtnc_site_description); ?>" />
    <meta http-equiv="X-UA-Compatible" content="" />
    <meta property="og:site_name" content="<?php echo esc_attr($mtnc_site_title) . ' - ' . esc_attr($mtnc_site_description); ?>" />
    <meta property="og:title" content="<?php echo esc_attr($mtnc_site_title); ?>" />
    <meta property="og:type" content="Maintenance" />
    <meta property="og:url" content="<?php echo esc_url(site_url()); ?>" />
    <meta property="og:description" content="<?php echo esc_attr($mtnc_site_description); ?>" />
    <?php
    if (!empty($mtnc_logo)) {
    ?>
        <meta property="og:image" content="<?php echo esc_url($mtnc_logo); ?>" />
        <meta property="og:image:url" content="<?php echo esc_url($mtnc_logo); ?>" />
        <meta property="og:image:secure_url" content="<?php echo esc_url($mtnc_logo); ?>" />
        <meta property="og:image:type" content="<?php echo esc_attr($mtnc_logo_ext); ?>" />
    <?php
    }
    ?>
    <link rel="profile" href="http://gmpg.org/xfn/11" />
    <link rel="pingback" href="<?php esc_url(bloginfo('pingback_url')); ?>" />
 
    <?php
    global $wp_styles;
    
    if(!empty($mtnc_bunny_fonts)) {
        echo '<link rel="stylesheet" href="' . esc_url('https://fonts.bunny.net/css?family=' . implode('|', $mtnc_bunny_fonts)). '">'; //phpcs:ignore
    }
    echo '<script type="text/javascript" src="' . esc_url(includes_url('js/jquery/jquery.js')) . '"></script>'; //phpcs:ignore
    echo '<script src="' . esc_url(MTNC_URL . 'frontend/js/frontend.js?ver=' . $wf_mtnc->version) . '" id="frontend-js"></script>'; //phpcs:ignore
    echo '<link rel="stylesheet" href="' . esc_url( includes_url( 'css/dashicons.min.css' ) ) . '">';
    
    // all.css loading in index.php inline by 2 steps
    wp_register_style('mtnc-style', MTNC_URI . 'frontend/css/style.css', '', filemtime(MTNC_PATH . 'frontend/css/style.css'));
    $wp_styles->do_items('mtnc-style');
 
 
    $mtnc_options_style = '';
    if (!empty($mtnc_theme->background_color)) {
        $mtnc_background_color = esc_attr($mtnc_theme->background_color);
        $mtnc_options_style .= 'body {background-color: ' . $mtnc_background_color . '}';
/var/www/vhosts/bcv-gmbh.de/staging.bcv-gruppe.de/wp-includes/template-loader.php
     */
    $template   = apply_filters( 'template_include', $template );
    $is_stringy = is_string( $template ) || ( is_object( $template ) && method_exists( $template, '__toString' ) );
    $template   = $is_stringy ? realpath( (string) $template ) : null;
    if (
        is_string( $template ) &&
        ( str_ends_with( $template, '.php' ) || str_ends_with( $template, '.html' ) ) &&
        is_file( $template ) &&
        is_readable( $template )
    ) {
        /**
         * Fires immediately before including the template.
         *
         * @since 6.9.0
         *
         * @param string $template The path of the template about to be included.
         */
        do_action( 'wp_before_include_template', $template );
 
        include $template;
    } elseif ( current_user_can( 'switch_themes' ) ) {
        $theme = wp_get_theme();
        if ( $theme->errors() ) {
            wp_die( $theme->errors() );
        }
    }
    return;
}
 
/var/www/vhosts/bcv-gmbh.de/staging.bcv-gruppe.de/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';
 
}
 
/var/www/vhosts/bcv-gmbh.de/staging.bcv-gruppe.de/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';
 

Environment & details:

empty
empty
empty
empty
empty
Key Value
SERVER_SOFTWARE Apache
REQUEST_URI /
USER ftp_10005
HOME /var/www/vhosts/bcv-gmbh.de
SCRIPT_NAME /index.php
QUERY_STRING
REQUEST_METHOD GET
SERVER_PROTOCOL HTTP/1.1
GATEWAY_INTERFACE CGI/1.1
REMOTE_PORT 48916
SCRIPT_FILENAME /var/www/vhosts/bcv-gmbh.de/staging.bcv-gruppe.de/index.php
SERVER_ADMIN [no address given]
CONTEXT_DOCUMENT_ROOT /var/www/vhosts/bcv-gmbh.de/staging.bcv-gruppe.de
CONTEXT_PREFIX
REQUEST_SCHEME https
DOCUMENT_ROOT /var/www/vhosts/bcv-gmbh.de/staging.bcv-gruppe.de
REMOTE_ADDR 216.73.216.209
SERVER_PORT 443
SERVER_ADDR 193.151.32.61
SERVER_NAME staging.bcv-gruppe.de
SERVER_SIGNATURE
PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HTTP_ACCEPT_ENCODING gzip, br, zstd, deflate
HTTP_USER_AGENT Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
HTTP_ACCEPT */*
HTTP_X_ACCEL_INTERNAL /internal-nginx-static-location
HTTP_X_REAL_IP 216.73.216.209
HTTP_HOST staging.bcv-gruppe.de
proxy-nokeepalive 1
SSL_TLS_SNI staging.bcv-gruppe.de
HTTPS on
HTTP_AUTHORIZATION
UNIQUE_ID anjMXI3ikfuGjC9l48b3-QAAAAc
FCGI_ROLE RESPONDER
PHP_SELF /index.php
REQUEST_TIME_FLOAT 1786301532.8015
REQUEST_TIME 1786301532
empty
0. Whoops\Handler\PrettyPageHandler