Documentation
v1
Frontend
PHP

Deploy PHP

Use the PHP template in the dashboard when your upload is a runtime-ready PHP app archive.

This is the right path for Laravel-style apps, WordPress-style apps, and custom PHP projects, as long as the archive already contains the files the runtime needs.

1. Install production dependencies

For Composer-based apps:

composer install --no-dev --optimize-autoloader

2. Prepare the runtime root

The archive should unzip with your app root directly at the top level. For example:

index.php
vendor/...
public/...
app/...
bootstrap/...

If your framework expects a specific public document root, package the exact folder structure your deployment runtime needs.

3. Zip the app root

zip -r php-app.zip . -x ".git/*" "node_modules/*"

Upload php-app.zip with the PHP template in /dashboard/deploy.

Best fit

Use the PHP template for:

  • Laravel-style apps
  • WordPress-style PHP archives
  • custom PHP frameworks
  • PHP projects that need server-side execution

Packaging checklist

  • keep index.php in the correct runtime root
  • include vendor/ if the app depends on Composer packages
  • exclude development-only folders such as .git/ and node_modules/
  • upload the finished runtime archive, not the source checkout

When to use a tunnel instead

Use a normal Mekong tunnel when:

  • you want to expose your local dev server directly
  • you are still iterating locally with live changes
  • your deploy target should hit the machine you are currently developing on