diff --git a/server/mods-available/web_module.inc.php b/server/mods-available/web_module.inc.php index c31aa671123271f59ddfd689a9ff64e3df6ddbee..a403b91cf4c36cca295c500bc26a2e26ce86d476 100644 --- a/server/mods-available/web_module.inc.php +++ b/server/mods-available/web_module.inc.php @@ -217,6 +217,11 @@ class web_module { } else { exec($app->system->getinitcommand($daemon, 'reload').' 2>&1', $retval['output'], $retval['retval']); } + + // nginx: do a syntax check because on some distributions, the init script always returns 0 - even if the syntax is not ok (how stupid is that?) + if($web_config['server_type'] == 'nginx' && $retval['retval'] == 0 && is_executable('/usr/sbin/nginx')){ + exec('/usr/sbin/nginx -t 2>&1', $retval['output'], $retval['retval']); + } return $retval; }