The Difference Between PHP as Apache Module and CGI Binary?

Share this post on:

Let’s suppose PHP is a computer program that, when text is sent, translates the whole thing into a matrix and returns it as output. There are two different ways that we can run this program:

  • We can integrate it into a larger program in order to make the original one a module of that larger program.
  • We can make it a standalone system which we can call whenever we need to convert text to uppercase.

If we want to use the capabilities of PHP as mentioned above, we can run it in two ways. Let us talk in full detail about the two.

As an Apache Module

Other programs may be incorporated as part of Apache. So when it’s merged with PHP, what PHP can do is built into Apache. PHP is therefore regarded as an Apache module.

As a CGI

If we install a standalone version of PHP on the web server, Apache will not know how to execute PHP code. What it does know is how to call another computer program and then get the output.

Configuration

Apache: It can modify certain PHP sessions found in the .htaccess file because PHP is not separate from Apache. In a shared hosting environment, this means that you can override some php.ini master settings.

CGI: Apache can not alter the configuration of PHP since it is not part of Apache. If you don’t install suPHP, each user can not override the settings.

Please visit also:  How to optimize Apache Server for Better Performance

Efficiency

Apache: This is faster since PHP is ready to run.

CGI: The PHP program has to be read from memory, parsed and then compiled each time a request is made, making this option slower.

Security

Apache: Being a part of Apache, PHP is launched one-time and runs continuously, so you can’t run it as any other user except for nobody. With user nobody, you have to loosen permissions so it can write to your files.

CGI: With suPHP, PHP is run as the actual userID. Since PHP runs this way, you don’t have to loosen permissions for it to write to your files. And since it runs as you, it won’t be able to access other files of other accounts on a shared server, thus reducing security risks.

Author: Nohman Habib

I basically work in the CMS, like Joomla and WordPress and in framework like Laravel and have keen interest in developing mobile apps by utilizing hybrid technology. I also have experience working in AWS technology. In terms of CMS, I give Joomla the most value because I found it so much user freindly and my clients feel so much easy to manage their project in it.

View all posts by Nohman Habib >

Leave a Reply

Your email address will not be published. Required fields are marked *

PHP Code Snippets Powered By : XYZScripts.com