• If you are still using CentOS 7.9, it's time to convert to Alma 8 with the free centos2alma tool by Plesk or Plesk Migrator. Please let us know your experiences or concerns in this thread:
    CentOS2Alma discussion

Question Manage and update PHP version for all domains from the UI

PeopleInside

Regular Pleskian
Server operating system version
Ubuntu 22.04.1 LTS
Plesk version and microupdate number
18.0.48
Hi, sometimes a new version of PHP are relased... for example PHP 8.2
Now, after I install that PHP version on Plesk,

1. there is a way to update the PHP version for all domain from the user interface? If this is not present how can I request this feature?
2. There is a way to see, in the domain list, with PHP version are suing from the UI? If not there is a way to do in other way like by SSH to check all domains are using the new PHP?
3. There is a way to manage customer default PHP used?

Thanks.
 
1. there is a way to update the PHP version for all domain from the user interface? If this is not present how can I request this feature?
If you change the PHP version of the Service Plan the subscriptions of that Service Plan get updated with the changed PHP version.

2. There is a way to see, in the domain list, with PHP version are suing from the UI? If not there is a way to do in other way like by SSH to check all domains are using the new PHP?
If you go to Tools & Settings > PHP Settings you see which PHP version are installed on your server see how many domains use a particular version. If you click on the number you'll see which domains use that version.
3. There is a way to manage customer default PHP used?
Yes, you can set the default PHP version in the Service Plan.
 
If you change the PHP version of the Service Plan the subscriptions of that Service Plan get updated with the changed PHP version.

@Kaspar thank you for the reply!

When I update the PHP version used in the service plan, existing domain still use the old PHP version so it's not changing for me the used PHP version on already active domains. This is why I'm asking how to change the PHP version for all active domains from the UI (user interface) without having to do one by one.

After I updated the PHP version in the Service Plan I had to change one by one the default PHP used for each active domain.

If you go to Tools & Settings > PHP Settings you see which PHP version are installed on your server see how many domains use a particular version. If you click on the number you'll see which domains use that version.
Let me check this now...
Umh I see, this is interesting, thanks! I am able to replicate.

Yes, you can set the default PHP version in the Service Plan.
Yes but this seems never affect active install where the old PHP version still be used and need to be manually changed.
 
@PeopleInside you are right. By default the PHP version for excising subscriptions doesn't change when you update the Service Plan with a different PHP version.

After some testing I noticed that if you disable the "PHP version and handler management" permission and also change the PHP version in the Service Plan the PHP version in excising subscriptions will be updated. (Afterward you can enabled the "PHP version and handler management" permission in the Service Plan).
 
Last edited:
After some testing I noticed that if you disabled the "PHP version and handler management" permission and also change the PHP version in the Service Plan the PHP version in excising subscriptions will be updated. (Afterward you can enabled the "PHP version and handler management" permission in the Service Plan).
I have to remember and test this, thank you!
 
In those days I need downgrade for all domains the PHP version.
I disabled the PHP version and handler management then selected PHP 8.1 but the downgrade was not be done to all domains.
The issue was the PHP 8.1 was disable by me in the services.
I resolved in other way never tested if enabling and sync again setting will update all domains.

Today I need change a PHP value for all domains -> pm.max_children that seems set by default to the value of 10.
When I update the PHP version or the pm.max_children value and check domains, they still be not updated with the update I done.

I am asking why and how to apply that to all domains?
I am not sure your suggestion to update PHP for all domains works, never tested yet correctly maybe.. but I see I still be unable to understand how update PHP settings for all domains.

I have unchecked

Common PHP settings management Allows customers to adjust common PHP settings individually for each site.

PHP version and handler management

but when I apply new PHP settings in service and plans, they are not applied to all domains.
 
but when I apply new PHP settings in service and plans, they are not applied to all domains.
That is the expected behavior. Else, one simple change could overwrite hundreds of individually set parameters in the PHP settings of domains.
 
@Peter Debik I understand this but if I need to change the PHP parameters for all domains there is no way?
I need every time do this manually for 10, 20 domains?

I expect to have an option to force a settings or all settings to all domains.
 
@Peter Debik When a domain is set to use "Default" for any given PHP or PHP-FPM setting, I expect that it will inherit the new default. Otherwise, it creates a situation where any domain created before a change to the "Default" now has to be managed separately with default overrides to mimic the new "Default".

As a concrete example:
  1. Create foo.com domain with only default php settings configured at the service plan level
  2. Update pm.max_requests to 500 in the Service Plan >> Update & Sync
  3. As you've described, no changes have been made to foo.com. pm.max_requests is still "Default" but that default does not represent the new 500 setting. And there is no way to sync current defaults to the domain.
  4. Create bar.com domain
  5. PHP settings for bar.com reflect new default in step 2.
 
@Peter Debik When a domain is set to use "Default" for any given PHP or PHP-FPM setting, I expect that it will inherit the new default. Otherwise, it creates a situation where any domain created before a change to the "Default" now has to be managed separately with default overrides to mimic the new "Default".

As a concrete example:
  1. Create foo.com domain with only default php settings configured at the service plan level
  2. Update pm.max_requests to 500 in the Service Plan >> Update & Sync
  3. As you've described, no changes have been made to foo.com. pm.max_requests is still "Default" but that default does not represent the new 500 setting. And there is no way to sync current defaults to the domain.
  4. Create bar.com domain
  5. PHP settings for bar.com reflect new default in step 2.
I agree, I'm surrendered... I had to update manually domain for domain, this is terrible... but is how work Plesk now. I dont agree with this.
When there is a button called update and sync I expect sync change the new default but is not so I need manually do domain for domain, very unproductive.

Two different actions should exist: update only for new subscriver and update and sync to make a default value for all, on my opinion.
 
@PeopleInside you are right. By default the PHP version for excising subscriptions doesn't change when you update the Service Plan with a different PHP version.

After some testing I noticed that if you disable the "PHP version and handler management" permission and also change the PHP version in the Service Plan the PHP version in excising subscriptions will be updated. (Afterward you can enabled the "PHP version and handler management" permission in the Service Plan).
Finally get this is not working for me so I have to manually do the job all times.
 
When a domain is set to use "Default" for any given PHP or PHP-FPM setting, I expect that it will inherit the new default. Otherwise, it creates a situation where any domain created before a change to the "Default" now has to be managed separately with default overrides to mimic the new "Default".
That is the desired situation, because else individually configured domains would be overwritten with default settings, which can easily lead to malfunctions of websites.
 
Back
Top