Grasping the WordPress Error: include_once Failed for sunrise.php
While administering a WordPress site, mainly within a multisite environment, facing warning alerts concerning absent files can hinder your tasks or lead to noticeable issues for your visitors. A frequently encountered error is:
Warning: include_once(/home/u801461719/domains/scienceblog.com/public_html/wp-content/sunrise.php): Failed to open stream: No such file or directory in /home/u801461719/domains/scienceblog.com/public_html/wp-includes/ms-settings.php on line 47 Warning: include_once(): Failed opening '/home/u801461719/domains/scienceblog.com/public_html/wp-content/sunrise.php' for inclusion (include_path='.:/opt/alt/php82/usr/share/pear:/opt/alt/php82/usr/share/php:/usr/share/pear:/usr/share/php') in /home/u801461719/domains/scienceblog.com/public_html/wp-includes/ms-settings.php on line 47
This warning typically appears when WordPress tries to access the sunrise.php file but cannot find it. Let’s explore what this file entails, the reasons for the error, and how to fix it.
What Is sunrise.php?
Within the realm of WordPress multisite setups, sunrise.php is an optional and advanced configuration file. It’s often utilized by domain mapping plugins or other multisite utilities to intercept and handle rewrite rules prior to the complete loading of the core WordPress settings.
This file is usually located in the wp-content
directory and is loaded early by the ms-settings.php
script provided that these criteria are met:
- The
SUNRISE
constant is defined and set to'on'
ortrue
inwp-config.php
. - The
wp-content/sunrise.php
file is present and accessible.
Why This Error Occurs
The warnings displayed suggest that WordPress is attempting to include the sunrise.php
file, yet it is unavailable. This usually occurs for one of the following reasons:
- File deleted or missing: The sunrise.php file may have been unintentionally deleted or never created.
- Faulty plugin installation: Plugins that depend on sunrise.php, like domain mapping plugins, may not have installed the file correctly.
- Configuration issues in
wp-config.php
: Havingdefine('SUNRISE', 'on');
in place without the corresponding file triggers this alert. - Migration or update complications: If the site underwent migration or a plugin was updated improperly, essential files like sunrise.php might not have been transferred.
How to Fix This Problem
To address this warning, take the following steps:
Step 1: Verify the Configuration
Open your wp-config.php
file and search for this line:
define('SUNRISE', 'on');
If this line is present, WordPress multisite functionality will search for the sunrise.php file.
Step 2: Inspect for the File
Go to the wp-content
directory within your WordPress setup and check if sunrise.php
is available.
- If it is present, ensure it has the proper permissions (usually 644).
- If it is not present, you can either:
- Download or retrieve it from a functioning backup if available.
- Reinstall the plugin that requires it (such as a domain mapping plugin).
- Remove or comment out (
//
) thedefine('SUNRISE', 'on');
line inwp-config.php
if you are not actively using domain mapping or don’t need sunrise.php.
Step 3: Restore Missing sunrise.php (if needed)
If the file is essential (for example, for domain mapping functionality), you need to recover or place the appropriate sunrise.php file in your wp-content
directory. For instance, if you are using