Skip to content

slackero/phpwcms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2,233 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

phpwcms

PHP Version Database License

phpwcms is an exceptionally flexible, fast, robust, and customer- and developer-friendly web-based Content Management System (CMS) and CMS Framework. Crafted for high speed, customizable templating architectures, and ease of use, phpwcms runs smoothly under PHP and MySQL/MariaDB.

Created and actively maintained by Oliver Georgi.


Key Features 🌟

  • Highly Flexible Framework: Adaptive template system supporting standard web standards and custom semantic layouts.
  • Rich Component Ecosystem: Ready-to-use core modules:
    • πŸ›οΈ Shop Module (mod_shop): Integrated lightweight e-commerce module.
    • πŸ“… Calendar Module (mod_calendar): Event scheduling and management.
    • πŸ“§ Newsletter Module: Campaign management and subscriber list handling.
    • πŸ“– Glossary & Ads Managers: Built-in terminology indexation and banner advertising platforms.
    • πŸ‘₯ Address Manager: Store and query contacts/locations efficiently.
  • Modern Admin Toolkit: Powered by modern text processors (TinyMCE 8 default, legacy CKEditor 4.x optional), responsive upload managers, and sleek file archives.
  • Enterprise-Ready Emailing: Standardized on PHPMailer 7.1+ supporting secure modern mail transports, including OAuth2 protocols.

Server & System Requirements πŸ–₯️

This branch is fine-tuned and fully compatible with PHP 8.2+.

Required Environment

Requirement Minimum Version Recommended Version Note
PHP 8.2 8.2+ or 8.3 Native type safety and memory optimizations
MySQL / MariaDB 5.6 5.7+ / 10.2+ Support for transactional storage engines and strict modes
Web Server Apache (with .htaccess), Nginx, or IIS Apache / Nginx Configuration templates provided

PHP Extensions Required

To support all features, the following PHP modules must be enabled in your environment:

  • intl (Internationalization)
  • gd (Image scaling, WebP, and thumbnail generation)
  • iconv & mbstring (Multi-byte character handling & conversion)
  • mysqli (MySQL driver)
  • fileinfo (Safe mime-type upload validation)
  • xmlreader, libxml, dom, simplexml (XML/HTML parsing feeds & sitemaps)
  • openssl (Secure SMTP & external API handshakes)
  • zip (Archive extraction and asset uploads)
  • curl (External API requests & payment gateway integrations)

Directory Structure Overview πŸ“‚

  • /include β€” Core CMS logic, extensions (inc_ext), language packs (inc_lang), modular libraries, and Composer dependencies (include/vendor).
  • /template β€” Visual templates, site assets, layouts, scripts, and library dependencies.
  • /setup β€” Automatic browser installation and database schema creation wizard.
  • phpwcms.php & index.php β€” Primary bootstrap controllers routing the administration backend and public frontends.

Installation & Setup βš™οΈ

  1. Clone & Extract: Place the phpwcms files in your web server's document root.
  2. Install Dependencies: Run Composer to retrieve current dependency configurations:
    composer install
  3. Run the Installer: Navigate to http://your-domain.com/setup/ in your web browser and follow the on-screen configuration wizard to link your database and set up administrator credentials.
  4. Finalize: Secure your server by removing or protecting the /setup folder after successful deployment. Configure either nginx.conf or .htaccess depending on your environment.

Developer Workflow πŸ› οΈ

A native Makefile is provided to streamline development, static analysis, and code quality tasks:

Running Static Analysis

Locally analyze code quality and type safety using PHPStan:

make phpstan-analyse PHP=/path/to/php

Updating PHPStan Baseline

To record current static analysis exceptions to the baseline file:

make phpstan-update PHP=/path/to/php

Dependency Mapping

Update the system dependencies graph and documentation indexes:

make stacklit-update

FAQ ❓

How to set up SMTP with Microsoft Azure and XOAUTH2?

You can find the complete step-by-step setup guide for Microsoft Azure and XOAUTH2 integration in the PHPMailer Wiki Guide.

How to set up SMTP with Google and XOAUTH2?

You can find the complete step-by-step setup guide for Google and XOAUTH2 in the PHPMailer Wiki Guide.


Community & Resources 🀝


Copyright and License βš–οΈ

Copyright 2002-2026 Oliver Georgi

Licensed under the GNU General Public License, Version 2 (the "License"); you may not use this work except in compliance with the License. You may obtain a copy of the License in the LICENSE file, or at:

https://opensource.org/licenses/GPL-2.0

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

About

Flexible, fast, powerful, customer, developer friendly web content management system and cms framework

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors