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-autoloader2. 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.phpin the correct runtime root - include
vendor/if the app depends on Composer packages - exclude development-only folders such as
.git/andnode_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