Panelica supports multiple PHP versions (8.1 through 8.5) side by side for flexible PHP hosting configuration running simultaneously with per-domain configuration, and provides full control over Nginx and Apache settings.
Four PHP versions available out of the box:
- PHP 8.1 — Long-term support
- PHP 8.2 — Stable
- PHP 8.3 — Current stable
- PHP 8.4 — Latest features
- PHP 8.5 — Cutting edge
Each domain can use a different PHP version independently. Switching versions takes effect immediately — Panelica restarts only the affected PHP-FPM pool.
Every domain gets its own PHP-FPM pool with customizable settings:
- php.ini editor — Built-in CodeMirror editor with syntax highlighting for editing per-domain PHP settings
- Common directives — memory_limit, upload_max_filesize, post_max_size, max_execution_time, max_input_vars
- Error handling — display_errors, error_reporting, log_errors configuration
- Session settings — session.gc_maxlifetime, session.save_path
- Security settings — open_basedir, disable_functions (per-domain)
Enable or disable PHP extensions per version:
- Extensions managed via conf.d INI files
- Common extensions: curl, gd, mbstring, mysqli, pdo_mysql, zip, xml, intl, imagick, redis, opcache
- Extension status visible in the panel
- Sync script ensures consistent extension state across versions
Panelica installs smart wrapper scripts at /usr/local/bin/ so the system-wide php command uses the Panelica-managed PHP:
- Wrapper scripts (not symlinks) that set PHP_INI_SCAN_DIR correctly
- Version-specific wrappers: php81, php82, php83, php84
- Composer wrapper using Panelica bundled composer.phar
- Prevents conflicts with system PHP packages
- Per-user, per-version — Each user gets their own PHP-FPM service per PHP version
- Process manager — Configure pm.max_children, pm.start_servers, pm.min_spare, pm.max_spare
- Pool isolation — Each domain runs in its own pool under the users UID
- Service control — Start, stop, restart individual PHP-FPM pools
- Cgroup integration — PHP processes are assigned to the users cgroup slice for resource limits
Panelica uses Nginx as the primary web server:
- Virtual hosts — Auto-generated per domain with optimized defaults
- SSL/TLS — Automatic HTTPS configuration with Let's Encrypt
- Gzip compression — Enabled by default with configurable settings
- Cache headers — Static file caching rules
- Security headers — X-Frame-Options, X-Content-Type-Options, HSTS
- Custom directives — Add custom Nginx configuration per domain
- Reverse proxy — Proxy pass to Node.js, Python, or other backend applications
Apache runs alongside Nginx for specific use cases:
- phpMyAdmin hosting (port 7081)
- .htaccess support for legacy applications
- mod_rewrite for URL rewriting
All web services are managed through the panel:
- Start, stop, restart any service
- View service status and uptime
- Configuration file editing with syntax validation
- Log viewer per service
If you encounter any issues with this feature, please open a report in the Bug Reports forum.
---
For issues with this feature, please report in the Bug Reports forum.
Last edited: