Home > Backend Development > PHP Tutorial > Detailed graphic explanation of the three operating modes of PHP under Window_PHP tutorial

Detailed graphic explanation of the three operating modes of PHP under Window_PHP tutorial

WBOY
Release: 2016-07-21 15:07:01
Original
1018 people have browsed it

Whether PHP can successfully run on the Apache server depends on how we configure the running mode of PHP.

There are three main ways to run PHP so far:

a. Run by module loading. It may not be easy for beginners to understand. In fact, it is to integrate PHP into the Apache server and run it in the same process. run.

b. Run in CGI mode. CGI is called public gateway interface in English. When Apache encounters a PHP script, it will submit the PHP program to the CGI application (php-cgi.exe) for explanation. After the explanation The results are returned to Apache, which then responds to the requesting user.

c. Run in FastCGI mode. This form is an enhanced version of CGI. CGI is a single-process, multi-threaded running method. The program will be destroyed after execution, so the configuration and environment variables need to be loaded every time fork-and-execute (create-execute). FastCGI is different. FastCGI is like a long-live CGI. It can be executed all the time. As long as it is activated, it will not take time to fork every time. The FastCGI process manager initializes itself, starts multiple CGI interpreter processes (multiple php-cgi.exe visible in the task manager) and waits for connections from the Web Server. Next, I will configure these three operating modes separately:

1. No matter which of the above methods is used, the following configuration will usually be added. Unzip the PHP installation package to c:/PHP5/, and rename PHP.ini. -Recommend file is PHP.ini, find and edit the following fields respectively, remove the semicolon in front (be careful not to remove the wrong semicolon, many of them are comment information, identify them carefully).

Copy code The code is as follows:

error_reporting = E_ALL //Enable error reporting to facilitate programmer troubleshooting line 342
display_errors = On //Display errors line 373
extension_dir = "C:/php5/ext" //The directory where PHP's extension option file is located line 542
date.timezone = Asia/shanhai //Time zone configuration line 716


2. Run as a module, add the following configuration in the configuration file of Apache (C:/Program Files/Apache Software Foundation/Apache2.2/conf)

Copy code The code is as follows:

LoadModule php5_module "C:/php5/php5apache2_2.dll" //About line 127
PHPinidir "C:/php5/php.ini"
//Modify configuration
DirectoryIndex index.html index.php//Add index.php
AddType application/x-httpd-php .php // Add


around line 408. Then we create a new php file index.php under the root directory of apache, the default is C:/Program Files/Apache Software Foundation/Apache2.2/htdocs, edit and add The following code:

Copy code The code is as follows:

phpinfo();
?>


Then we enter http://localhost/ in the address bar and the following interface will appear: Pay attention to the relationship between the red part and the configuration

3. To run in cgi mode, the following configuration needs to be done. First, the php configuration file
Copy the code The code is as follows:

cgi.force_redirect = 0 //It was originally 1 and remove the comment symbol;


Modify the apache configuration and remove the original module configuration

Copy code The code is as follows:

AddType application/x-httpd-php .php
LoadModule php5_module "C:/php5/ php5apache2_2.dll"
PHPinidir "C:/php5/php.ini"


=>Add the following configuration
Copy code The code is as follows:

AddHandler cgi-script .cgi // line 396


Then we are in the directory C:/Program Files/ Apache Software Foundation/Apache2.2/cgi-bin Create a new cgi file test.cgi and write the following code:

Copy the code The code is as follows:

#!c:/php5/php-cgi.exe
php php phpinfo();
?>


If you open multiple ones at the same time, there will be many php-cgi.exe, and they will disappear after the execution is completed:

4. To run PHP in fastcig mode, you first need to download the fastcgi module. This module is not included by default, but cgi comes with it; the download address is http://httpd.apache.org /mod_fcgid/; Unzip and copy the mod_fcgid.so and mod_fcgid.pdb, and then make the following configuration:

Copy the code The code is as follows:

LoadModule fcgid_module modules/mod_fcgid.so // line 128 appended
FcgidInitialEnv PHPRC "c:/php5" //php configuration file line 129 appended
AddHandler fcgid-script .php // Add a handle or suffix to what kind of files require fastcgi interpretation line 407 append
FcgidWrapper "c:/php5/php-cgi.exe" .php //Interpreter path line 408
Options Indexes FollowSymLinks ExecCGI //line 221 Appending ExecCGI means that the directory allows the execution of CGI scripts


Whether the installation is successful, you only need to do a PHP file check. We will use the index.php file above:

Finally I have finished explaining how PHP runs. Beginners must try it out for themselves. This tutorial is difficult and requires repeated thinking to understand the meaning. It involves some professional knowledge. Of course You can directly use the module running mode for the time being. After you have a certain understanding of PHP, you can look back at this article. Today I spent a few hours sorting out the running mode of PHP. Due to the limited level of the author, Mistakes are inevitable!

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/327581.htmlTechArticleWhether PHP can successfully run on the Apache server depends on how we configure the running mode of PHP. There are three main ways to run PHP so far: a. Run by module loading,...
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template