Unable to locate the FreePBX BMO Class 'Pm2’A required module might be disabled or uninstalled

Getting this error after regular updates. I tried uninstalling and reinstalling pm2 but still nothing. I’m not an expert on this stuff, any direction?

If you aren’t using the module you can remove it.

fwconsole ma delete pm2

In the future Please clarify to have them check if they use it before uninstalling it.
UCP, Queue Callbacks, core-calltransfer-monitor, Rest Apps and more depend on pm2.

@AWBishop what version of FreePBX, NodeJS and PHP are you running?

2 Likes

We use UCP so I need it. (I’ll update what versions soon as I get to the server) if I go to “module admin” the system crashes.
6.4.1 is the pm2 version.
14.1-1.sng7 is pbx version
5.4.16-48.el7 is php

Is that the full error in your title? If not can you paste the full error?

1 Like
                    break;
                }
            }
        }
 
        // Right, after all of this we should now have our object ready to create.
        if (!class_exists($objname,false) && !class_exists($this->moduleNamespace.$objname,false) && !class_exists($this->freepbxNamespace.$objname,false)) {
            // Bad things have happened.
            if (!$loaded) {
                $sobjname = strtolower($objname);
                throw new \Exception(sprintf(_("Unable to locate the FreePBX BMO Class '%s'"),$objname) . sprintf(_("A required module might be disabled or uninstalled. Recommended steps (run from the CLI): 1) fwconsole ma install %s 2) fwconsole ma enable %s"),$sobjname,$sobjname),404);
                //die_freepbx(sprintf(_("Unable to locate the FreePBX BMO Class '%s'"),$objname), sprintf(_("A required module might be disabled or uninstalled. Recommended steps (run from the CLI): 1) amportal a ma install %s 2) amportal a ma enable %s"),$sobjname,$sobjname));
            }
 
            // We loaded a file that claimed to represent that class, but didn't.
            throw new \Exception(sprintf(_("Attempted to load %s but it didn't define the class %s"),$try,$objname),404);
        }
 
        return true;
    }
}

Arguments

"Unable to locate the FreePBX BMO Class 'Pm2'A required module might be disabled or uninstalled. Recommended steps (run from the CLI): 1) fwconsole ma install pm ▶"

The full error is still being cut off. What does that full statement say?

What’s the best practice here?
I can’t copy and paste from the server’s CLI. Can I access CLI through the GUI so I can copy what it says after I run “fwconsole ma install pm2”?
I know about the Asterisk CLI module but it never acts the same as when I’m physically at the server.
“No such command ‘fwconsole ma install pm2’ (type ‘core show help fwconsole ma’ for other possible commands)”

It was collapsed, I get it now.
“Unable to locate the FreePBX BMO Class 'Pm2’A required module might be disabled or uninstalled. Recommended steps (run from the CLI): 1) fwconsole ma install pm2 2) fwconsole ma enable pm2 :arrow_backward:

The asterisk CLI and the server console are two different things. You don’t run these commands on the Asterisk CLI, you run them from the console or through SSH.

You want to run the following on the console or through SSH:

fwconsole ma install pms
fwconsole ma enable pms
fwconsole ma install pm2
fwconsole ma enable pm2
fwconsole ma updateall

Pretty much the same error, Thanks for helping.

?

pms and pm2 are very different modules.

Why are you suggesting to install pms?

fwconsole ma downloadinstall pm2 to get the pm2 module from the Sangoma repository and install it.

Because the error messages that @AWBishop provided indicate that there are other modules that require these to be installed to be able to properly function?

pms is this one:

I mean that’s fine, right? Maybe they are using it? If not it can always be removed once they are past the initial issues that are being caused by this module not being installed, no?

Sorry, you have misread something. There is no issue here with pms not being installed. This whole thread is about pm2! And the reason it’s not installed is because initial advice (wrong) told OP to delete it. pm2 is used by core!

I did not follow the advise to delete PM2, I don’t need PMS. We don’t use that.