Websites
PHP settings
The PHP version, memory, workers, timeouts and security settings your sites run with.
On this page
Your websites run on PHP 8.5 with MariaDB databases. Each hosting account has its own PHP service that runs as your own account user, inside your plan's CPU and memory limits. This page lists the settings that service uses, so you can check whether an app or plugin will fit.
Before you start#
- This applies to web hosting plans (Spark, Starter, Pro, Business, Scale). Python compute plans do not run PHP.
Per-plan PHP settings#
| Plan | Memory per PHP request (memory_limit) | PHP workers at once | Plan memory |
|---|---|---|---|
| Spark | 128 MB | 4 | 256 MB |
| Starter | 256 MB | 8 | 512 MB |
| Pro | 256 MB | 16 | 1 GB |
| Business | 256 MB | 32 | 2 GB |
| Scale | 256 MB | 32 | 4 GB |
- Memory per request is half your plan's memory, at least 64 MB and at most 256 MB.
- PHP workers is how many PHP requests run at the same time. Workers start when requests arrive and stop after 30 seconds of idle time, so a quiet site uses almost no memory. Extra requests wait in a queue.
- All workers together share your plan's memory. A request that would push the account over its memory limit is stopped; see Plan limits.
Settings that are the same on every plan#
| Setting | Value | What it means for you |
|---|---|---|
max_execution_time, max_input_time | 60 s | A script may run for 60 seconds, which is also how long the web server waits for a reply. Any request still running at 120 s is stopped. Move long tasks to a Python app job. |
upload_max_filesize, post_max_size | 64 MB | One upload or form post can be up to 64 MB, the same as the web server's request limit. Upload bigger files over SFTP. |
| Request size (web server) | 64 MB | Larger requests are refused with 413 Request Entity Too Large before they reach PHP. |
max_input_vars | 3000 | Enough for large WordPress menus and WooCommerce product forms. |
open_basedir | your account folder | PHP can only open files inside your own account. |
| Temporary files and sessions | your account's tmp folder | Not shared with any other customer. |
disable_functions | exec, passthru, shell_exec, system, proc_open, popen, pcntl_exec | PHP cannot run programs on the server. |
allow_url_include | Off | PHP cannot include code from a URL. |
Common extensions are installed: MySQL (mysqli and PDO), cURL, GD, Imagick, mbstring, XML, Zip, intl and BCMath.
Check your PHP version and settings#
- Create a test file. On your computer, make a file called
info.phpcontaining the code below. - Upload it. Upload it with SFTP into
/sites/acme.in/public. - Open it. Visit
https://acme.in/info.phpand read the version and settings. - Delete it. Remove
info.phpstraight away. It reveals details that attackers like to see.
<?php phpinfo();Databases from PHP#
PHP connects to MariaDB on localhost with the database name and user shown in Databases. For a full example, see Databases.
Troubleshooting#
- "Allowed memory size of … bytes exhausted": the request needed more than your plan's per-request memory. Deactivate heavy plugins or upgrade your plan.
- "Maximum execution time exceeded" or a 504 Gateway Timeout: the request ran too long. Split the work into smaller steps, or run it as a Python job.
- "exec() has been disabled for security reasons": the plugin needs a disabled function. Look for an alternative plugin.
- Upload fails or "413 Request Entity Too Large": the file is over 64 MB. Upload it over SFTP instead.
- A long menu or form loses its last items when saved: it posts more than 3,000 fields (
max_input_vars). Split it into smaller menus or forms.
What's next#
Was this helpful?
Still stuck?
Email support@finitehost.com with your subscription ID (it starts with t, shown on the panel's Dashboard) and what you tried. A person replies, usually within one business day.
Last updated 27 October 2026. Found something wrong? Tell support@finitehost.com.