From 9fd93035af2c0c1f4eb36ca5f05a235cf68f4771 Mon Sep 17 00:00:00 2001 From: Marius Burkard Date: Wed, 2 Mar 2016 19:38:54 +0100 Subject: [PATCH] - make session.save_path overridable in php-fpm (Fixes #3791) --- server/conf/php_fpm_pool.conf.master | 2 +- server/plugins-available/apache2_plugin.inc.php | 6 +++++- server/plugins-available/nginx_plugin.inc.php | 4 ++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/server/conf/php_fpm_pool.conf.master b/server/conf/php_fpm_pool.conf.master index 9bd7a3be3e..b60eb98701 100644 --- a/server/conf/php_fpm_pool.conf.master +++ b/server/conf/php_fpm_pool.conf.master @@ -34,7 +34,7 @@ env[TEMP] = /tmp php_admin_value[open_basedir] = -php_admin_value[session.save_path] = /tmp +php_admin_value[session.save_path] = /tmp php_admin_value[upload_tmp_dir] = /tmp php_admin_value[sendmail_path] = "/usr/sbin/sendmail -t -i -f webmaster@" diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php index 03e2c8ff3a..e635429193 100644 --- a/server/plugins-available/apache2_plugin.inc.php +++ b/server/plugins-available/apache2_plugin.inc.php @@ -3146,6 +3146,7 @@ class apache2_plugin { } } + $custom_session_save_path = false; if($custom_php_ini_settings != ''){ // Make sure we only have Unix linebreaks $custom_php_ini_settings = str_replace("\r\n", "\n", $custom_php_ini_settings); @@ -3161,6 +3162,7 @@ class apache2_plugin { $value = trim($value); if($value != ''){ $key = trim($key); + if($key == 'session.save_path') $custom_session_save_path = true; switch (strtolower($value)) { case '0': // PHP-FPM might complain about invalid boolean value if you use 0 @@ -3181,7 +3183,9 @@ class apache2_plugin { } } } - + + $tpl->setVar('custom_session_save_path', ($custom_session_save_path ? 'y' : 'n')); + $tpl->setLoop('custom_php_ini_settings', $final_php_ini_settings); $app->system->file_put_contents($pool_dir.$pool_name.'.conf', $tpl->grab()); diff --git a/server/plugins-available/nginx_plugin.inc.php b/server/plugins-available/nginx_plugin.inc.php index 8daff10314..c2b2abf886 100644 --- a/server/plugins-available/nginx_plugin.inc.php +++ b/server/plugins-available/nginx_plugin.inc.php @@ -2757,6 +2757,7 @@ class nginx_plugin { } } + $custom_session_save_path = false; if($custom_php_ini_settings != ''){ // Make sure we only have Unix linebreaks $custom_php_ini_settings = str_replace("\r\n", "\n", $custom_php_ini_settings); @@ -2772,6 +2773,7 @@ class nginx_plugin { $value = trim($value); if($value != ''){ $key = trim($key); + if($key == 'session.save_path') $custom_session_save_path = true; switch (strtolower($value)) { case '0': // PHP-FPM might complain about invalid boolean value if you use 0 @@ -2793,6 +2795,8 @@ class nginx_plugin { } } + $tpl->setVar('custom_session_save_path', ($custom_session_save_path ? 'y' : 'n')); + $tpl->setLoop('custom_php_ini_settings', $final_php_ini_settings); $app->system->file_put_contents($pool_dir.$pool_name.'.conf', $tpl->grab()); -- GitLab