Php plus iis6.0 plus mysql plus windows server 2003 always causes the application address pool to crash and stop running?

  mysql, question

First describe the major premise:

The server is configured with windows server 2003 plus iis6 plus mysql plus php[isapi mode], and there are 13 virtual sites on the site, of which 4 are pure PHP script sites and the others are asp or asp.net sites, so the server is not so pure.

The question now is,

Of the four PHP sites, one is dzx! 2.5 The community system (A) built is a microblog platform (B) built by jishigou, a ucenter (C) built by UC Enter, and a program (D) written by himself.

When the above A, B, C and D create sites, the application address pools of their own programs respectively correspond to A1, B1, C1 and D1;

In the case of large changes in traffic and IP, site a’s A1 application address pool is always suspended for no reason, but other sites b, c and d can be accessed normally, and the current A1 needs to be recycled and released manually, even the World Wide Web Publishing Service service cannot be started normally. Looking at the login server, this prompt will always pop up (as shown in the following figure):

iis worker process 错误

The above error messages are all run in php plus iis plus isapi mode.

If php is replaced with fastcgi, the above situation will not occur, but fastcgi will always be full of threads, so a larger thread needs to be opened to solve this problem.

Finally, dzx used by Site A! 2.5 is a native system, the front end has not been modified, and the modified one is the back end.

Isapi is not recommended. It is recommended to usehttp://www.iis.net/download/FastCGI

C: \ windows \ system32 \ inetsrv \ fcgiext.ini content is for reference only

[Types]
 php=PHP
 
 [PHP]
 ExePath=D:\php\php-cgi.exe
 InstanceMaxRequests=10000
 EnvironmentVars=PHP_FCGI_MAX_REQUESTS:10000

Some key points in php.ini are for reference only.

output_buffering = On
 cgi.force_redirect = 0
 cgi.fix_pathinfo = 1
 fastcgi.impersonate = 1

Security considerations in php.ini

disable_functions = system,passthru,shell_exec,exec,popen,proc_open
 enable_dl = Off

In php.ini, try to set up independent temporary directories, etc.

upload_tmp_dir = "d:/tmp/uploadtemp/"
 session.save_path = "d:/tmp/sessiondata/"
 date.timezone = "Etc/GMT-8" ;  GMT+8
 mbstring.language = Neutral ;  Set default language to Neutral(UTF-8) (default)
 mbstring.internal_encoding = UTF-8 ;  Set internal encoding to UTF-8

It is recommended to use thread-safe php on windows platform, and it is recommended that all php sites use the same application pool.

If possible, don’t run php on the windows platform.