Categories: cPanel

Enable custom PHP in cPanel server with PHP CGI

Enable custom PHP in cPanel server with PHP CGI. Using any of the above mentioned methods you can confirm the PHP handler in your server. Now you can follow the steps mentioned below to know how to set up custom php.ini file in a server with PHP CGI handler.

1. Enter into the cgi-bin folder of the account for which you need to enable custom php.ini

# cd /home/user/public_html/cgi-bin

2. Copy the default php.ini file from the server to this location.

# cp /usr/local/lib/php.ini /home/user/public_html/cgi-bin/

To make sure the custom php works without any problem you can change any PHP variable from the default to value to any custom value. Here I’m changing the value of memory_limit.

# memory_limit = 64M

3. Create php.cgi file to load custom php.ini

# root@server [~]# vi /home/user/public_html/cgi-bin/php.cgi

Now paste the following code into this file:

#!/bin/sh
/usr/local/cpanel/cgi-sys/php5 -c /home/user/public_html/cgi-bin/

Now the php.cgi file should look like as follows:

# root@server [/home/user/public_html/cgi-bin]# cat php.cgi
#!/bin/sh
/usr/local/cpanel/cgi-sys/php5 -c /home/user/public_html/cgi-bin/

4. Now make the file executable.

# chmod +x /home/user/public_html/cgi-bin/php.cgi

5. Correct the ownership of the files to the user

# chown -R user:user /home/user/public_html/cgi-bin/

6. Edit .htaccess to point to this php.cgi wrapper. Put the following code into your .htaccess file in the public_html folder of the account.

# Action application/x-httpd-php5 /cgi-bin/php.cgi

Now your .htaccess file will look like as follows:

# root@server [/home/user/public_html]# cat .htaccess 
Action application/x-httpd-php5 /cgi-bin/php.cgi

Now you can check whether the custom php.ini file is working using a test php info page:

# root@server [/home/user/public_html]# vi phpinfo.php

Put the following code in it:

<?php phpinfo(); ?>

7. Correct the ownership of the file to the user:

# root@server [/home/user/public_html]# chown user. phpinfo.php

Now you can test the phpinfo file by browsing it as domain.com/phpinfo.php. Now check the “Loaded configuration file” in the phpinfo page. It should be like “/home/user/public_html/cgi-bin/php.ini”.

That’s it!!!


Vishwajit Kale
Vishwajit Kale blazed onto the digital marketing scene back in 2015 and is the digital marketing strategist of Hostripples, a company that aims to provide affordable web hosting solutions. Vishwajit is experienced in digital and content marketing along with SEO. He's fond of writing technology blogs, traveling and reading.

Recent Posts

AI – Powered Customer Support in Hosting: Chatbots & Virtual Assistants

Customer support has always been the backbone of the web hosting industry. From helping users set up domains to troubleshooting…

2 weeks ago

ChatGPT: Your Ultimate AI Content Generation Tool

Content is the most vital asset for businesses navigating the digital era. But creating high-quality, engaging content consistently can be…

4 weeks ago

Discover Ollama: How It Works, Features & Everything?

Welcome to the exciting world of Ollama, a revolutionary open-source tool that's democratizing access to Large Language Models (LLMs). If…

1 month ago

Connecting to Amazon EC2 via WinSCP (SFTP): A Complete Guide

Managing files on your Amazon EC2 instances can often feel like navigating a complex maze, especially when you prefer a…

2 months ago

How Can I Connect to a Database with MySQL Workbench?

Welcome to the world of database management with MySQL Workbench! If you're new to databases or looking for a powerful,…

2 months ago