# Heroku alternative for PHP hosting

Source: https://www.fortrabbit.com/alternatives/heroku
Created: 2026-05-12
Reviewed: 2026-05-28


## Why move from Heroku to fortrabbit for PHP?

**fortrabbit is a managed PaaS built exclusively for PHP.** Since 2012 we've been running git-push deployments, integrated MySQL, atomic releases, and zero-downtime restarts for freelancers, agencies, and startups. Heroku invented the modern PaaS but its [PHP support](https://devcenter.heroku.com/articles/php-support) has always been bolt-on, and since the [Salesforce acquisition](https://www.salesforce.com/news/press-releases/2010/12/08/salesforce-com-signs-definitive-agreement-to-acquire-heroku/) the platform has lost focus — [free tier gone](https://blog.heroku.com/next-chapter), prices up, PHP-specific features stagnant.

If you're moving off Heroku for PHP — whether Laravel, Symfony, Statamic, Craft CMS, Kirby, or plain PHP — fortrabbit gives you the same git-push workflow, but with native PHP tuning, an integrated managed MySQL component (Heroku has none), EU data residency, and direct support from the engineers who run the platform. Plans start at €2.50 per month, and pricing scales with app size rather than dyno-hours.

::ContentButton{property="dashboard" text="Start a free trial — no credit card" route="/signup"}

## How does fortrabbit compare to Heroku?

| Feature                 | Heroku                       | fortrabbit                  |
| ----------------------- | ---------------------------- | --------------------------- |
| PHP focus               | Polyglot                     | PHP only                    |
| Deployment              | git push                     | git push, atomic            |
| Managed MySQL           | Add-on ([JawsDB](https://elements.heroku.com/addons/jawsdb), [ClearDB](https://elements.heroku.com/addons/cleardb)) | Native                      |
| Managed Redis           | Add-on                       | Native                      |
| File storage            | S3 add-on                    | Persistent app storage      |
| SSH access              | One-off dynos                | Full SFTP + SSH             |
| Pricing model           | Per-dyno, hourly             | Per-app, monthly            |
| Free tier               | [Removed 2022](https://blog.heroku.com/next-chapter) | 7-day trial, no card       |
| Support                 | Tiered, paid for fast        | Human chat, all plans       |
| Region                  | US default; EU paid          | EU (Ireland)     |
| Company                 | Salesforce                   | Independent, bootstrapped   |

## Pricing comparison

| Use case         | Heroku (Basic dyno + add-ons)               | fortrabbit                          |
| ---------------- | ------------------------------------------- | ----------------------------------- |
| Small site / dev | ~$7 dyno + ~$15 DB add-on ≈ **$22 / mo**    | **€5 / mo**                         |
| Production app   | ~$25 dyno + ~$50 DB + Redis ≈ **$80+ / mo** | **€30 / mo**                        |
| Scaled app       | Standard-2X + Premium DB ≈ **$200+ / mo**   | **€60–€120 / mo** depending on tier |

Numbers are illustrative — exact Heroku pricing varies with region, dyno hours, and add-on choice. See :ContentLink{href="/pricing" text="fortrabbit pricing"} for the current matrix.

## Migrating from Heroku to fortrabbit

The move is usually a one-day job for a small app, a weekend for a larger one. Most of the work is data migration; the deployment workflow stays the same.

1. **Provision the app on fortrabbit.** Pick a region (EU) and a plan. The free trial is enough to validate the move.
2. **Add the MySQL component.** Heroku users coming from JawsDB or ClearDB can `mysqldump` the source database and import via the SSH tunnel — see :ContentLink{href="/guides/general/mysql-import" text="MySQL import guide" prefix="docs"}.
3. **Connect your git provider.** Install the fortrabbit GitHub App (or connect GitLab / Bitbucket) and link your existing repo to the new fortrabbit app — see :ContentLink{href="/platform/deployment/intro" text="deployment intro" prefix="docs"}. Pushes to your branch trigger an automatic deploy; Composer install runs as part of it.
4. **Move environment variables.** Heroku config vars map 1:1 to fortrabbit's environment variables — set them in the dashboard or via the CLI.
5. **Move uploads and assets.** If you used Heroku's S3 add-on, rsync (or `aws s3 sync` then upload) the bucket contents into your fortrabbit app's persistent storage via SFTP / SSH — no separate bucket service needed.
6. **Cut over DNS.** Add the domain in the fortrabbit dashboard, update the CNAME, and watch the certificate issue automatically via Let's Encrypt.

For framework-specific notes see the :ContentLink{href="/guides" text="install guides" prefix="docs"} — particularly Laravel and Statamic, which are the most common migrations.

::ContentButton{property="dashboard" text="Start the migration with a free trial" route="/signup"}

## Why teams switch

- **Predictable bills.** No dyno-hour math, no surprise add-on charges at the end of the month.
- **PHP-first ergonomics.** Composer, OPcache tuning, PHP version pinning, and integrated MySQL all just work.
- **Owner-run support.** You talk to the engineers who run the platform, not a tier-1 queue.
- **Independence.** We're not a Salesforce business unit. Roadmap decisions are made for PHP developers, not platform-wide.

For background on Heroku itself, see our :ContentLink{href="/hosting-guide/providers/paas/heroku" text="hosting guide entry"}. Still weighing categories rather than vendors? Read :ContentLink{href="/how-to-choose-the-right-hosting-for-your-php-project" text="how to choose the right hosting for your PHP project"}.

::ContentButton{property="dashboard" text="Start a free trial — no credit card" route="/signup"}

::ContentButton{property="www" text="See pricing" route="/pricing" variant="secondary"}

## FAQ

### How do I migrate my Laravel app from Heroku to fortrabbit?

**Self-service** — Most Laravel migrations off Heroku take a day. Set up the fortrabbit app, add a MySQL component, dump and import your JawsDB or ClearDB database via the SSH tunnel, copy your Heroku config vars over as environment variables, and re-point your repo at the fortrabbit app for git-push deploys. Uploaded files in an S3 add-on get rsynced into the app's persistent storage — no separate bucket service to wire up.

### Why is fortrabbit cheaper than Heroku for a small PHP app?

**No add-on stacking** — Heroku bills you per dyno-hour, with the managed database and Redis as separate add-ons that each carry their own monthly minimum. A small PHP app on Heroku quickly lands at $20-25 a month before traffic. The same app on fortrabbit is a single per-app plan with the MySQL component included, starting at roughly €5 a month. There are no usage meters in the middle and no surprise bill at the end of the month.

### Does fortrabbit support Heroku-style buildpacks for PHP?

**No** — That is intentional. fortrabbit runs your PHP code directly with Composer at build time — no buildpack indirection, no proprietary install layer between your repo and the deployed app. PHP version, extensions, opcache, and Composer cache are configurable per environment via the dashboard, not by editing a buildpack URL.

### How is fortrabbit's PHP support different from Heroku's?

**PHP-only focus** — Heroku is a polyglot PaaS — PHP is one supported language among many, and the runtime defaults reflect that. fortrabbit has only ever hosted PHP, since 2012. PHP version pinning, opcache tuning, MySQL integration, and Composer behavior are the platform's main concerns. When you open a support chat about a PHP-specific issue, you reach engineers who think about PHP all day.

### Is there a free tier now that Heroku removed its own?

**A trial** — There is no forever-free tier, but every new app gets a 7-day free trial with no credit card. After that, pricing is component-based and billed in arrears with a one-day minimum, so the first invoice only covers what the app actually used.

---

- [About Heroku](/hosting-guide/providers/paas/heroku)
- [All alternatives](/alternatives)
