Siempre debe confirmar que FastCGI reciclará localmente los registros de php-cgi.exe mucho antes de comenzar el reciclaje de PHP. La configuración de reciclaje del sistema FastCGI está determinada por el atributo de configuración. instanceMaxRequests.

Este atributo indica la cantidad de consultas que mantiene el sistema FastCGI antes de pasar por un proceso de reciclaje. PHP también tiene un atributo de reciclaje del sistema asociado que es administrado por la variable de preferencia PHP_FCGI_MAX_REQUESTS. Si configura instanceMaxRequests con un valor menor o igual a PHP_FCGI_MAX_REQUESTS, garantiza que no se activará la lógica de reciclaje del sistema PHP local.

La configuración de FastCGI se puede cambiar con el administrador de IIS o con la herramienta de línea de comando A. que se creará ppCmd.

R: Cómo configurar los ajustes de reciclaje de FastCGI mediante el Administrador de IIS

Paso 1: Confirme el paquete de administración para la instalación de IIS

Verifique que el Paquete de administración para IIS esté configurado en su servidor.

Para hacer esto, navegue hasta el Administrador de IIS y ábralo. Vaya al nivel del servidor y haga clic en Configuración de FastCGI dos veces.

Paso 2: Elija la aplicación FastCGI para configurar

Cuando seleccione la aplicación para configurar, vaya a la Comportamiento Panel y haga clic en la pestaña, Para editar.

Paso 3:

Configure los ajustes en la aplicación Edit FastCGI

Navega hasta In In Editar la aplicación FastCGI Cuadro de diálogo, establezca el InstanceMaxRequestsa 10,000. Posterior a la EnvironmentVariablesConfiguración, haga clic en Examinar () Pestaña.

Paso 4: incorpore la configuración PHP_FCGI_MAX_REQUESTS

Ir Editor de la colección EnvironmentVariables Cuadro de diálogo, integre el PHP_FCGI_MAX_REQUESTS Variable de entorno y configúrela con 10,000 Valor.

Si no los configura, estas configuraciones-: instanceMaxRequests= 200,
PHP_FCGI_MAX_REQUESTS= 500 (para la mayoría de las compilaciones de PHP) están integrados de forma predeterminada.

B: Configure el reciclaje FastCGI desde la línea de comando

Para ver el comportamiento de reciclaje de FastCGI y PHP usando. configurar AppCmd implementar las siguientes pautas:

Copia de consola

C:>%windir%system32inetsrvappcmd set config -section:system.webServer/fastCgi /[fullPath="c:{php_folder}php-cgi.exe"].instanceMaxRequests:10000
 
C:>%windir%system32inetsrvappcmd.exe set config -section:system.webServer/fastCgi /+"[fullPath="C:{php_folder}php-cgi.exe"].environmentVariables.[name="PHP_FCGI_MAX_REQUESTS",value="10000"]"

Consideración del control de versiones de PHP

La mayoría de las aplicaciones PHP dependen de funciones o características a las que se puede acceder a través de ciertas versiones de PHP. Si desea alojar estas aplicaciones en un solo servidor, deberá configurar diferentes versiones de PHP para que se ejecuten en paralelo. El controlador IIS FastCGI tiene soporte completo para ejecutar muchas versiones de PHP en un único servidor web.

Suponga que tiene la intención de ejecutar PHP 4.4.8, PHP 5.2.1 y PHP 5.2.5 no seguro para subprocesos en su servidor. Para que se aplique la configuración, debe colocar los archivos binarios PHP apropiados en diferentes carpetas del sistema de archivos (por ejemplo, C: php448, C: php521 y C: php525nts) y luego generar grupos de sistemas de aplicaciones FastCGI para cada edición de PHP:

Copia de consola

C:>%windir%system32inetsrvappcmd set config /section:system.webServer/fastCGI /+[fullPath="c:php448php.exe"]
 
C:>%windir%system32inetsrvappcmd set config /section:system.webServer/fastCGI /+[fullPath="c:php521php-cgi.exe"]
 
C:>%windir%system32inetsrvappcmd set config /section:system.webServer/fastCGI /+[fullPath="c:php525ntsphp-cgi.exe"]

Si administra tres sitios web (sitio1, sitio2, sitio3) y cada uno de ellos necesita usar su propia edición PHP, puede especificar asignaciones de controladores en cada uno de estos sitios que se utilizarán como referencia para la aplicación FastCGI correspondiente, Grupo de sistemas, o Sin embargo, tenga en cuenta que cada grupo de sistemas FastCGI se reconoce específicamente con una combinación de atributos fullPath y argumentos.

Copia de consola

C:>%windir%system32inetsrvappcmd set config site1 -section:system.webServer/handlers /+"..[name="PHP448_via_FastCGI",path="*.php",verb='*',modules="FastCgiModule",scriptProcessor="c:php448php.exe",resourceType="Either"]
 
C:>%windir%system32inetsrvappcmd set config site2 -section:system.webServer/handlers /+"..[name="PHP521_via_FastCGI",path="*.php",verb='*',modules="FastCgiModule",scriptProcessor="c:php521php-cgi.exe",resourceType="Either"]
 
C:>%windir%system32inetsrvappcmd set config site3 -section:system.webServer/handlers /+"..[name="PHP525nts_via_FastCGI",path="*.php",verb='*',modules="FastCgiModule",scriptProcessor="c:php525ntsphp-cgi.exe",resourceType="Either"]

Habilitar la configuración de PHP por sitio

En esta parte de la guía, aprenderá cómo habilitar la configuración de PHP por sitio.

Grupos de procesos PHP por sitio

Si todos sus sitios web tienen un grupo de aplicaciones único, que a menudo es el estándar para ejecutar un sitio web en IIS, es probable que se asocie un grupo de procesos FastCGI dedicado con cada uno de sus sitios web. Un grupo de sistemas FastCGI solo se reconoce cuando se fusiona ruta completa y Argumentos Propiedades.

Si necesita generar muchos grupos de procesos FastCGI para ese proceso ejecutable en particular como php-cgi.exe, puede usar el Argumentos para diferenciar las definiciones del grupo de procesos.

En los sistemas php-cgi.exe, también puede usar el modificador -d para identificar una entrada INI para un proceso PHP. Puede utilizar este conmutador para configurar una configuración de PHP que garantice que los argumentos sean inimitables.

Por ejemplo, si tiene dos sitios web, el sitio web uno y el sitio web dos, que necesitan tener un conjunto diferente de configuraciones de PHP, los grupos del sistema FastCGI se pueden configurar con el siguiente comando:

XMLCopy

<fastCgi>
        <applicationfullPath="C:PHPphp-cgi.exe"arguments="-d open_basedir=C:WebsitesWebsiteone" />
        <applicationfullPath="C:PHPphp-cgi.exe"arguments="-d open_basedir=C:WebsitesWebsitetwo" />
</fastCgi>

En tal escenario, la configuración de PHP es open_basedir se utiliza para diferenciar entre las definiciones de agrupaciones de sistemas. La configuración también muestra que para cada uno de los grupos de procesos, la implementación de PHP puede ejecutar procesos de archivos directamente en la carpeta raíz del sitio web resultante.

Después de eso, el sitio web1 tiene la asignación del controlador PHP que se muestra a continuación:

XMLCopy

<system.webServer>
        <handlersaccessPolicy="Read, Script">
            <addname="PHP via FastCGI"path="*.php"verb="*"modules="FastCgiModule"scriptProcessor="C:PHPphp-cgi.exe|-d open_basedir=C:WebsitesWebsiteone"resourceType="Unspecified"requireAccess="Script" />
        </handlers>
</system.webServer>

y el sitio web dos podría tener el mapeo del controlador PHP que se muestra a continuación:

XMLCopy

<system.webServer>
        <handlersaccessPolicy="Read, Script">
            <addname="PHP via FastCGI"path="*.php"verb="*"modules="FastCgiModule"scriptProcessor="C:PHPphp-cgi.exe|-d open_basedir=C:WebsitesWebsitetwo"resourceType="Unspecified"requireAccess="Script" />
        </handlers>
</system.webServer>

Conclusión

La configuración de reciclaje de FastCGI se puede configurar a través del administrador de IIS o desde la línea de comandos. Hemos cubierto todo lo que necesita saber sobre el proceso en esta guía, brindándole consejos paso a paso sobre las cosas que debe hacer para hacerlo.

Echa un vistazo a estos 3 mejores servicios de alojamiento web