It's been approximately a month since i can no longer update any plugins or wordpress core on my website. When I attempt to update the website it get's knocked off line. Jetpack then reactivates the website for me after 5-8 minutes. When it comes back online I get this in the admin section:
There has been a critical error on your website. Please check your site admin email inbox for instructions.
Unfortunately, i don't actually get that email. Thus no further information.
Despite these problems, I can continue to publish articles, and the rest of the website works as expected.
I've been reading up on what could possibly be the problem, and think it could have something to do with my webhosts settings (DigitalOcean) and directory permissions.
What do I need to look at to determine if directory permissions is the problem? Or what the problem could possible be, to have the website behave like this?
UPDATE:
I have looked at the error.log
and I see the following lines repeated:
[Tue Jan 21 09:15:26.128769 2020] [fcgid:warn] [pid 16817] [client 52.9.128.29:42158] mod_fcgid: stderr: PHP Fatal error: Uncaught Error: Call to undefined function get_header() in /var/www/clients/client1/web1/web/wp-content/themes/study-circle/index.php:13
[Tue Jan 21 09:15:26.128824 2020] [fcgid:warn] [pid 16817] [client 52.9.128.29:42158] mod_fcgid: stderr: Stack trace:
[Tue Jan 21 09:15:26.128832 2020] [fcgid:warn] [pid 16817] [client 52.9.128.29:42158] mod_fcgid: stderr: #0 {main}
[Tue Jan 21 09:15:26.128837 2020] [fcgid:warn] [pid 16817] [client 52.9.128.29:42158] mod_fcgid: stderr: thrown in /var/www/clients/client1/web1/web/wp-content/themes/study-circle/index.php on line 13
The index.php code looks normal to me...
<?php
/**
* The template for displaying home page.
*
* This is the template that displays all pages by default.
* Please note that this is the WordPress construct of pages
* and that other 'pages' on your WordPress site will use a
* different template.
*
* @package Study Circle
*/
get_header();
?>
<div class="container">
<div class="page_content">
<section class="site-main">
<div class="blog-post">
<?php
if ( have_posts() ) :
// Start the Loop.
while ( have_posts() ) : the_post();
/*
* Include the post format-specific template for the content. If you want to
* use this in a child theme, then include a file called called content-___.php
* (where ___ is the post format) and that will be used instead.
*/
get_template_part( 'content' );
endwhile;
// Previous/next post navigation.
the_posts_pagination();
else :
// If no content, include the "No posts found" template.
get_template_part( 'no-results', 'index' );
endif;
?>
</div><!-- blog-post -->
</section>
<?php get_sidebar();?>
<div class="clear"></div>
</div><!-- site-aligner -->
</div><!-- content -->
<?php get_footer(); ?>
And the get_header
Function from wp-includes/general-template.php:
function get_header( $name = null ) {
/**
* Fires before the header template file is loaded.
*
* @since 2.1.0
* @since 2.8.0 $name parameter added.
*
* @param string|null $name Name of the specific header file to use. null for the default header.
*/
do_action( 'get_header', $name );
$templates = array();
$name = (string) $name;
if ( '' !== $name ) {
$templates[] = "header-{$name}.php";
}
$templates[] = 'header.php';
locate_template( $templates, true );
}