PHP-FPM error after latest update

SYSTEM INFORMATION
OS type and version Ubuntu Linux 22.04.5
Webmin version 2.651
Usermin version 2.550
Virtualmin version 8.1.0 GPL
Theme version 26.50.2
Apache version 2.4.52

I get — Apache website : PHP-FPM configuration error found : No listen directive found in FPM config for all my sites after the latest update, the sites run and have the correct php version but the UI settings are lost (it shows the wrong php version) but also the includes directories are lost and this caused a lot of sites errors and had to be fixed. Setting the php version and fpm (on some sites) fixed the problem but it did cause some headache.

Update to the versions listed above from the previous versions

Which update? I’ve had several php updates since the last time WM/VM was updated. But the last WM/VM update wasn’t that long ago so we do need to know which update.

Virtualmin update

probably linked to Webmin/Virtualmin or paquets of 13/07/2026 update broke PHP-FPM configurations for all virtual servers

How can I roll back to the previous version of Virtualmin?

Will it work again with the previous version of Virtualmin?

You don’t have to roll back; it’s almost always a worse solution. Just re-save the “PHP Options” page to auto-fix the PHP-related warning.

Do I really have to go into the “PHP Options” for all 80 virtual servers/subservers?

That’s a shame - it’s going to take a very long time.

What exactly do I need to check or enable under “PHP Options”? :confused:

Isn’t there a way to fix this automatically?

Virtualmin Pro has an option to do it in no time using the mass update feature in the UI form “List Virtual Servers” page. GPL version users could still do it using the CLI.

And by the way, downgrading won’t help. If you got into this state, this has to be fixed manually. We really expected this sporadic issue to be fixed by now, but a few users still keep reporting it. Sorry about that.

By the way, from which version did you upgrade to Virtualmin 8.1.0?

“By the way, from which version did you upgrade to Virtualmin 8.1.0?”

I always update Virtualmin (and all the other packages) as soon as they appear in the Package Updates section on the dashboard.

It was simply the latest previous version of Virtualmin.

It’s also possible that the issue has been there for months and that I only noticed it last night, but I’m not sure.

Is it possible to get Virtualmin Pro for one month at $12.50 and then cancel afterwards?

I mainly want to try it and discover the Pro features, but since I’m not rich, I can’t afford to pay for it every month.

When purchasing the license, do I need to install a special version of Virtualmin, or is it the same Virtualmin as I have now with an additional license? This would make it easier for me to go back to the previous version of Virtualmin once the license expires.

For the “List Virtual Servers” option, will it be possible to guide me if I can’t figure it out?
Is it easy to use?

This will also allow me to make a donation to Virtualmin, since I haven’t done so in the two years I’ve been using the software and I am very satisfied with it.

I just clicked on a domain name, a domain that is not important and has no sub-server. This one is simple.

Here is its current status in Virtualmin:

  • It is set by default to “PHP 7.4.33”
  • It displays the error: “Warning! PHP FPM configuration error found: No listen directive found in FPM config”

Here is the test by creating a “phpv.php” page containing:

<?php
phpinfo();

It correctly shows that it is running on “PHP Version 8.2.32”.

So if I save the settings in Virtualmin, will it replace the current version with 7.4.33, since that is the version selected by default?

Running 80 servers and your not making money?
The license you add a key and you unlock extra stuff in the panel and you go to the pro repo.

You don’t need to add a phpinfo file, it in your virtual server.

Ah yes, indeed, I just clicked on it.

For this test server, I clicked on “Save”.

Here is what I did:

  1. I saved the “00000.conf” file corresponding to the domain name. It was downloaded to my computer.
  2. Then I saved the configuration, leaving everything checked by default (PHP 7.4.33, etc.).
  3. It correctly took into account the creation of a new configuration file under PHP 7.4.
  4. I changed the PHP version to 8.2.
    It also changed the following settings:
    • pm.max_children
    • pm.start_servers
    • pm.min_spare_servers
    • pm.max_spare_servers
  5. I restored the configuration file that I had saved on my computer.
  6. After that, everything was correct.

But imagine having to do this manually for 80 virtual servers and sub-servers… it’s very time-consuming.

Maybe you can do someting in cli

I just tested another method on another domain that is not important this time.

I tested on another domain because I can’t see the error anymore on the previous one: “Warning! PHP FPM configuration error found: No listen directive found in FPM config”.

Here is my other test on a different domain with the error “Warning! PHP FPM configuration error found: No listen directive found in FPM config”.

I only typed this command:

virtualmin modify-web --domain thedomain.com --php-version 8.3

It assigned PHP 8.3 again to the domain, and then I clicked on “PHP Options”, and I no longer see any error.

So I would have to run this command for all 80 servers, making sure to specify the correct PHP version each time.

Also, before running the “virtualmin modify-web” command, I ran this one:

virtualmin list-domains --domain thedomain.com --multiline

I saw:
PHP version: 7.4

even though phpinfo() correctly shows PHP 8.3.

You do have --all-domains option

Before executing the PHP version change with the “modify-web” command, I also saved the configuration file with the number, such as 00000000xxx.conf.

I just compared it with the one it regenerated, and it modified all of the following options:

pm.max_children = 16
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 8

They are no longer the same; they are new values.

It also removed this line:

php_value[error_log] = /home/[namesite]/logs/php_log

It’s a bit like clicking the “Save” button, but you just have to make sure you select the correct PHP version. You need to check it beforehand and choose the right one.

To verify the correct PHP version, you need to go to, for example:
/etc/php/8.3/fpm/pool.d/17159755981939xx.conf
There is the version number in the path, just after “/etc/php/”.

Are those settings set in the template section?

I just checked in Server Templates > PHP Options.

I prefer to leave everything as default; I might break something if I change it.

Bit confused, are they setting you want?
I modified those setting in my setup to have these defaults with no issues.
Just noticed something I need to fix :slight_smile: