Fresh FreePBX v17 install saying ionCube isn't installed/loaded after a reboot

Just did a fresh install of FreePBX v17, activated the system and then changed the system time zone which prompted for a reboot that was done. After the reboot I’m getting this error:

It’s telling me ionCube isn’t loaded but shouldn’t it be? How does this get fixed?

Odds are you are using the wrong php version. You want to do something like

a2dismod php8.1
a2enmod php8.2
systemctl reload apache2

That’s not it. 8.1 isn’t installed and 8.2 is already enabled. Everything was working fine with the system until the reboot. So the install was fine, created the admin account, got into the system, went into System Admin → Activation, activated the system and only after I updated the system time zone and did a restart did this happen.

Hi @BlazeStudios Please restart the apache2 and give a try. I am suspecting you are facing known issue fixed some time back.

systemctl restart apache2

If ^ fixes your issue then in your system you could modify “”/lib/systemd/system/freepbx.service"" to replace “After=httpd.service” with “After=apache2.service”

We have updated the latest install script some time back along with the new freepbx17 rpm to handle the same.

I have the exact same issue: Fresh install from yesterday. “systemctl restart apache2.service” fixes the problem until next reboot.

Because an important step was missed. After changing a systems unit like this you need to issue ‘systemctl daemon-reload‘

A system reboot does NOT have the same effect as a systemctl daemon-reload???

Now I am very confused. Both Tom and getzpas have exactly the same problem - install working until rebooting - how could this be anything other than an error in the install script not modifying the daemon reload sequence?

Unless you both were not using fresh pulls of install.sh?

I’m not sure what is confusing. It appears there was a bug with the freepbx.service systemd unit file. It needed to be modified for current versions of Apache as there is no httpd.service unit file generated by current versions of Apache2, it’s apache2.service.

When you edit/modify a systemd unit file like that you need to tell systemd to reload the configuration so systemd can recreate the dependency tree and commit those changes. Without issuing a systemctl daemon-reload systemd will use the previously commited version of the unit file when the system is rebooted.

So if your freepbx.service unit file needs to be updated to what @kgupta outlined after you save the file, you need to do systemctl daemon-reload so it will be saved properly by systemd.

I have made a fresh installation according to the guide. Everything worked until I rebooted. When I try to access the web interface, I get the error in post 1. I then enter the command “systemctl restart apache2.service” via SSH. Then I can access the web interface without any problems.

I have not (yet) modified anything else. I just wanted to report this because there are already two of us with new installations and the same problem.

Yes Tom I get that but you specifically said in the first post:

“Just did a fresh install of FreePBX v17”

and now you are saying:

"It appears there WAS a bug with the freepbx.service systemd unit file. It needed to be modified for current versions of Apache "

A fresh install by my definition is start with a blank HD, install Debian, pull down the current copy of the install file from the FreePBX website and fire it off. If doing that results in the crash you observed - then the current install file is not modified for the current version of Apache and that isn’t some past bug it’s a bug right now that needs fixing.

This is a memory issue somewhere. I just hadn’t done any testing since @kgupta made the post. I was replying to @getzpas because that step is needed if the freepbx.service file is modified.

@kgupta Restarting apache does solve the issue but my freepbx.service file has After=apache2.service

Here’s my current freepbx.service file:

[Unit]
Description=FreePBX VoIP Server
After=mariadb.service
After=apache2.service
After=network-online.target
Wants=network-online.target

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/sbin/fwconsole start
ExecStop=/usr/sbin/fwconsole stop

[Install]
WantedBy=multi-user.target

This is the memory error:

Allowed memory size of 536870912 bytes exhausted (tried to allocate 1281717103 bytes)

I have tried raising the memory limit in php.ini but it didn’t seem to help. Unless I’m missing another location that overrides what is in /etc/php/8.2/

It has to be a bug in one of the modules; there’s no way FreePBX should be trying to use 1.2GB+ of memory.

perhaps they went to the chrome style of memory management… we need whatever you have minus 1024 bytes… :slight_smile: