diff --git a/src/opnsense/service/templates/OPNsense/WebGui/php.ini b/src/opnsense/service/templates/OPNsense/WebGui/php.ini index bd02f02eb..71bae2b75 100644 --- a/src/opnsense/service/templates/OPNsense/WebGui/php.ini +++ b/src/opnsense/service/templates/OPNsense/WebGui/php.ini @@ -20,8 +20,13 @@ zlib.output_compression = {% if system.webgui.compression|default('') != "" %}On zlib.output_compression_level = {{system.webgui.compression|default('1')}} include_path = "/usr/local/etc/inc:/usr/local/www:/usr/local/opnsense/mvc:/usr/local/opnsense/contrib:/usr/local/share/pear:/usr/local/share" ignore_repeated_errors = on -error_reporting = E_ALL ^ (E_NOTICE | E_DEPRECATED | E_STRICT) -display_errors=on +{% if system.deployment|default("production") == "production" %} +error_reporting = E_ALL ^ (E_WARNING | E_NOTICE | E_DEPRECATED | E_STRICT | E_CORE_WARNING | E_COMPILE_WARNING) +{% else %} +error_reporting = E_ALL +{% endif %} +display_errors={% if system.deployment|default("production") == "debug" %}on{%else%}off{%endif%} + log_errors=on error_log=/tmp/PHP_errors.log date.timezone="{{system.timezone|default('Etc/UTC')}}" diff --git a/src/www/system_advanced_admin.php b/src/www/system_advanced_admin.php index 4fa4ca85a..dc986fc22 100644 --- a/src/www/system_advanced_admin.php +++ b/src/www/system_advanced_admin.php @@ -73,6 +73,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'GET') { $pconfig['ssh-macs'] = !empty($config['system']['ssh']['macs']) ? explode(',', $config['system']['ssh']['macs']) : array(); $pconfig['ssh-keys'] = !empty($config['system']['ssh']['keys']) ? explode(',', $config['system']['ssh']['keys']) : array(); $pconfig['ssh-keysig'] = !empty($config['system']['ssh']['keysig']) ? explode(',', $config['system']['ssh']['keysig']) : array(); + $pconfig['deployment'] = $config['system']['deployment'] ?? "production"; /* XXX listtag "fun" */ $pconfig['sshlogingroup'] = !empty($config['system']['ssh']['group'][0]) ? $config['system']['ssh']['group'][0] : null; @@ -145,7 +146,8 @@ if ($_SERVER['REQUEST_METHOD'] === 'GET') { $config['system']['webgui']['interfaces'] != $newinterfaces || (empty($pconfig['httpaccesslog'])) != empty($config['system']['webgui']['httpaccesslog']) || (empty($pconfig['ssl-hsts'])) != empty($config['system']['webgui']['ssl-hsts']) || - ($pconfig['disablehttpredirect'] == "yes") != !empty($config['system']['webgui']['disablehttpredirect']); + ($pconfig['disablehttpredirect'] == "yes") != !empty($config['system']['webgui']['disablehttpredirect']) || + ($config['system']['deployment'] ?? null) != $pconfig['deployment']; $config['system']['webgui']['protocol'] = $pconfig['webguiproto']; $config['system']['webgui']['port'] = $pconfig['webguiport']; @@ -153,6 +155,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'GET') { $config['system']['webgui']['ssl-ciphers'] = $newciphers; $config['system']['webgui']['interfaces'] = $newinterfaces; $config['system']['webgui']['compression'] = $pconfig['compression']; + $config['system']['deployment'] = $pconfig['deployment']; if (!empty($pconfig['ssl-hsts'])) { $config['system']['webgui']['ssl-hsts'] = true; @@ -1024,6 +1027,34 @@ $(document).ready(function() { +