Plesk

Cannot start PHP FPM service: cannot get uid for user

Symptoms

The PHP FPM service can not start:

systemctl status php5-fpm.service
...
ERROR: [pool example.com] cannot get uid for user 'john.doe'
ERROR: FPM initialization failed
php5-fpm.service: main process exited, code=exited, status=78/n/a
Failed to start The PHP FastCGI Process Manager.
Unit php5-fpm.service entered failed state.

Cause

The required system user is missing, because php-fpm pool was not updated properly.

Resolution

  1. Log in to Plesk

  2. Re-generate PHP settings for the domain mentioned in the error message by navigating to Domains > example.com > PHP Settings and click on OK

    Note: If the domain has "No web hosting" type, change the domain's hosting type to "Website" and specify username john.doe from the error message.

To re-generate PHP settings of all domains

  1. Connect to the server using SSH

  2. Run this command:

    # /usr/local/psa/bin/php_settings -u

To decrease risk of the issue re-occuring in future, consider switching the most critical domains to Dedicated FPM.