Skip to main content
The PHP preset provides a full PHP development environment with nginx, PHP-FPM 8.3, and Composer pre-installed.

What’s Included

ComponentVersionDetails
nginxLatest (Ubuntu 24.04)Web server, proxies to PHP-FPM
PHP-FPM8.3FastCGI process manager
ComposerLatestPHP dependency manager
SSHOpenSSHAccess via dedicated port
Common PHP extensions are pre-installed (mbstring, xml, curl, mysql, pgsql, zip, etc.).

Directory Structure

/home/instapod/app/
├── public/
│   └── index.php       # Web-accessible entry point
├── composer.json        # (your project)
└── vendor/              # (after composer install)
  • App Root: /home/instapod/app
  • Public Root: /home/instapod/app/public
nginx is configured to serve from /home/instapod/app/public. Place your entry point (index.php) there. Application code, configs, and vendor directory go in the parent /home/instapod/app.

Deploying Your App

Upload Files

instapod files sync my-php-app --local ./my-laravel-project

Install Dependencies

instapod exec my-php-app -- composer install --no-dev

Reload Services

After deploying or updating your code:
instapod pods reload my-php-app
This restarts both nginx and PHP-FPM.

Adding a Database

PHP apps commonly need a database. Install one with:
# MySQL
instapod services add my-php-app --service mysql --wait
instapod services creds my-php-app --service mysql

# PostgreSQL
instapod services add my-php-app --service postgresql --wait
Database services require the Developer or Professional plan.

Use Cases

  • Laravel applications
  • Custom PHP APIs
  • Content management systems
  • PHP microservices