Chajio Cloud
App Hosting

Laravel & PHP Hosting

Push a Laravel, Symfony or plain PHP project to GitHub. Chajio Cloud installs your Composer packages, builds your Vite assets and serves public/ on two replicas, with free SSL and a managed database.

$ git push origin main
▸ Detected PHP: composer.json, with a Node.js build step
▸ npm ci && npm run build
▸ composer install
▸ Serving public/ as the web root
▸ Starting Apache and PHP-FPM
✓ Live on 2 replicas: https://my-app.live.chajio.cloud

How it works

How we build and run your Laravel & PHP app

  1. Detect

    A composer.json marks a PHP app. A plain PHP site with an index.php and no composer.json builds too.

  2. Build assets

    If your package.json has a build script, as Laravel with Vite does, it runs first, so public/build is ready.

  3. Install

    Composer installs your packages. The PHP version and extensions come from require in composer.json.

  4. Serve

    When public/index.php exists (Laravel, Symfony, Slim), public/ becomes the web root, so your source code is never served.

Get ready

Getting your Laravel & PHP app ready

composer.json
{
  "require": {
    "php": "^8.3",
    "ext-gd": "*",
    "ext-intl": "*",
    "laravel/framework": "^12.0"
  }
}

Ask for the PHP version you develop on and the extensions you use, and they are installed with it.

bootstrap/app.php
->withMiddleware(function (Middleware $middleware) {
    $middleware->trustProxies(at: '*');
})

HTTPS ends at the platform’s load balancer. Trusting it lets Laravel know visitors came over HTTPS, so url() and redirects use https://.

Environment tab
APP_KEY=base64:your-key
APP_ENV=production
APP_DEBUG=false
APP_URL=https://www.example.com
LOG_CHANNEL=stderr
DB_CONNECTION=mariadb

Generate the key with php artisan key:generate --show. Give the managed database the variable name DB_URL and Laravel reads the connection from it. stderr puts your logs on the Logs tab.

Procfile
web: php artisan migrate --force && heroku-php-apache2 public/

Optional: runs your migrations each time a new version starts, then serves public/ as before.

Works with

What you can run

Laravel

With Vite, Livewire or Inertia.

Filament

Laravel admin panels deploy like any Laravel app.

Symfony

Served from public/.

Slim

Served from public/.

CodeIgniter 4

Served from public/.

Plain PHP

An index.php is enough.

In production

Running your Laravel & PHP app in production

Files reset on each deploy

Every version starts from a fresh copy, and two run at once. Store uploads on S3-compatible storage (FILESYSTEM_DISK=s3) and keep sessions and cache in the database, Laravel’s default since version 11.

MariaDB for MySQL apps

MySQL itself isn’t offered yet, but MariaDB speaks the same protocol: Laravel’s mariadb and mysql drivers both connect to it.

Turn debug off

APP_DEBUG=true in production shows your environment, including secrets, on every error page. Keep it false and read errors on the Logs tab.

Running WordPress?

App Hosting suits apps you build and deploy from Git. For WordPress, shared hosting gives you one-click installs, email accounts and backups without a repository.

Every plan

Included on every plan

2 replicas of every app

Two copies behind a load balancer, so a restart or a failed machine never takes you offline.

A managed database

PostgreSQL, MariaDB or MongoDB, with its own standby replica on another machine.

Deploy on every push

Connect GitHub once; every push to your branch builds and goes live.

One-click rollbacks

Go back to any earlier successful deployment from the Deployments tab.

Free SSL, your domain

Certificates issued and renewed for you, plus a free .live.chajio.cloud address.

Build and runtime logs

Watch builds as they run, and see what your app prints as it serves visitors.

CPU, memory and network

Metrics for every app, from the last 15 minutes to the last 30 days.

Zero-downtime deploys

A new version takes visitors only once its health check passes.

Pricing

Laravel & PHP hosting plans

Free Plan

5GB DB Storage · 2GB RAM

Free 1st month

Then $3.50/mo

  • 2 vCPU
  • 2 Apps
  • 1 Database
  • 2 App Replicas (HA)
  • 2 Database Replicas (HA)
  • PostgreSQL, MariaDB or MongoDB
  • Deploy from GitHub
  • Auto-deploy on push
  • One-click rollbacks
  • Deployment history
  • Build & runtime logs
  • CPU, RAM, disk & network metrics
  • Disk usage tracking
  • Environment variables
  • Custom domain
  • Free SSL
Start Free

Growth Plan

10GB DB Storage · 2GB RAM

$8.99/mo
  • 3 vCPU
  • 4 Apps
  • 2 Databases
  • 2 App Replicas (HA)
  • 2 Database Replicas (HA)
  • PostgreSQL, MariaDB or MongoDB
  • Deploy from GitHub
  • Auto-deploy on push
  • One-click rollbacks
  • Deployment history
  • Build & runtime logs
  • CPU, RAM, disk & network metrics
  • Disk usage tracking
  • Environment variables
  • Custom domain
  • Free SSL
Choose Growth
Most Popular

Business Plan

20GB DB Storage · 4GB RAM

$18.99/mo
  • 4 vCPU
  • 6 Apps
  • 3 Databases
  • 2 App Replicas (HA)
  • 2 Database Replicas (HA)
  • PostgreSQL, MariaDB or MongoDB
  • Deploy from GitHub
  • Auto-deploy on push
  • One-click rollbacks
  • Deployment history
  • Build & runtime logs
  • CPU, RAM, disk & network metrics
  • Disk usage tracking
  • Environment variables
  • Custom domain
  • Free SSL
Choose Business

Pro Plan

30GB DB Storage · 8GB RAM

$37.98/mo
  • 8 vCPU
  • 10 Apps
  • 5 Databases
  • 2 App Replicas (HA)
  • 2 Database Replicas (HA)
  • PostgreSQL, MariaDB or MongoDB
  • Deploy from GitHub
  • Auto-deploy on push
  • One-click rollbacks
  • Deployment history
  • Build & runtime logs
  • CPU, RAM, disk & network metrics
  • Disk usage tracking
  • Environment variables
  • Custom domain
  • Free SSL
Go Pro

FAQ

Laravel & PHP hosting questions

The one your composer.json asks for in require, for example "php": "^8.3". Extensions you list there, such as ext-gd or ext-intl, are installed with it.

No. A Laravel project is recognised from its composer.json, its Vite assets are built and public/ is served automatically. A Dockerfile is only needed if you want full control over the image.

MariaDB, with DB_CONNECTION=mariadb, or PostgreSQL. Both are managed for you and included on every plan. Laravel’s mysql driver also connects to MariaDB, so apps written for MySQL work.

You can, but shared hosting is the better fit: it comes with one-click WordPress installs, email accounts, daily backups and LiteSpeed caching, and it is cheaper for a typical site.

Put them before the web server in a Procfile, for example web: php artisan migrate --force && heroku-php-apache2 public/, so they run each time a new version starts.

You can start on the Free plan: free for your first month, then $3.50 a month, with 2 vCPU, 2GB RAM, 2 apps and a managed database. The Growth, Business and Pro plans add more CPU, memory, apps and databases as you grow.

Plans are priced and billed in US dollars, and you pay by card at checkout.

Deploy your Laravel & PHP app today

Your first month is on us, with a managed database and two replicas from day one.