---
title: "Update PHP-FPM directives and pool options"
method: POST
path: "/php_fpm_config_set"
tags: ["PHP-FPM"]
---

# Update PHP-FPM directives and pool options

`POST /php_fpm_config_set`

This function configures the PHP INI directives and pool options
for a system's or domain's PHP-FPM configuration.

**Important:**

When you disable the [Web Server role](https://go.cpanel.net/serverroles#roles), the system **disables** this function.

**Warning:**

We **strongly** recommend that you only activate Apache PHP-FPM if your server has at least 2 GB of RAM available, or
at least 30 MB of RAM per domain.  If you enable PHP-FPM on a server with less than the required RAM, your server may
experience severe performance issues.

## Request body

- object
  - `config` object[], required — An array of objects containing the PHP-FPM configuration values to validate or update.
    - `base_flag_name` string, required — A PHP INI directive or PHP-FPM pool option name. **PHP INI directives** * `allow_url_fopen` - The PHP configuration treats URLs as files. * `disable_functions` - Lists the functions that the system will disable. * `doc_root` - The PHP pages' document root. * `error_log` - The error log file. * `error_reporting` - The errors that the system reports on. * `log_errors` - Whether the system will log errors. * `short_open_tag` - Whether the system recognizes code between the <? and ?> tags as a PHP source. **Pool options** * `pm_max_children` - The maximum number of process pools that the PHP-FPM Master Process will generate to handle requests. * `pm_max_requests` - The maximum number of requests that the process pools can receive. * `pm_process_idle_timeout` - The amount of time, in seconds, that a pool process will wait for a request.
    - `trinary_admin_value` 0 | 1 | 2, required — Whether the PHP value is a PHP INI directive value (`php_value`), a PHP INI ADMIN value (`php_admin_value`), or a PHP-FPM pool option (`pm_*`). * `0` - A PHP-FPM-specific value (pool options). * `1` - A PHP INI ADMIN directive. A cPanel account user **cannot** override this directive. * `2` - A PHP INI directive. A cPanel account user can override this directive.
    - `value` string, required — An argument value for `base_flag_name` parameter.
  - `domain` string — A blank value or domain name whose PHP-FPM configuration you wish to set.
  - `validate_only` boolean — Whether the function request is for validation or to update the settings. * `true` - Only validate the configuration. * `false` - Validate and update the configuration.

## Response `200`

HTTP Request was successful.

- object
  - `metadata` object
    - `command` string — The method name called.
    - `reason` string — The reason the API function failed when the `metadata.result` field is 0. This field may display a success message when a function succeeds.
    - `result` 0 | 1 — * `1` - Success * `0` - Failed. Check the reason field for more details.
    - `version` integer — The version of the API function.

---

[API](https://skmtc.net/cpanel/apis/whm-api.md) · [All operations](https://skmtc.net/cpanel/apis/whm-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/cpanel/whm-api/revisions/3da41671c02c/schema)
