# Troubleshooting¶

## Common Error Cases¶

The following are issues might come up when using our LiteSpeed Control Panel Plugin for WHM, cPanel user-end LiteSpeed Web Cache Manager Plugin, or lscmctl cache management script. If you are encountering any of the issues on this page please first attempt the solutions listed before contacting support.

### Domain Missing in WHM Mass Operations¶

When running Mass Enable and Mass Disable operations in LiteSpeed's WHM plugin, a list of the server's domains is displayed. The plugin should automatically detect and display all domains, but what if it doesn't?

#### Fatal WordPress Error¶

If the WHM plugin encounters a fatal error when trying to load the WordPress environment, the domain will be removed from the list of those automatically detected. In order to solve this problem, you need to determine what has caused WP's fatal error.

##### Possible Cause: Undefined Function¶

One possible cause for a fatal error is a call to an undefined function.

The WHM plugin loads WordPress with the SHORTINIT constant. SHORTINIT collects basic information and prevents the bulk of WP from being loaded. This is the most efficient way for our plugin to gather what it needs from each WP installation on your server.

If you are calling functions in wp-config.php, they may cause a fatal WP error in a SHORTINIT situation.

For example, say you have a line like this in your wp-config file:

update_option('siteurl', 'http://example.com' );


The update_option() function uses another function, sanitize_option(), in its code, but sanitize_option() has not been loaded because of the SHORTINIT constant. This results in the fatal WP error that causes the WHM plugin to skip over that domain in its list of detected domains.

##### The Solution¶

If you are calling functions as part of your wp-config file, you'll need to verify that they are not, in turn, using undefined functions. If they are, you can add a simple conditional statement to your code to avoid a fatal error. Like so:

if ( function_exists('sanitize_option') ) {
update_option('siteurl', 'http://example.com' );
}


A more generic example:

If function1() calls function2() and function2() is undefined when loading WP with SHORTINIT, then you can replace this:

function1();


with

if ( function_exists('function2') ) {
function1();
}

##### Troubleshooting¶

In the above example, the problem was easily found one function deep in the code, but that will not always be the case. To ferret out where the error is happening, you may need to do one or both of the following things:

### WHM Plugin - Cache Manager Error Status¶

While using the Web Cache Management feature of our WHM plugin, you might occasionally see an installation listed with an "Error" status.

By hovering over the "Error" text, a small explanation as to the cause of the error will be displayed. Here we will list out and explain these possible errors and what can be done to fix them.

#### Fatal Error Encountered During Action Execution¶

This message indicates that PHP encountered a fatal error while loading the WordPress environment and trying to perform some action.

##### Case 1¶

Cause: This most commonly indicates that the installation is invalid in some way, such as a broken backup/testing

installation that was detected during scan.

Resolution: Most of the time these installations can be ignored without issue. In the rare case where an installation is working as expected but is still detected with this error, please running command lsws/admin/misc/lscmctl --update-lib and trying again.

##### Case 2¶

Cause: Another potential cause for this error would be our shared code library directory not being included in the user's cage should cageFS be installed and enabled for that user. This can usually be confirmed by checking the log file, /usr/local/lsws/logs/webcachemgr.log for the WHM plugin or <user_home_dir>/lscmData/ls_webcachemgr.log for the user-end cPanel plugin, for a message similar to "Could not open input file: /usr/local/lsws/add-ons/webcachemgr/src/UserCommand.php".

Resolution: As the root user, please confirm that file /etc/cagefs/cagefs.mp contains the following two entries (each on their own line), adding them if they are missing:

/usr/local/lsws
/usr/src/litespeed-wp-plugin


After this, run command cagefsctl --remount-all. At this point please "refresh status" for one of the affected discovered WordPress installations to check if the problem has been resolved. If you are still encountering the same issue, please run command cagefsctl --force-update as well and check again.

#### Timeout Occurred During Action Execution¶

This message indicates that PHP timed out while loading the WordPress environment and trying to perform some action.

Cause: This error is most commonly caused by custom code added in a user's wp-config.php file. If the code runs into some issue when executed by our script call, it may hang.

Resolution: If the installation is working as expected, you may try to manually locate the code which is causing the error and fix/remove it. If you are in need of assistance you may contact our support team for further investigation. Just be aware that this issue likely falls outside the scope of free support.

#### Could Not Retrieve WordPress siteURL¶

This message indicates that the installation was successfully discovered as a valid WP installation, but siteUrl could not be retrieved from WordPress.

Cause: WordPress' get_option() function failed to retrieve a siteUrl.

Resolution: Since this error usually indicates some kind of database issue with WordPress, please contact our support team for further investigation, if you know this to be a working WordPress site.

#### Could Not Match WordPress siteURL To A Known cPanel Docroot¶

This message indicates that the siteUrl retrieved from WordPress did not match any known cPanel document roots.

##### Case 1¶

Cause:: Missing cPanel userdata for the installation. Without this userdata, the correct document root cannot be retrieved from cPanel.

Resolution: Case 1: This can be resolved by validating this user account and domain in cPanel. If set up correctly, you should find an entry for the site in the %%/var/cpanel/userdata/\$user/%% directory.

##### Case 2¶

Cause:: The siteUrl set in the WordPress backend is incorrect. This can happen when the WordPress site is set up using mod_userdir (resulting in an IP being set for siteUrl) or the siteUrl has been changed to an incorrect value in the WordPress backend.

Resolution: This can be resolved by simply changing the value of siteUrl in the WordPress backend to use the site's fully qualified domain name. After which, a document root match should be found.

#### Could Not Find A Valid wp-config.php File¶

This message indicates that we could not find a possible wp-config.php file for that specific installation.

Cause: When looking for an installation's wp-config.php file, the installation's root directory and parent directory are both checked for a valid copy. If one cannot be found, or the discovered wp-config.php file is believed to belong to a different WordPress installation (i.e. it is discovered in a parent directory also containing a wp-settings.php file), then this error is set.

Resolution: Confirm that this installation has a valid wp-config.php file. If the wp-config.php file is kept more than 1 directory above the root installation using symbolic links, it will need to be moved to the installation root or parent directory.