PHPackages                             silverstripe/errorpage - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. silverstripe/errorpage

ActiveSilverstripe-vendormodule[Utility &amp; Helpers](/categories/utility)

silverstripe/errorpage
======================

ErrorPage component for SilverStripe CMS

3.1.0(9mo ago)22.4M↓12.6%17[5 issues](https://github.com/silverstripe/silverstripe-errorpage/issues)[1 PRs](https://github.com/silverstripe/silverstripe-errorpage/pulls)13BSD-3-ClausePHPPHP ^8.3CI passing

Since Jul 3Pushed 7mo ago7 watchersCompare

[ Source](https://github.com/silverstripe/silverstripe-errorpage)[ Packagist](https://packagist.org/packages/silverstripe/errorpage)[ Docs](http://silverstripe.org)[ RSS](/packages/silverstripe-errorpage/feed)WikiDiscussions 3 Synced 1mo ago

READMEChangelog (10)Dependencies (6)Versions (130)Used By (13)

Silverstripe ErrorPage Module
=============================

[](#silverstripe-errorpage-module)

[![CI](https://github.com/silverstripe/silverstripe-errorpage/actions/workflows/ci.yml/badge.svg)](https://github.com/silverstripe/silverstripe-errorpage/actions/workflows/ci.yml)[![Silverstripe supported module](https://camo.githubusercontent.com/9b7e93d393a01f6d3091fb30983b870aa863ef076858115faaa1c74b995854ec/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f73696c7665727374726970652d737570706f727465642d3030373143342e737667)](https://www.silverstripe.org/software/addons/silverstripe-commercially-supported-module-list/)

Overview
--------

[](#overview)

Provides an ErrorPage page type for the [Silverstripe CMS](https://github.com/silverstripe/silverstripe-cms), allowing CMS authors to set custom content for error page responses by error code. Error page responses are fully themed.

Installation
------------

[](#installation)

```
composer require silverstripe/errorpage
```

Limitations
-----------

[](#limitations)

The functionally in this module was separated out from the Silverstripe CMS module and retains some existing issues. An issue of note is that static error pages are generated but are rarely served up, and rarely re-generated. This can lead to website visitors seeing a stale or broken page in the event of a 500 server error. Contributions are welcome, please open a pull request if you want to add a feature or fix a problem.

Documentation
-------------

[](#documentation)

To Do

### Theming

[](#theming)

To apply a custom template for the error page you will need to create a ErrorPage.ss file in either `templates/SilverStripe/ErrorPage/ErrorPage.ss` or `templates/SilverStripe/ErrorPage/Layout/ErrorPage.ss`

### Detailed error messages

[](#detailed-error-messages)

If you're using `$this->httpError($code, $message)` in your codebase and want to include the message that is passed into that method, you can add the `$ResponseErrorMessage` to your ErrorPage template. Use caution when including this information, as these messages are often intended for developers rather than end-users.

For example, one of your controllers may throw a 401 status code for some specific reason. Very broadly, a 401 means the request is Unauthorised; if your controller throws a 401, it can add also add a specific reason:

```
return $this->httpError(401, 'This is only accessible on Sunday before 10AM.');```

```YourErrorPage.ss
$Title

$ResponseErrorMessage

```

These messages are appended to the ErrorPage template automatically when the site is in dev mode. You can disable this using the Config API. Setting this to false will also remove the $ResponseErrorMessage variable from your template.

```
SilverStripe\ErrorPage\ErrorPage:
  dev_append_error_message: false
```

### Limiting options in the CMS

[](#limiting-options-in-the-cms)

By default, all available error codes are present in the dropdown in the CMS. This can be overwhelming and there are a few (looking at you, 418) that can be confusing. To that end, you can limit the codes in the dropdown with the config value `allowed_error_codes` like so:

```
SilverStripe\ErrorPage\ErrorPage:
  allowed_error_codes:
    - 400
    - 403
    - 404
    - 500
```

Reporting Issues
----------------

[](#reporting-issues)

Please [create an issue](http://github.com/silverstripe/silverstripe-errorpage/issues) for any bugs you've found, or features you're missing.

###  Health Score

59

—

FairBetter than 99% of packages

Maintenance41

Moderate activity, may be stable

Popularity47

Moderate usage in the ecosystem

Community40

Growing community involvement

Maturity96

Battle-tested with a long release history

 Bus Factor3

3 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~23 days

Recently: every ~0 days

Total

130

Last Release

284d ago

Major Versions

1.13.3 → 2.1.12023-11-13

1.x-dev → 2.1.22024-02-10

2.3.0-rc1 → 3.0.0-alpha12024-11-26

2.4.0-rc1 → 3.0.0-beta12025-02-16

2.x-dev → 3.0.0-rc12025-04-14

PHP version history (4 changes)1.10.0PHP ^7.3 || ^8.0

1.11.0-rc1PHP ^7.4 || ^8.0

2.0.0-alpha1PHP ^8.1

3.0.0-alpha1PHP ^8.3

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/654636?v=4)[Aaron Carlino](/maintainers/unclecheese)[@unclecheese](https://github.com/unclecheese)

![](https://www.gravatar.com/avatar/b0cba8b534e20e6ab4fff555a97b237a18436ebca1446fc0b29c8a8b504038b9?d=identicon)[GuySartorelli](/maintainers/GuySartorelli)

![](https://avatars.githubusercontent.com/u/111025?v=4)[Ingo Schommer](/maintainers/chillu)[@chillu](https://github.com/chillu)

![](https://www.gravatar.com/avatar/a25bc04c5720a36869d5a39c6449dde7eb43e19b7c8e666d5f632d6a9ab440b1?d=identicon)[emteknetnz](/maintainers/emteknetnz)

![](https://www.gravatar.com/avatar/afbb3dcc9ef29c1a6eedd6addcae5fce9ab1271915a85a4c349301b71237368d?d=identicon)[silverstripe-machine01](/maintainers/silverstripe-machine01)

![](https://www.gravatar.com/avatar/be6648e60fbab6f70bfc34dd8c14259562d28a47510a934ea9c01fe98633f3c2?d=identicon)[sminnee](/maintainers/sminnee)

![](https://avatars.githubusercontent.com/u/1168676?v=4)[Maxime Rainville](/maintainers/maxime-rainville)[@maxime-rainville](https://github.com/maxime-rainville)

---

Top Contributors

[![GuySartorelli](https://avatars.githubusercontent.com/u/36352093?v=4)](https://github.com/GuySartorelli "GuySartorelli (63 commits)")[![emteknetnz](https://avatars.githubusercontent.com/u/4809037?v=4)](https://github.com/emteknetnz "emteknetnz (62 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (37 commits)")[![robbieaverill](https://avatars.githubusercontent.com/u/5170590?v=4)](https://github.com/robbieaverill "robbieaverill (35 commits)")[![jonom](https://avatars.githubusercontent.com/u/1079425?v=4)](https://github.com/jonom "jonom (14 commits)")[![dnsl48](https://avatars.githubusercontent.com/u/9313746?v=4)](https://github.com/dnsl48 "dnsl48 (11 commits)")[![dhensby](https://avatars.githubusercontent.com/u/563596?v=4)](https://github.com/dhensby "dhensby (10 commits)")[![chillu](https://avatars.githubusercontent.com/u/111025?v=4)](https://github.com/chillu "chillu (7 commits)")[![flamerohr](https://avatars.githubusercontent.com/u/1064889?v=4)](https://github.com/flamerohr "flamerohr (3 commits)")[![elliot-sawyer](https://avatars.githubusercontent.com/u/354793?v=4)](https://github.com/elliot-sawyer "elliot-sawyer (2 commits)")[![andrewandante](https://avatars.githubusercontent.com/u/9702648?v=4)](https://github.com/andrewandante "andrewandante (2 commits)")[![sunnysideup](https://avatars.githubusercontent.com/u/167154?v=4)](https://github.com/sunnysideup "sunnysideup (1 commits)")[![tractorcow](https://avatars.githubusercontent.com/u/936064?v=4)](https://github.com/tractorcow "tractorcow (1 commits)")[![adrhumphreys](https://avatars.githubusercontent.com/u/10803137?v=4)](https://github.com/adrhumphreys "adrhumphreys (1 commits)")[![UndefinedOffset](https://avatars.githubusercontent.com/u/1391558?v=4)](https://github.com/UndefinedOffset "UndefinedOffset (1 commits)")[![bergice](https://avatars.githubusercontent.com/u/541886?v=4)](https://github.com/bergice "bergice (1 commits)")[![edwilde](https://avatars.githubusercontent.com/u/415374?v=4)](https://github.com/edwilde "edwilde (1 commits)")[![lozcalver](https://avatars.githubusercontent.com/u/1655548?v=4)](https://github.com/lozcalver "lozcalver (1 commits)")[![maxime-rainville](https://avatars.githubusercontent.com/u/1168676?v=4)](https://github.com/maxime-rainville "maxime-rainville (1 commits)")[![michalkleiner](https://avatars.githubusercontent.com/u/233342?v=4)](https://github.com/michalkleiner "michalkleiner (1 commits)")

---

Tags

hacktoberfesterrorsilverstripeerrorpage

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/silverstripe-errorpage/health.svg)

```
[![Health](https://phpackages.com/badges/silverstripe-errorpage/health.svg)](https://phpackages.com/packages/silverstripe-errorpage)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
