PHP-Based Workspace Types
Several workspace types are available for PHP applications — including Magento 2, Laravel, Shopware, and others. These appear as distinct types in the workspace creation wizard because each requires a different web server configuration (URL rewrites, entry points, static asset handling). However, they all share the same underlying shell environment and tooling described below.
Web Server Configuration
Section titled “Web Server Configuration”The web server (Nginx or Apache) is configured to pass requests to PHP-FPM for processing. Each workspace type has server rules tailored to its framework’s routing and directory structure. Selecting the correct type ensures the web server handles your application’s URLs properly.
Shell Environment
Section titled “Shell Environment”When you SSH into a PHP workspace, the following tools and paths are pre-configured:
PHP CLI
Section titled “PHP CLI”# Check PHP versionphp -v
# Run a PHP scriptphp script.php
# Check loaded modulesphp -mThe PHP version matches what was selected during workspace creation. Multiple versions are not available simultaneously — the configured version is the one used by both the CLI and the web server.
Composer
Section titled “Composer”Multiple Composer versions are installed side-by-side. The workspace’s configured default version is symlinked as composer, but you can invoke any specific version directly:
# Use the configured defaultcomposer install
# Use a specific version explicitlycomposer1 install # Composer 1.xcomposer2 install # Latest Composer 2.xcomposer2.2 install # Composer 2.2.xcomposer2.3 install # Composer 2.3.xcomposer2.7 install # Composer 2.7.xAvailable binaries: composer1, composer2, composer2.1, composer2.2, composer2.3, composer2.4, composer2.5, composer2.6, composer2.7, composer2.8, composer2.9.
Node.js (Asset Compilation)
Section titled “Node.js (Asset Compilation)”Node.js and npm are available in PHP workspaces for frontend asset builds:
node -vnpm -v
# Install frontend dependenciesnpm install
# Run build scriptsnpm run buildPre-Installed CLI Tools
Section titled “Pre-Installed CLI Tools”Beyond PHP and Composer, the following tools are available out of the box:
| Tool | Command | Purpose |
|---|---|---|
| WP-CLI | wp | WordPress management |
| n98-magerun | n98-magerun | Magento 1 CLI utility |
| n98-magerun2 | n98-magerun2 | Magento 2 CLI utility |
| Shopware CLI | shopware-cli | Shopware development CLI |
| AWS CLI | aws | AWS service management |
| Kiro CLI | kiro | AI-assisted development |
| MySQL client | mysql | Database access |
| PostgreSQL client | psql | Database access |
| MongoDB Shell | mongosh | MongoDB access |
| Git | git | Version control |
| jq | jq | JSON processing |
| rsync | rsync | File synchronization |
Framework-Specific Usage
Section titled “Framework-Specific Usage”Magento 2 / Adobe Commerce
Section titled “Magento 2 / Adobe Commerce”# Navigate to project rootcd /home/web/html
# Run Magento CLIphp bin/magento setup:upgradephp bin/magento setup:di:compilephp bin/magento setup:static-content:deploy -fphp bin/magento cache:flush
# Reindexphp bin/magento indexer:reindex
# Check module statusphp bin/magento module:statusDatabase access:
mysql -h db -u root -p $WORKSPACE_DB_NAMERedis (if enabled):
redis-cli pingredis-cli flushallElasticsearch / OpenSearch:
# Check cluster healthcurl http://db:9200/_cluster/health
# List indicescurl http://db:9200/_cat/indices?vLaravel
Section titled “Laravel”cd /home/web/html
# Artisan commandsphp artisan migratephp artisan cache:clearphp artisan config:cachephp artisan queue:work
# Run testsphp artisan testShopware
Section titled “Shopware”cd /home/web/html
# Shopware CLIphp bin/console cache:clearphp bin/console plugin:refreshphp bin/console plugin:install PluginNamephp bin/console plugin:activate PluginNamephp bin/console dal:refresh:indexphp bin/console theme:compile
# Shopware CLI toolshopware-cli project ciWordPress
Section titled “WordPress”cd /home/web/html
# WP-CLI commandswp core versionwp plugin listwp plugin update --allwp theme activate theme-namewp cache flushwp search-replace 'old-url.com' 'new-url.com'wp db export backup.sqlClean Install
Section titled “Clean Install”When creating a workspace, you can choose Clean Install to automatically install a fresh copy of your application. The wizard presents version options specific to each workspace type.
Default Admin Credentials
Section titled “Default Admin Credentials”| Platform | Username | Password |
|---|---|---|
| Magento 2 / Adobe Commerce | admin | Ordin@Dev1 |
| WordPress | admin | Ordin@Dev1 |
| Shopware | admin | shopware |
Magento 2 / Adobe Commerce
Section titled “Magento 2 / Adobe Commerce”Available versions: 2.4.6, 2.4.7, 2.4.8, 2.4.9 (both Enterprise and Open-Source editions).
The clean install process:
- Runs
composer create-projectfrom the Magento repository - Executes
bin/magento setup:installwith database, search engine, and URL configuration - Runs
indexer:reindex - Sets developer mode
- Symlinks
pub/to the web root
Requirements: An auth.json file must exist in /shared/ with your Magento repository credentials. Place it there before creating the workspace.
Shopware
Section titled “Shopware”Available versions: 6.5, 6.6, 6.7.
The clean install process:
- Runs
composer create-project shopware/production - Installs dev tools
- Configures
.env.localwith database, OpenSearch, and URL settings - Runs
bin/console system:install --basic-setup - Indexes with OpenSearch
- Symlinks
public/to the web root
WordPress
Section titled “WordPress”Available versions: latest, 6.6, 6.7.
The clean install process:
- Downloads WordPress core via
wp core download - Creates
wp-config.phpwith database credentials - Runs
wp core installwith site URL and admin credentials
Environment Variables
Section titled “Environment Variables”Ordin automatically injects environment variables into the workspace to pass configuration values to your application. These are set by the platform based on your workspace and project settings — you don’t manage them directly.
Commonly used variables:
| Variable | Example | Description |
|---|---|---|
WORKSPACE_DOMAIN_1 | mysite.project.ordinlabs.io | Primary workspace URL |
WORKSPACE_DB_HOST | db | Database hostname |
WORKSPACE_DB_NAME | workspace_abc | Database name |
WORKSPACE_DB_USER | root | Database user |
WORKSPACE_DB_PASSWORD | (set automatically) | Database password |
WORKSPACE_NAME | mysite | Workspace subdomain |
Your application code and config templates can reference these to connect to services without hardcoding values. See Workspace Config Templates for the full list.
Common Tasks
Section titled “Common Tasks”Testing HTTP Output
Section titled “Testing HTTP Output”curl -H "Host: $WORKSPACE_DOMAIN_1" http://localhostChecking Logs
Section titled “Checking Logs”# PHP-FPM error logtail -f /var/log/php-fpm/error.log
# Web server access/error logstail -f /var/log/nginx/error.logtail -f /var/log/apache2/error.logCron Jobs
Section titled “Cron Jobs”Cron is managed by the workspace. To run a cron command manually:
# Magento cronphp bin/magento cron:run
# Laravel schedulerphp artisan schedule:runFile Structure
Section titled “File Structure”/home/web/├── html/ # Web root (application code)│ ├── composer.json│ ├── pub/ # Magento public directory│ └── ...├── .bashrc # Personal shell config└── .workspacerc # Workspace-specific config
/shared/ # Shared across project workspaces├── .profile # Project-wide shell profile├── .bashrc # Project-wide bash config├── bin/ # Shared scripts (in $PATH)└── startup.d/ # Scripts run on environment start