PHP Configuration
This page explains the PHP Configuration screen in the GoAdmio Admin Panel. It lets you adjust the global PHP directives that apply to every PHP version installed on the server, without editing php.ini files directly.
Location: Admin Panel → Server Management → PHP Configuration
Overview
The PHP Configuration page exposes the most commonly tuned PHP directives. Values set here are written into the server's PHP configuration and take effect for all PHP handlers (Apache mod_php, PHP-FPM, and CGI).
To manage which PHP versions are installed, see PHP Manager. To edit directives per hosting account, see MultiPHP Manager.
> Note: GoAdmio manages PHP configuration through templates. Direct edits to php.ini may be overwritten on the next rebuild. Use this page for global defaults.
Restore Default
The Restore Default button resets all directives on this page to GoAdmio's built-in defaults.
> Warning: This overwrites any custom values you have set. Note your current values before clicking Restore Default.
Directives
memory_limit
The maximum amount of memory a single PHP script may consume.
| Field | Description | Default |
|---|---|---|
| memory_limit | Maximum memory per PHP process. -1 means unlimited. | -1 |
> Warning: -1 (unlimited) means a runaway script can exhaust all server RAM. On shared servers, set a finite value (e.g., 256M or 512M) to protect other accounts.
disable_functions
A comma-separated list of PHP functions that are disabled for security.
| Field | Description | Default |
|---|---|---|
| disable_functions | Functions PHP is not allowed to call. | mail |
> Note: Disabling mail forces scripts to use SMTP instead of the local mail() function, which improves deliverability and prevents spam from scripts. Add more functions (e.g., exec, shell_exec, system) for tighter security on shared hosting.
max_execution_time
The maximum time, in seconds, a PHP script may run before being terminated.
| Field | Description | Default |
|---|---|---|
| max_execution_time | Seconds a script may execute. 0 means unlimited. | 600 |
> Tip: 600 seconds (10 minutes) is generous. Lower it (e.g., 60–120) on shared servers to prevent long-running scripts from tying up workers. Long-running tasks should use CLI or cron instead.
max_input_time
The maximum time, in seconds, PHP spends parsing input data (POST, file uploads).
| Field | Description | Default |
|---|---|---|
| max_input_time | Seconds to parse input. -1 means unlimited. | 600 |
> Tip: Should be less than or equal to max_execution_time. Large file uploads may need a higher value.
max_input_vars
The maximum number of input variables PHP accepts per request (GET, POST, COOKIE combined).
| Field | Description | Default |
|---|---|---|
| max_input_vars | Number of input variables per request. | 3000 |
> Tip: Increase this if large forms or e-commerce checkout pages silently drop fields. Raise to 5000–10000 for complex applications.
post_max_size
The maximum size of POST data PHP accepts, including file uploads.
| Field | Description | Default |
|---|---|---|
| post_max_size | Maximum POST body size. | 64M |
> Note: Must be larger than upload_max_filesize to allow uploads of the stated size.
upload_max_filesize
The maximum size of a single uploaded file.
| Field | Description | Default |
|---|---|---|
| upload_max_filesize | Maximum size per uploaded file. | 64M |
> Tip: For media-heavy sites, raise both upload_max_filesize and post_max_size together (e.g., 128M / 128M).
max_file_uploads
The maximum number of files that can be uploaded in a single request.
| Field | Description | Default |
|---|---|---|
| max_file_uploads | Files per request. | 100 |
> Tip: Reduce to 20–50 on shared servers unless a specific application needs more.
session.gc_maxlifetime
How long, in seconds, a PHP session may remain idle before being garbage-collected (deleted).
| Field | Description | Default |
|---|---|---|
| session.gc_maxlifetime | Session idle timeout in seconds. | 28800 (8 hours) |
> Tip: 28800 (8 hours) keeps users logged in for a workday. Lower it (e.g., 1440 for 24 minutes) for higher-security applications.
allow_url_fopen
Allows PHP scripts to open remote URLs as if they were local files (used by file_get_contents, fopen, etc.).
| Field | Description | Default |
|---|---|---|
| allow_url_fopen | On or Off. | On |
> Note: Many applications (WordPress updates, payment gateways) require this On. Turning it Off is more secure but breaks plugins and integrations that fetch remote content.
allow_url_include
Allows PHP to include/require remote files. This is a serious security risk and should almost always be Off.
| Field | Description | Default |
|---|---|---|
| allow_url_include | On or Off. | Off |
> Warning: Leave Off unless a specific application absolutely requires it. Remote includes are a common vector for remote code execution.
display_errors
Controls whether PHP errors are printed to the page.
| Field | Description | Default |
|---|---|---|
| display_errors | On or Off. | On |
> Warning: In production, set this to Off. Displayed errors can leak file paths, database credentials, and server internals to visitors. Log errors instead (see error_reporting and Service Status logs).
error_reporting
Bitmask controlling which error levels PHP reports.
| Field | Description | Default |
|---|---|---|
| error_reporting | Numeric error-level bitmask. | 5 |
Common values:
| Value | Reports |
|---|---|
| 0 | None |
| 1 | E_ERROR |
| 5 | E_ERROR \| E_WARNING \| E_PARSE (production-friendly) |
| E_ALL (32767) | Everything (development) |
> Tip: 5 is a reasonable production value. For debugging, temporarily set to E_ALL (32767) with display_errors On, then revert.
display_startup_errors
Controls whether PHP startup errors are displayed.
| Field | Description | Default |
|---|---|---|
| display_startup_errors | On or Off. | Off |
> Note: Keep Off in production. Only enable temporarily when diagnosing a PHP startup failure.
file_uploads
Enables or disables HTTP file uploads entirely.
| Field | Description | Default |
|---|---|---|
| file_uploads | On or Off. | On |
> Note: Disable only on servers that should not accept any uploads (rare). Most sites require this On.
zlib.output_compression
Enables PHP's built-in gzip output compression.
| Field | Description | Default |
|---|---|---|
| zlib.output_compression | On or Off. | Off |
> Tip: Leave Off if your web server (Apache mod_deflate or NGINX gzip) already compresses responses — double compression wastes CPU. Enable only when the web server is not handling compression.
How to Apply Changes
- Log in to the GoAdmio Admin Panel.
- Navigate to Server Management → PHP Configuration.
- Adjust the directives.
- Click Save.
- Rebuild the configuration and restart PHP: