Warning: session_start(): Cannot send session cache limiter
-
A user received this error when trying to submit the form. What can cause this and how can it be fixed?
Here is the full error message:
Warning: session_start(): Cannot send session cache limiter – headers already sent (output started at /home/belgianb/public_html/wp-content/plugins/wpgform/wpgform-core.php:1749) in /home/belgianb/public_html/wp-content/themes/Divi/header.php on line 1
-
That is an odd error. It comes from a place in the code where an error message is being sent to the output.
echo '<div id="message" class="wpgform-google-error"><p>' . $error_string . '</p></div>';Without knowing what exactly is in the error string, it is hard to know why you’re getting a headers already sent message. Is this repeatable?
I tested it out myself and did not get an error. Is there a way I can see the error string using FTP?
Do you have access to your web server’s error log? I know with a couple of my sites, the error log isn’t on by default but I can go to my hosting console and enable logging temporarily. I can then view or download the log through the hosting console.
That is where I would start looking.
This is the error string that I found in the error log:
[13-Mar-2015 21:07:59 UTC] PHP Warning: session_start(): Cannot send session cache limiter – headers already sent (output started at /home/belgianb/public_html/wp-content/plugins/wpgform/wpgform-core.php:1749) in /home/belgianb/public_html/wp-content/themes/Divi/header.php on line 1
And this is the header.php
<?php if ( ! isset( $_SESSION ) ) session_start(); ?>
<!DOCTYPE html>
<!–[if IE 6]>
<html id=”ie6″ <?php language_attributes(); ?>>
<![endif]–>
<!–[if IE 7]>
<html id=”ie7″ <?php language_attributes(); ?>>
<![endif]–>
<!–[if IE 8]>
<html id=”ie8″ <?php language_attributes(); ?>>
<![endif]–>
<!–[if !(IE 6) | !(IE 7) | !(IE 8) ]><!–>
<html <?php language_attributes(); ?>>
<!–<![endif]–>
<head>
<meta charset=”<?php bloginfo( ‘charset’ ); ?>” />
<title><?php wp_title(); ?></title>
<?php elegant_description(); ?>
<?php elegant_keywords(); ?>
<?php elegant_canonical(); ?>
<?php do_action( ‘et_head_meta’ ); ?>
<link rel=”pingback” href=”<?php bloginfo(‘pingback_url’); ?>” />
<?php $template_directory_uri = get_template_directory_uri(); ?>
<!–[if lt IE 9]>
<script src=”<?php echo esc_url( $template_directory_uri . ‘/js/html5.js”‘ ); ?>” type=”text/javascript”></script>
<![endif]–>
<script type=”text/javascript”>
document.documentElement.className = ‘js’;
</script>
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
<div id=”page-container”>
<?php
if ( is_page_template( ‘page-template-blank.php’ ) ) {
return;
}
$et_secondary_nav_items = et_divi_get_top_nav_items();
$et_phone_number = $et_secondary_nav_items->phone_number;
$et_email = $et_secondary_nav_items->email;
$et_contact_info_defined = $et_secondary_nav_items->contact_info_defined;
$show_header_social_icons = $et_secondary_nav_items->show_header_social_icons;
$et_secondary_nav = $et_secondary_nav_items->secondary_nav;
$primary_nav_class = ‘et_nav_text_color_’ . et_get_option( ‘primary_nav_text_color’, ‘dark’ );
$secondary_nav_class = ‘et_nav_text_color_’ . et_get_option( ‘secondary_nav_text_color’, ‘light’ );
$et_top_info_defined = $et_secondary_nav_items->top_info_defined;
?>
<?php if ( $et_top_info_defined ) : ?>
<div id=”top-header” class=”<?php echo esc_attr( $secondary_nav_class ); ?>”>
<div class=”container clearfix”>
<?php if ( $et_contact_info_defined ) : ?>
<div id=”et-info”>
<?php if ( ” !== ( $et_phone_number = et_get_option( ‘phone_number’ ) ) ) : ?>
<span id=”et-info-phone”><?php echo esc_html( $et_phone_number ); ?></span>
<?php endif; ?>
<?php if ( ” !== ( $et_email = et_get_option( ‘header_email’ ) ) ) : ?>
“><span id=”et-info-email”><?php echo esc_html( $et_email ); ?></span>
<?php endif; ?>
<?php
if ( true === $show_header_social_icons ) {
get_template_part( ‘includes/social_icons’, ‘header’ );
} ?>
</div> <!– #et-info –>
<?php endif; // true === $et_contact_info_defined ?>
<div id=”et-secondary-menu”>
<?php
if ( ! $et_contact_info_defined && true === $show_header_social_icons ) {
get_template_part( ‘includes/social_icons’, ‘header’ );
} else if ( $et_contact_info_defined && true === $show_header_social_icons ) {
ob_start();
get_template_part( ‘includes/social_icons’, ‘header’ );
$duplicate_social_icons = ob_get_contents();
ob_end_clean();
printf(
‘<div class=”et_duplicate_social_icons”>
%1$s
</div>’,
$duplicate_social_icons
);
}
if ( ” !== $et_secondary_nav ) {
echo $et_secondary_nav;
}
et_show_cart_total();
?>
</div> <!– #et-secondary-menu –>
</div> <!– .container –>
</div> <!– #top-header –>
<?php endif; // true ==== $et_top_info_defined ?>
<header id=”main-header” class=”<?php echo esc_attr( $primary_nav_class ); ?>”>
<div class=”container clearfix”>
<?php
$logo = ( $user_logo = et_get_option( ‘divi_logo’ ) ) && ” != $user_logo
? $user_logo
: $template_directory_uri . ‘/images/logo.png’;
?>
<img src=”<?php echo esc_attr( $logo ); ?>” alt=”<?php echo esc_attr( get_bloginfo( ‘name’ ) ); ?>” id=”logo” />
<div id=”et-top-navigation”>
<nav id=”top-menu-nav”>
<?php
$menuClass = ‘nav’;
if ( ‘on’ == et_get_option( ‘divi_disable_toptier’ ) ) $menuClass .= ‘ et_disable_top_tier’;
$primaryNav = ”;
$primaryNav = wp_nav_menu( array( ‘theme_location’ => ‘primary-menu’, ‘container’ => ”, ‘fallback_cb’ => ”, ‘menu_class’ => $menuClass, ‘menu_id’ => ‘top-menu’, ‘echo’ => false ) );
if ( ” == $primaryNav ) :
?>
<ul id=”top-menu” class=”<?php echo esc_attr( $menuClass ); ?>”>
<?php if ( ‘on’ == et_get_option( ‘divi_home_link’ ) ) { ?>
<li <?php if ( is_home() ) echo( ‘class=”current_page_item”‘ ); ?>>“><?php esc_html_e( ‘Home’, ‘Divi’ ); ?>
<?php }; ?>
<?php show_page_menu( $menuClass, false, false ); ?>
<?php show_categories_menu( $menuClass, false ); ?>
<?php
else :
echo( $primaryNav );
endif;
?>
</nav>
<?php
if ( ! $et_top_info_defined ) {
et_show_cart_total( array(
‘no_text’ => true,
) );
}
?>
<?php if ( false !== et_get_option( ‘show_search_icon’, true ) ) : ?>
<div id=”et_top_search”>
<span id=”et_search_icon”></span>
<form role=”search” method=”get” class=”et-search-form et-hidden” action=”<?php echo esc_url( home_url( ‘/’ ) ); ?>”>
<?php
printf( ‘<input type=”search” class=”et-search-field” placeholder=”%1$s” value=”%2$s” name=”s” title=”%3$s” />’,
esc_attr__( ‘Search …’, ‘Divi’ ),
get_search_query(),
esc_attr__( ‘Search for:’, ‘Divi’ )
);
?>
</form>
</div>
<?php endif; // true === et_get_option( ‘show_search_icon’, false ) ?>
<?php do_action( ‘et_header_top’ ); ?>
</div> <!– #et-top-navigation –>
</div> <!– .container –>
</header> <!– #main-header –>
<div id=”et-main-area”>
I’d be purely guessing based on the information here. There is something which is causing the headers to be generated twice. I need to actually see the form on your web site in order to make a better educated guess. Can you fill out my Help and Support Form?
I just submitted the form.
Thank you in advance.
Any luck at figuring this out?
No, check your email for what I did but I didn’t find anything odd.
The topic ‘Warning: session_start(): Cannot send session cache limiter’ is closed to new replies.