Knowledge Base » Blog Archive » WHM Tutorials MultiPHP Manager – Apache PHP-FPM

WHM Tutorials MultiPHP Manager – Apache PHP-FPM

November 21st, 2018

This video shows you how to use Apache PHP-FPM in the MultiPHP Manager interface in WHM, for cPanel & WHM version 76.

Documentation Links:
* MultiPHP Manager – Apache PHP video: https://youtu.be/wBVVmrJ6SVs
* MultiPHP Manager for WHM documentation – https://documentation.cpanel.net/display/76Docs/MultiPHP+Manager+for+WHM
* Apache PHP-FPM documentation – https://documentation.cpanel.net/display/76Docs/PHP-FPM
* cPanel & WHM version 76 documentation: https://documentation.cpanel.net

Edited Transcript:
Howdy! This is Rosie Arcelay, a technical writer for cPanel, the hosting platform of choice. In this video, I will show you how to use Apache PHP-FPM in the MultiPHP Manager interface in WHM.

With MultiPHP Manager, you can manage the Apache PHP and PHP-FPM settings for your server. You can also edit individual Apache PHP and PHP-FPM settings for your cPanel users.

This video focuses on the Apache PHP-FPM settings in the MultiPHP Manager interface. View the link in the description to watch the Apache PHP video.

Let’s navigate to the MultiPHP Manager interface in WHM to get started.

Apache PHP-FPM is a PHP manager that allows your system to process website requests quickly. FPM stands for FastCGI Process Manager. Without PHP-FPM, Apache servers processes requests as they come, one at a time. PHP can take up to 1 second to get started. This is a long time for a website request to wait. If those website requests spike, Apache alone may not be fast enough to handle those requests.

When you enable Apache PHP-FPM, the PHP Master process starts up PHP instances for each domain in pools. Apache can respond to requests faster because the PHP instances help it to respond.

PHP-FPM pools are other processes that Apache creates to handle heavy loads. Each domain has process pools whose sole job is to wait for a request to arrive. The PHP-FPM Master Process manages these pools. When a request comes, Apache talks to the Apache PHP-FPM Master Process. The Master Process receives Apache’s request. Then, it directs the request to the pool process that will process it.

Since each domain will have its own pool, the processing requests happen quickly. The PHP applications for those domains will work faster. Your cPanel users’ websites will load faster and they will handle traffic spikes better than they would without Apache PHP-FPM.

Log in to WHM, then search for MultiPHP Manager. Or, find it under the Software section in the left menu.

You will find the system Apache PHP-FPM setting in the System PHP-FPM section. When you enable the system Apache PHP-FPM, your cPanel users’ new domains will use it by default. To enable, click the Turn On button.

If you have a new installation of cPanel & WHM version 76, your system Apache PHP-FPM may already be on by default. Once the system Apache PHP-FPM setting is on, two buttons appear. The “Turn Off” button disables the system Apache PHP-FPM. The “Convert All Accounts to PHP-FPM” button does what it says. It allows you to convert all your cPanel users’ domains to use Apache PHP-FPM.

Before you click this button, ensure that your server has at least 2 GB of RAM available and at least 30 MB of RAM available per domain. These guidelines will help you prevent server performance issues. Make sure that you have the right amount of memory before you convert all your domains to Apache PHP-FPM.

To change the Apache PHP-FPM setting for one domain, scroll down to the domains table. Find the domain that you want to change. In this case, the example dot com. At the end of the row, you’ll find the toggle under the PHP-FPM column. Set the toggle to On to enable Apache PHP-FPM, or to Off to disable it.

The Pool Options button will appear when you set the Apache PHP-FPM toggle to “On”. The Pool Options are resources that the PHP-FPM Master Process provides for a domain.
To edit the Pool Options, click the Pool Options button. A window will appear that shows the Max Children, Process Idle Timeout, and Max Requests settings. To change any of these settings, enter the new numbered setting in the appropriate text box. Then, click Save. For now, I’m keeping the default settings, so I will click cancel.

You can enable the Apache PHP-FPM setting for more than one domain. Find the domains that you want to edit in the domains table. Next, you have two options. You can set the toggle for both domains in the PHP-FPM column to on. Or, select the checkboxes. Then, scroll up to the Set PHP Version per Domain section. Select On from the PHP-FPM menu on the right. Then, click Apply.

You cannot turn on Apache PHP-FPM on domains that inherit their Apache PHP version. To enable Apache PHP-FPM for that domain, change the ‘inherit’ setting to any Apache PHP version.

Changes to Apache PHP-FPM may take up to 2 minutes to take effect.

For more information about cPanel, visit cPanel dot com. Or follows on Twitter, at cPanel. Thanks for watching!