diff --git a/plist b/plist index c5bde0993..2821f6373 100644 --- a/plist +++ b/plist @@ -251,6 +251,7 @@ /usr/local/opnsense/data/proxy/template_error_pages/ERR_ZERO_SIZE_OBJECT.html /usr/local/opnsense/data/proxy/template_error_pages/error-details.txt /usr/local/opnsense/data/proxy/template_error_pages/errorpage.css +/usr/local/opnsense/data/webgui/status-500.html /usr/local/opnsense/mvc/app/cache/README /usr/local/opnsense/mvc/app/config/config.php /usr/local/opnsense/mvc/app/config/loader.php diff --git a/src/etc/inc/plugins.inc.d/webgui.inc b/src/etc/inc/plugins.inc.d/webgui.inc index 8a565b6e3..0086a6f54 100644 --- a/src/etc/inc/plugins.inc.d/webgui.inc +++ b/src/etc/inc/plugins.inc.d/webgui.inc @@ -434,6 +434,12 @@ EOD; $lighty_config .= "}\n"; } + if (empty($config['system']['deployment']) || $config['system']['deployment'] == 'development') { + $lighty_config .= "# send static error pages for some errors in non-debug mode\n"; + $lighty_config .= "server.error-intercept = \"enable\"\n"; + $lighty_config .= "server.errorfile-prefix = \"/usr/local/opnsense/data/webgui/status-\"\n"; + } + $lighty_config .= << + + + HTTP ERROR 500 + + + + +

Server returned a HTTP 500 ERROR. If you are not redirected, click here to view the crash report.

+ + diff --git a/src/opnsense/service/templates/OPNsense/WebGui/php.ini b/src/opnsense/service/templates/OPNsense/WebGui/php.ini index e06c1e8df..7cbca8416 100644 --- a/src/opnsense/service/templates/OPNsense/WebGui/php.ini +++ b/src/opnsense/service/templates/OPNsense/WebGui/php.ini @@ -25,7 +25,7 @@ error_reporting = E_ALL ^ (E_WARNING | E_NOTICE | E_DEPRECATED | E_STRICT | E_CO {% else %} error_reporting = E_ALL {% endif %} -display_errors={% if system.deployment|default("") != "" %}on{%else%}off{%endif%} +display_errors={% if system.deployment|default("") == "debug" %}on{%else%}off{%endif%} display_startup_errors={% if system.deployment|default("") == "debug" %}on{%else%}off{%endif%}