Getting started with Raster
Raster needs PHP 8.1 or newer, with SQLite. There is nothing else to install.
A new site
git clone https://github.com/draganescu/rasterPHP
php rasterPHP/bin/raster new mysite
cd mysite
php bin/raster serve # http://localhost:8000
raster new copies the framework and a starter app into mysite/. Your site
lives in application/:
application/
config/the_app.php settings
models/<name>/<name>.php your models
views/<theme>/ views (.html, .rss, .xml, .json), css, images
data/ the SQLite database, cache and logged mail
/about renders views/<theme>/about.html, and /docs/setup renders
docs/setup.html. Start from static HTML with real content, then mark the
parts that change.
Editing it
php bin/raster user you@example.com --role=editor # log in at /login to edit in the page
php bin/raster lint # after every template change
php bin/raster schema # what the CMS will store
php bin/raster render /about # a page's HTML, without a server
An agent can do all of this too. AGENTS.md in the site is the full
specification, CLAUDE.md points agents at it, and .mcp.json sets up the
MCP server that lets them edit the content.
The demo café is a complete site that uses every feature, with a test for each one. When you wonder how something is written, look there.
Putting it online
Any PHP host with Apache (the .htaccess is included) or a server that sends
every request to index.php works. On the server:
export RASTER_ENV=production
export RASTER_URL=https://example.com/
php bin/raster schema --apply # create the tables the templates need
php bin/raster doctor # anything missing before going live?
Production freezes the database schema, caches pages for visitors and sends
mail with PHP’s mail(), or over SMTP when you set RASTER_MAIL.
Keeping it up to date
php bin/raster update # the latest release
php bin/raster doctor
update replaces only the framework files (system/, bin/raster,
index.php, .htaccess and AGENTS.md), refuses if you edited them, keeps
the old ones in a backup, and then runs the upgrade steps your app needs.
Changes you want in the framework go in your app instead, as overrides; the
changelog
lists what each release changes.
Earlier versions
Raster started as Spartan PHP, with ports to CodeIgniter and WordPress and a Node.js version planned. Those are no longer maintained. Raster 2, from 2026, is the PHP framework described here.