PHP-FPM reload mode "restart" ignored when using Nginx webserver
## Summary When using Nginx as webserver, the PHP-FPM reload mode is totally ignored. No matters you put reload or restart, ISPConfig always reload PHP-FPM. ## Steps to reproduce 1. Install ISPConfig with Nginx 2. Install additional PHP version 3. Enable debug mode and set PHP-FPM reload mode to "restart" 4. Create/edit site with PHP-FPM enabled and choose a version 5. Look at logs ## Correct behaviour ISPConfig should restart PHP-FPM instead of reload if this is specified like this in the configuration. ## Environment Server OS + version: Debian 11.1 ISPConfig version: 3.2.11 Software version of the related software: ``` root@server:~# nginx -v nginx version: nginx/1.18.0 root@server:~# php8.1 -v PHP 8.1.0 (cli) (built: Nov 25 2021 20:48:52) (NTS) Copyright (c) The PHP Group Zend Engine v4.1.0, Copyright (c) Zend Technologies with Zend OPcache v8.1.0, Copyright (c), by Zend Technologies ``` (This is the PHP 8.1 from deb.sury.org repository) ## Proposed fix The problem is on `nginx_plugin.inc.php` line 3054, the reload mode is hardcoded to "reload": ``` $app->services->restartService('php-fpm', 'reload:'.$php_version['php_fpm_init_script']); ``` Instead of hardcoding like this, we can reuse the code on `apache2_plugin.inc.php` to get the reload mode and use it properly: ``` $web_config = $app->getconf->get_server_config($conf["server_id"], 'web'); $php_fpm_reload_mode = ($web_config['php_fpm_reload_mode'] == 'reload')?'reload':'restart'; $app->services->restartService('php-fpm', $php_fpm_reload_mode.':'.$web_config['php_fpm_init_script']); ``` ## Related log entries ``` 26.09.2023-08:26 - DEBUG [nginx plugin.inc:3032] - Writing the PHP-FPM config file: /etc/php/8.1/fpm/pool.d/web5.conf 26.09.2023-08:26 - DEBUG [services.inc:56] - Calling function 'restartPHP_FPM' from module 'web_module'. 26.09.2023-08:26 - DEBUG [system.inc:2083] - Trying to use Systemd to restart service 26.09.2023-08:26 - DEBUG [system.inc:2431] - safe_exec cmd: systemctl is-enabled 'php8.1-fpm' 2>&1 - return code: 0 26.09.2023-08:26 - DEBUG [system.inc:2098] - ######################################reload php8.1-fpm 26.09.2023-08:26 - DEBUG [web module.inc:316] - Restarting php-fpm: systemctl reload php8.1-fpm.service ```
issue