diff --git a/phpini/phpini-lib.pl b/phpini/phpini-lib.pl index 9757758ad..41a8c5e51 100755 --- a/phpini/phpini-lib.pl +++ b/phpini/phpini-lib.pl @@ -256,10 +256,11 @@ return &ui_radio($name, lc($v) eq "on" || lc($v) eq "true" || [ "Off", $text{'no'} ] ]); } -# graceful_apache_restart() +# graceful_apache_restart([file]) # Signal a graceful Apache restart, to pick up new php.ini settings sub graceful_apache_restart { +local ($file) = @_; if (&foreign_installed("apache")) { &foreign_require("apache", "apache-lib.pl"); if (&apache::is_apache_running() && @@ -270,6 +271,17 @@ if (&foreign_installed("apache")) { &reset_environment(); } } +if ($file && &get_config_fmt($file) eq "fpm" && + &foreign_check("virtual-server")) { + # Looks like FPM format ... maybe a pool restart is needed + &foreign_require("virtual-server"); + if (defined(&virtual_server::restart_php_fpm_server)) { + &virtual_server::push_all_print(); + &virtual_server::set_all_null_print(); + &virtual_server::restart_php_fpm_server(); + &virtual_server::pop_all_print(); + } + } } # get_config_as_user([file]) diff --git a/phpini/save_db.cgi b/phpini/save_db.cgi index 83cadd739..4a62bd61f 100755 --- a/phpini/save_db.cgi +++ b/phpini/save_db.cgi @@ -91,7 +91,7 @@ else { &flush_file_lines_as_user($in{'file'}); &unlock_file($in{'file'}); -&graceful_apache_restart(); +&graceful_apache_restart($in{'file'}); &webmin_log("db", undef, $in{'file'}); &redirect("list_ini.cgi?file=".&urlize($in{'file'})); diff --git a/phpini/save_dirs.cgi b/phpini/save_dirs.cgi index c5193de1a..08c15f44b 100755 --- a/phpini/save_dirs.cgi +++ b/phpini/save_dirs.cgi @@ -29,7 +29,7 @@ $in{'utmp_def'} || -d $in{'utmp'} || &error($text{'dirs_eutmp'}); &flush_file_lines_as_user($in{'file'}); &unlock_file($in{'file'}); -&graceful_apache_restart(); +&graceful_apache_restart($in{'file'}); &webmin_log("dirs", undef, $in{'file'}); &redirect("list_ini.cgi?file=".&urlize($in{'file'})); diff --git a/phpini/save_errors.cgi b/phpini/save_errors.cgi index a47a94033..b38925094 100755 --- a/phpini/save_errors.cgi +++ b/phpini/save_errors.cgi @@ -53,7 +53,7 @@ elsif ($in{"error_log_def"} == 2) { &flush_file_lines_as_user($in{'file'}); &unlock_file($in{'file'}); -&graceful_apache_restart(); +&graceful_apache_restart($in{'file'}); &webmin_log("errors", undef, $in{'file'}); &redirect("list_ini.cgi?file=".&urlize($in{'file'})); diff --git a/phpini/save_limits.cgi b/phpini/save_limits.cgi index 88781cd94..66f89d15b 100755 --- a/phpini/save_limits.cgi +++ b/phpini/save_limits.cgi @@ -43,7 +43,7 @@ $in{"max_input_time_def"} || $in{"max_input_time"} =~ /^\-?\d+$/ || &flush_file_lines_as_user($in{'file'}); &unlock_file($in{'file'}); -&graceful_apache_restart(); +&graceful_apache_restart($in{'file'}); &webmin_log("limits", undef, $in{'file'}); &redirect("list_ini.cgi?file=".&urlize($in{'file'})); diff --git a/phpini/save_manual.cgi b/phpini/save_manual.cgi index 79569ae3a..beaebed2e 100755 --- a/phpini/save_manual.cgi +++ b/phpini/save_manual.cgi @@ -14,7 +14,7 @@ $in{'data'} =~ /\S/ || &error($text{'manual_edata'}); # Save the file &write_file_contents_as_user($in{'file'}, $in{'data'}); -&graceful_apache_restart(); +&graceful_apache_restart($in{'file'}); &webmin_log("manual", $in{'file'}); if ($in{'oneini'}) { &redirect("list_ini.cgi?file=".&urlize($in{'file'})); diff --git a/phpini/save_misc.cgi b/phpini/save_misc.cgi index 4f5f0aee5..3f8a5670e 100755 --- a/phpini/save_misc.cgi +++ b/phpini/save_misc.cgi @@ -63,7 +63,7 @@ else { &flush_file_lines_as_user($in{'file'}); &unlock_file($in{'file'}); -&graceful_apache_restart(); +&graceful_apache_restart($in{'file'}); &webmin_log("misc", undef, $in{'file'}); &redirect("list_ini.cgi?file=".&urlize($in{'file'})); diff --git a/phpini/save_safe.cgi b/phpini/save_safe.cgi index 44b7af5eb..a78b1b195 100755 --- a/phpini/save_safe.cgi +++ b/phpini/save_safe.cgi @@ -29,7 +29,7 @@ foreach $d ([ "safe_mode_include_dir", "safe_einclude" ], &flush_file_lines_as_user($in{'file'}); &unlock_file($in{'file'}); -&graceful_apache_restart(); +&graceful_apache_restart($in{'file'}); &webmin_log("safe", undef, $in{'file'}); &redirect("list_ini.cgi?file=".&urlize($in{'file'})); diff --git a/phpini/save_session.cgi b/phpini/save_session.cgi index 164b3eb4e..cd1c3a5fd 100755 --- a/phpini/save_session.cgi +++ b/phpini/save_session.cgi @@ -45,7 +45,7 @@ else { &flush_file_lines_as_user($in{'file'}); &unlock_file($in{'file'}); -&graceful_apache_restart(); +&graceful_apache_restart($in{'file'}); &webmin_log("session", undef, $in{'file'}); &redirect("list_ini.cgi?file=".&urlize($in{'file'})); diff --git a/phpini/save_vars.cgi b/phpini/save_vars.cgi index 4aebcb684..d44035984 100755 --- a/phpini/save_vars.cgi +++ b/phpini/save_vars.cgi @@ -16,7 +16,7 @@ foreach $v ("magic_quotes_gpc", "magic_quotes_runtime", } &flush_file_lines_as_user($in{'file'}); &unlock_file($in{'file'}); -&graceful_apache_restart(); +&graceful_apache_restart($in{'file'}); &webmin_log("vars", undef, $in{'file'}); &redirect("list_ini.cgi?file=".&urlize($in{'file'}));