"PHP Settings Tab"
The PHP tab controls everything about how this domain runs PHP: the version, the resource limits, the FPM pool behind it, and the raw configuration files for when the forms are not enough.
Domain Editor → PHPhttps://YOUR-SERVER-IP:8443/domains/edit/DOMAIN-ID#phpHandler: PHP-FPM (FastCGI Process Manager) 8.4 (Latest) ▾ ⓘ phpinfo
memory_limit 256 MB · upload 64 MB · exec 60s ...
pm: dynamic · max_children 10 · max_requests 500
Apply & Reload PHP-FPM
Per-request, no reload needed
PHP Version
A dropdown listing the PHP versions currently running on the server; the newest carries a Latest tag, and the Docker-based legacy versions (5.6 to 7.4) are tagged Legacy. A "Current Configuration" box under the selector shows the active version, handler and state. The handler is fixed: PHP-FPM is the only supported mode, and the card says so.
Next to the selector, a phpinfo button opens the domain's full phpinfo() output in a modal, rendered server-side so no public phpinfo file ever exists on the site. A hint below points to the legacy PHP options (5.6 to 7.4, available through the Docker-based runtime) for old applications.
Resource Limits
The classic PHP knobs as a form, loaded from the domain's real FPM pool configuration:
| Setting | Unit |
|---|---|
| memory_limit | MB |
| max_execution_time | seconds |
| post_max_size | MB |
| upload_max_filesize | MB |
| max_input_time | seconds |
| max_input_vars | count |
| max_file_uploads | count |
For customer accounts (USER role) the performance-critical three (memory limit, execution time, input time) are plan-locked: marked with a plan-limit badge and not editable, because they are governed by the hosting plan. Upload sizes and input counts remain adjustable. Values are re-read automatically after a PHP version change.
PHP-FPM Pool Settings
Direct control over the domain's FPM pool:
- Process manager:
static,dynamicorondemand. - max_children (required) and max_requests for worker recycling.
- In dynamic mode: start_servers, min_spare_servers, max_spare_servers, validated live against the FPM rule
min_spare ≤ start_servers ≤ max_spare < max_children; the form refuses to save while the numbers contradict each other and auto-adjusts the spare values sensibly when you lower max_children or switch modes. - In ondemand mode: process_idle_timeout.
A "Recommended Values" box suggests a sensible setup (dynamic mode, a max_children estimate based on memory, max_requests 500 against slow leaks). Reset to Current re-reads the live pool config.
php.ini editor
The domain's own php.ini, editable as raw text. On load, the panel syncs the resource-limit lines in the file with the pool's live values, so what you read matches what actually runs. If the file does not exist yet, the editor generates a sensible starter template you can adjust and save. A Reload button re-reads the file from disk, saving is wired to Apply & Reload PHP-FPM, and a note warns that the content is validated on the server.
.user.ini editor
A lighter alternative for per-directory overrides: .user.ini is read by PHP per request, so changes need no FPM reload. The card carries an FTP badge because the same file can be edited over FTP/SFTP as well. Plan-governed limits cannot be raised from here; it is meant for harmless preferences like date.timezone or display_errors while testing.
Permissions
Four keys govern this tab: the version selector, the resource limits form, the FPM pool settings, and the two ini editors (which share one key) are each permission-gated, and a card you lack does not render. The plan lock on the three USER-role limits applies on top of these.