Framework12 min readNot archived on GitHub

FuelPHP: PHP Framework Guide

A guide to FuelPHP as a PHP framework: what the official docs say, how to approach installation, and what remains unknown about current support.

PHP compatibility and project lifecycle

Source describes FuelPHP as a PHP 5 web framework. Support for PHP 8.4, PHP 8.5, current versions, and persistent workers is unknown from the supplied evidence; verify before use.

Official sources checked 2026-10-22. Browser lessons on this site run PHP 8.5.

Sources and evidence limits

The only evidence used is the FuelPHP documentation landing page. Where that page is silent, this guide says the answer is unknown.

What FuelPHP is

The documentation describes FuelPHP as a simple, flexible, community driven PHP 5 web framework. It says the framework grew out of frustration with other frameworks, is portable, works on almost any server, and prides itself on clean syntax.

In classification terms, FuelPHP is a framework. It is not any of the following:

  • a standalone PHP runtime or alternative interpreter
  • a CMS product, in the way Drupal CMS is built on top of PHP
  • an async library or a persistent-worker server such as Swoole or Open Swoole

PHP core is the language engine that executes code. FuelPHP is application code that runs on top of it. That also separates it from CMS products, which ship content-management features, whereas a framework supplies building blocks for you to assemble.

Architecture and content model

The assignment focus is HMVC (hierarchical model-view-controller). The documentation page supplied as evidence does not explain HMVC in detail, so this guide does not describe controller internals or request routing. The page does point to these concepts:

  • the components of a FuelPHP application
  • configuring a new installation
  • modules and packages
  • an online class API reference
  • offline documentation as a static download
  • a develop-branch documentation set that reflects the bleeding edge

The page says the main documentation reflects the latest official release at the time it was written. It gives no release number, so the current version is unknown. FuelPHP has no built-in content model. You build content structures yourself, unlike a CMS.

Execution model

A classic PHP request lifetime starts fresh state for each request, runs the code, sends a response and discards the request's variables. Frameworks that run this way pay a bootstrap cost per request but rarely leak data between users.

The documentation does not say whether FuelPHP supports persistent workers, so that support is unknown. Do not assume it. Treat it as a classic request-per-process framework unless you find official evidence otherwise.

Persistent workers keep one PHP process alive across many requests. If you ever run any framework in that mode, state leakage becomes the main risk. Static properties, singletons, service containers, caches, open database connections, authenticated-user data, and per-request configuration can all survive into the next request. Typical consequences are one user seeing another user's data or stale configuration. Cleanup means resetting or recreating every piece of request-scoped state at the start and end of each request, closing or validating long-lived connections, and testing sequences of requests from different users. For FuelPHP specifically, whether its internals can be reset safely is unknown from the evidence.

Practical use cases

The documentation gives no use-case list, so these are cautious inferences from the stated goals:

  • Learning how an HMVC-style PHP framework is organised, as a study of modules and packages.
  • Reading or maintaining an existing FuelPHP application, after checking its dependencies.

For a brand-new production project, current support status, security-update status, and PHP compatibility are all unknown from the evidence, so verify them first. The copyright line on the page reads 2010-2019, which suggests the page itself has not been recently updated. That is an observation about the page, not a conclusion about project health.

Installation approach

The documentation describes two paths.

  1. Quick installation. Use curl to install a basic version of the command-line tool, oil, then create a new full application with it. The documented example creates a project called blog inside a directory called Sites.
  2. Manual installation. The page defers to a separate installation page for detailed steps. That page was not supplied, so manual steps are unknown here.

The documented quick install pipes a downloaded script straight into the shell. This guide's example instead downloads the script to a file so you can read it before running it. That is a cautious variation on the documented approach. Whether oil ends up on your PATH is not stated in the evidence, so check that yourself.

Compatibility and the PHP 8.4 track

The learning track here uses PHP 8.4, with PHP 8.5 planned. The only compatibility statement in the source is that FuelPHP is a PHP 5 framework. There is no evidence that it supports PHP 8.4 or PHP 8.5, so this guide does not write any FuelPHP application code for them. The included example is a plain PHP 8.4 host-check script, not FuelPHP code. It reports your PHP version and whether the curl extension is loaded, because the documented installer relies on curl. Compatibility of FuelPHP with modern PHP is unknown and must be verified in an isolated environment.

Strengths

  • The docs describe a portable framework that works on almost any server.
  • The docs offer both a quick installer and a manual path.
  • Documentation is available online, as a static offline download, and as class API docs.
  • The page states an MIT license.

Limitations and unknowns

  • Lifecycle is unknown. No support policy, release schedule or deprecation notice appears in the evidence.
  • Compatibility with PHP 8.x is unknown. The only stated target is PHP 5.
  • Persistent-worker support is unknown.
  • Performance claims are not made here, because the source gives none.
  • No Docker image or Compose setup is documented in the evidence, so none is invented here.
  • Manual installation, directory layout, web-server configuration and HMVC specifics are not in the supplied page.

Deployment

The source only says FuelPHP is portable and works on almost any server. It gives no web-server configuration, FastCGI setup or hosting guidance, so deployment steps are unknown. For any deployment, follow the official installation page and keep PHP-FPM or FastCGI endpoints off public interfaces. For local experiments, bind any development server to 127.0.0.1. Run the example in an isolated environment that you can discard, since it needs network access and a shell, so it is not a browser exercise.

What to do next

Read the official documentation, especially the application components, configuration, and modules and packages sections. Confirm the current release, the supported PHP versions, and the maintenance status before choosing FuelPHP for anything beyond study. Until you have that evidence, treat the lifecycle as unknown.

Practical examples

These examples have not been run in a live environment yet. Commands and versions follow the official documentation linked on this page; check them before relying on them, and report a problem if one does not work.

Host check and documented oil quick-install flow (native host)

Checks the host PHP and curl availability with a plain PHP script (not FuelPHP code), then follows the documented oil quick install, downloading the installer to a file for review before running it. Requires a shell, curl, PHP and network access. Not a browser exercise.

check-host.php

<?php

declare(strict_types=1);

// Plain PHP host check. This is NOT FuelPHP code.
// FuelPHP compatibility with this PHP version is unknown.

echo 'PHP version: ' . PHP_VERSION . PHP_EOL;
echo 'SAPI: ' . PHP_SAPI . PHP_EOL;
echo 'curl extension loaded: ' . (extension_loaded('curl') ? 'yes' : 'no') . PHP_EOL;
echo 'Next: review oil-installer.sh before running it.' . PHP_EOL;

NOTES.txt

Working directory: the folder containing check-host.php.
Source: https://fuelphp.com/docs/ (quick installation section).
The docs show: curl https://get.fuelphp.com/oil | sh, then oil create blog inside Sites/.
This example downloads the installer to oil-installer.sh first so it can be read.
Whether oil is placed on PATH is not stated in the source; check after install.
FuelPHP support for PHP 8.4 is unknown.

Install and run

php check-host.php
mkdir -p Sites
curl https://get.fuelphp.com/oil -o oil-installer.sh
cat oil-installer.sh
sh oil-installer.sh
cd Sites && oil create blog

Expected behavior

The PHP script prints the PHP version, SAPI and whether curl is loaded. The remaining commands follow the documented flow: the installer is downloaded and reviewed, then run, and oil should create a project directory named blog under Sites. Whether the generated project runs on your PHP version is unknown.

The source only documents the curl install and oil create; it gives no run command, web-server configuration, HMVC code, or PHP 8.x compatibility statement, so none are included. If oil is not found on PATH, consult the official installation page. Do not expose any server publicly.