Download PHP Ledger 1.4.7

The current stable release, for PHP 8.2+ with MySQL 8.0.19+ (8.4 recommended) or MariaDB 10.4+, installs like WordPress. Download the package and verify the checksum, upload the phpledger folder anywhere inside your website and open its address: the installer starts by itself. No terminal, Composer, Node or Docker is needed for setup.

PHP Ledger 1.4.7 is the latest release; maintenance has stopped for lack of funds. See the funding page.

Screens show a fictional sample business, Willow Corner Shop.

Release 1.4.7

Latest release
File
phpledger-1.4.7.zip
Version
1.4.7
Published
27 September 2026
Size
3.64 MB (3,643,594 bytes)
SHA-256
d52e3dc7966774d228410db6af5c47eb264a53ec467193beb3745bb5620cc236
Licence
AGPL-3.0-or-later

Verify the ZIP against the .sha256 file on the release page before you unpack it.

Requirements

Check the host before you upload. The installer repeats these checks and stops if one fails, so a plan that cannot run PHP Ledger is found before any data is entered.

What the host must provide for version 1.4.7
ItemRequirementNote
PHP8.2 or later, 8.3 recommendedExtensions: BCMath, PDO MySQL, mbstring, curl, OpenSSL, fileinfo and sessions; zip for automatic updates
DatabaseMySQL 8.0.19+ (8.4 recommended) or MariaDB 10.4+, with InnoDBMySQL 8.0 is not supported yet
Web serverHTTPS with a valid certificate; plain http://localhost only for a trial on your own computerApache or LiteSpeed to upload into any folder; any server can point the document root at www/phpledger/public, the most secure layout
Setup toolingNoneNo terminal, Composer, Node or Docker needed for setup

Install from the browser

Six steps from upload to sign-in, with no terminal on your side and no need to change the document root. The installer explains each check it makes and stops with a clear message if the host is missing something.

  1. Unzip and upload

    Unzip the package. It creates one folder named phpledger. Upload that folder anywhere inside your website, such as the domain root, public_html/accounts or XAMPP's htdocs.

  2. Create an empty database

    In your hosting panel, create an empty MySQL 8.0.19+ (8.4 recommended) or MariaDB 10.4+ database and a dedicated user with all privileges on it. Never use an existing business database or the root account.

  3. Open the folder's address

    Open the folder's address in your browser. The installer starts by itself and checks the PHP version, extensions and that private files cannot be downloaded.

  4. Connect and migrate

    Enter the database details. With the database on the same server (localhost) no setup key is needed. The installer runs the migrations and records the schema version it installed.

  5. First account and business

    Choose a username, email address and password for the first account, add a logo if you want one, then set up your business: name, base currency, country package and financial year.

  6. Sign in

    Sign in with your username or email and start with your chart of accounts, tax codes and opening balances, or open a sample company to practise first.

Updates and recovery

Updates arrive as signed releases, applied from /maintenance.php. Before every update the application takes an automatic backup that matches the release, so the books on disk and the schema being upgraded always agree, and the signature is verified before a single file is unpacked.

If a migration fails part-way, recovery runs automatically and the application returns to the previous working release. Hosts that need it can also use a CLI companion for recovery outside the browser.

Upgrading an existing installation

Use the upgrade instructions shipped with your exact release. Pin the independent publisher key, keep a matched code/configuration/key/database backup and rehearse the path against a restored copy. The published release receipt states which source versions and channels were actually tested. Container installations pull a new pinned tag and restart; they do not replace their own application files.

Take a backup first and never unzip a new version over an installed copy; the staged path is deliberate, because older databases can differ from the 1.4.7 schema in more than one place.

Try before you install

Two ways to look at the application before it touches your hosting: the live demo workspace, and the sample guide that walks one fictional business through its books, month by month.

Open the live demo

Questions before you install

Can I use it for real books today?

Yes, with the published limits in mind. The final published release is identified above, and the accounting core covers invoices, bills, stock, bank reconciliation and the standard reports. Independent accounting and security reviews, and supervised pilots, were never completed. Keep backups, and complete your own reviewed acceptance before you commit a live business to it.

How do I verify the download?

Each release page publishes a .sha256 file next to the ZIP. Compute the SHA-256 checksum of the ZIP you downloaded and compare it with the file before you unpack anything. If the checksums differ, do not install it; download the package again.

Does shared hosting work?

Yes. PHP Ledger is built for ordinary shared hosting: PHP 8.2 or later with the required extensions, a MySQL 8.0.19+ (8.4 recommended) or MariaDB 10.4+ database, and HTTPS. Upload the phpledger folder into your website and open its address; the installer runs in the browser, with no terminal, Composer, Node or Docker needed for setup. Uploading into any folder relies on .htaccess, so it needs Apache or LiteSpeed, which most shared hosts use.

Does it work with MariaDB?

Yes: MariaDB 10.4+ and MySQL 8.0.19+ (8.4 recommended), with InnoDB. Run preflight on the actual host. Database TLS and a validated installation-specific table prefix are configurable; managed-provider acceptance remains a separate gate.

Do I need a setup key?

Not for a normal install. When the database is on the same server (localhost), the installer opens without a key. A database on another server needs a one-time code that the installer writes to private storage; read it with your hosting file manager. An operator who wants a key for every installation can still require one.

Which licence applies?

New project-owned code uses AGPL-3.0-or-later; a commercial licence is available on request. Dependencies, fonts, photographs and the archived 2015 application keep their own terms.

Where is the source?

The full source is on GitHub at github.com/phpledger/phpledger. Each published release contains its package, checksum and release notes; the repository preserves development history.

Automated test suites, fault-injection tests of the update and recovery path, exact-artifact installation, upgrade and recovery checks all passed. Independent accounting review, independent security review, supervised pilots with a real month-end close, a release-candidate period and observation on a real shared host or with an unfamiliar operator were never completed; maintenance has stopped for lack of funds. Help fund a year of open-source work.

Prefer a container?

Use ghcr.io/phpledger/phpledger or phpledger/phpledger on Docker Hub. Both official channels package the same verified release ZIP. Pin a published version, keep the database and private storage persistent, and follow the container guide. The release receipt identifies the verified registry tags and digests.

Try the installation first

The shared demo follows the actual installer and onboarding with protected host settings and labelled dummy database fields. If another visitor has completed setup, sign in with demo / DemoLedger123!. The hourly reset removes fictional data and all sessions. Do not use real personal or business information.

The core includes a neutral starter. Optional multi-year histories are validated data-only packages, installed explicitly through Packages. Read the feature boundaries before using the software for real books.

Product screen

Screens show a fictional sample business

Scroll the image to explore it. With a keyboard, focus the image area and use the arrow keys.