Repository navigation
Updating PHP
phpwcms runs on current PHP versions only. This page tells you which PHP version each maintained branch needs, and what to watch when you move an existing installation to a newer PHP.
| phpwcms | GitHub branch | PHP |
|---|---|---|
| 2.0.x (current development, 2.0.0-beta.2) | v2-dev | 8.4 or newer |
| 1.12.x (stable, 1.12.5) | master, v1.10-dev | 8.2 or newer |
| 1.9.x (legacy, 1.9.51) | v1.9-dev, phpwcms-legacy | 7.4 or newer |
PHP 5.x and PHP 7.0–7.3 are not supported by any maintained branch. The experimental v1.9-php7-dev branch was merged into the 1.9 line with release 1.9.21 and no longer exists.
If your host is still on PHP 7.4–8.1, stay on the 1.9.x legacy line — 1.12.x requires PHP 8.2 and 2.x requires PHP 8.4 at minimum. On PHP 8.x, replace an old 1.9 installation with the latest 1.12.x release (or 2.x) instead of patching it.
Required PHP extensions are intl, gd, iconv, mbstring, mysqli, fileinfo, xmlreader/libxml/dom/simplexml, openssl, plus curl and bcmath for external APIs and payment calculations. ImageMagick and Ghostscript extend the supported image input formats beyond GD.
The full server, database and extension matrix lives in the repository documentation: docs/requirements.
Back up before every update — no exceptions. A complete database dump plus include/config/conf.inc.php, template/, filearchive/, content/images/ and content/tmp/, stored off the web server.
-
phpwcms 2.0.0 and newer — use the in-app updater: Admin → System Update (
phpwcms.php?do=admin&p=18). It dumps the database, downloads the release, verifies the manifest and runs pending database revisions. -
Everything else, including 1.x migrations — download and run the standalone updater
setup/upgrade.php(CLI or browser). Upgrades from 1.x without an update manifest need--allow-unverified.
Both paths require PHP 8.4 or newer for 2.x, or PHP 8.2 for 1.12.x. The detailed walkthrough, including the recommended “upgrade locally, swap folders live” workflow for 1.x → 2.x, is in docs/installation/updating.md.
When providers dropped PHP versions below 5.5 back in January 2017, older phpwcms releases needed at most two little changes. Watch error reporting first — a completely white page usually means PHP error reporting is too restrictive or a PHP function collides with a phpwcms implementation:
As a last resort, add this right after the opening <?php in config/phpwcms/conf.inc.php (or include/config/conf.inc.php in newer releases):
<?php
// Overwrite PHP error reporting
ini_set('display_errors', 0);
error_reporting(E_ALL & ~E_DEPRECATED & ~E_STRICT);
// -----
Do not use this on PHP 8.2+ installations — the constant E_STRICT was deprecated in PHP 8.4 and the setting hides the diagnostics you need while migrating.
Wiki
- Home
- Security
- Updating PHP
- Reserved aliases
- Content Parts
- CKEditor Configuration
- Cannot redeclare boolval() with PHP5.5
- WYSIWYG images empty
Documentation (2.x)
General (2)
Requirements (1)
Installation & Updates (5)
Administration (7)
Frontend (4)
Frontend — Replacement Tags (11)
Content Parts (38)
- Content parts
- Plain text
- Text w/image
- HTML
- WYSIWYG HTML
- Code
- List
- ul-list
- Link & email
- Link list
- Images
- Images (div)
- Images special
- Multimedia
- HTML5/Flash media player
- Rollover images
- Map
- File list
- Teaser/link article
- Article menu
- News
- Search
- Sitemap
- RSS feed
- Ext. content
- E-card
- Form
- Email form generator
- Newsletter
- Guestbook/comment
- Contentpart alias
- PHP variables
- Poll
- Recipe
- FAQ
- Frontend login
- Tabs
- Custom CP
Modules (14)
Older documentation (1.x)
Links