PHP-FPM handler failed to be configured for the domain. When pressing OK in Plesk in Domains > example.com > PHP Settings, the following error appears:
PLESK_ERROR: phpinimng failed: invoke-rc.d:initscript plesk-php72-fpm, action “status” failed. invoke-rc.d:initscript plesk-php72-fpm, action “status” failed.Service plesk-php72-fpm is down after attempt to start it.
The same error appears when trying to start the corresponding PHP-FPM service in Tools & Settings > Services Management
The log file
/var/log/plesk-php72-fpm/error.logcontains the following error:
NOTICE: configuration file /opt/plesk/php/7.2/etc/php-fpm.conf test is successful
ERROR: An another FPM instance seems to already listen on /var/www/vhosts/system/example.com/php-fpm.sock
ERROR: FPM initialization failed
Note: PHP version may differ from 7.2 (e.g., it can be 7.3)
Leftover Domain PHP configuration files causing a conflict with the current PHP version selected in Domains > example.com > PHP Settings
Connect to the server via SSH
Download and unpack the script to find all conflicting configuration files:
# curl -LO https://plesk.zendesk.com/hc/article_attachments/360042804034/115002165905-find-extra-config-files.php.tar.gz
# tar xf 115002165905-find-extra-config-files.php.tar.gz
Run the script to get a list of the configuration files:
# plesk php 115002165905-find-extra-config-files.php
[CRIT] File /etc/php/7.0/fpm/pool.d/example.com.conf may cause PHP failure: domain example.com has “plesk-php72-fpm” handler specified, but this file is used to configure “fpm” handler!
[CRIT] File /etc/php/7.0/fpm/pool.d/example.org.conf may cause PHP failure: domain example.org has “plesk-php72-fpm” handler specified, but this file is used to configure “fpm” handler!
Remove all the configuration files mentioned above:
# rm /etc/php/7.0/fpm/pool.d/example.com.conf /etc/php/7.0/fpm/pool.d/example.org.conf
Restart the PHP-FPM services:
# systemctl restart plesk-php* php*
Recreate the PHP-FPM sockets and configuration files:
# plesk bin php_settings -u
Note: Also, there can be found other files:
/opt/plesk/php/X.X/etc/php-fpm.d/plesk-service.localdomain.conffiles are created by Plesk for the proper PHP functionality. PHP handlers might work incorrectly if these files are absent. If the files were removed accidentally it is possible to recreate them by using the next command:
# plesk sbin php_handlers_control –list-json | plesk sbin phpinimng –batch-uptime-conf-from-json
/etc/php-fpm.d/www.confis the default Apache file that is no needed nor for Plesk neither to the Apache itself as of now. It can be removed without any consequences.