Este artículo le muestra cómo habilitar la configuración de PHP en su sitio. Es una buena práctica de IIS crear un grupo de aplicaciones para cada sitio web. Ahora, si puede tener su propio grupo de aplicaciones, sería una tarea muy sencilla asignar un grupo de procesos FastCGI a uno de estos sitios. Por lo tanto, los Argumentos y ruta completa Las propiedades le ayudan a identificar claramente un grupo de procesos FastCGI.
Habilitar la configuración de PHP basada en la ubicación
Si necesita generar muchos grupos de procesos FastCGI para cada proceso ejecutable como php-cgi.exe, puede usar el Argumentos Elemento para diferenciar la definición de cada uno de sus pools de procesos. Al usar los protocolos php-cgi.exe, también puede usar el interruptor de línea de comando “-d” para delimitar el acceso INI para un protocolo PHP. Cuando usa este modificador para configurar una configuración de PHP, puede hacer que el hilo del argumento sea único.
Por ejemplo, si necesita dos sitios web “sitio web1” y “sitio web2” para delinear sus propias configuraciones diferentes para PHP, puede definir los grupos de sistemas FastCGI como se muestra a continuación:
<fastCgi> <applicationfullPath="C:PHPphp-cgi.exe"arguments="-d open_basedir=C:WebsitesWebsite1" /> <applicationfullPath="C:PHPphp-cgi.exe"arguments="-d open_basedir=C:WebsitesWebsite2" /> </fastCgi>
En nuestra ilustración aquí, hemos utilizado la configuración de PHP open_basedir para distinguir cada una de las definiciones del grupo de procesos. También se aplica mediante la configuración de que el PHP que se puede ejecutar en cada grupo de procesos individual solo puede realizar operaciones de archivo que están vinculadas dentro de la carpeta raíz del sitio web correspondiente.
A continuación se muestra un mapeo de un controlador PHP para el sitio web 1:
<system.webServer> <handlersaccessPolicy="Read, Script"> <addname="PHP via FastCGI"path="*.php"verb="*"modules="FastCgiModule"scriptProcessor="C:PHPphp-cgi.exe|-d open_basedir=C:WebsitesWebsite1"resourceType="Unspecified"requireAccess="Script" /> </handlers> </system.webServer>
A continuación también se muestra un mapeo de un controlador PHP para el sitio web 2:
<system.webServer> <handlersaccessPolicy="Read, Script"> <addname="PHP via FastCGI"path="*.php"verb="*"modules="FastCgiModule"scriptProcessor="C:PHPphp-cgi.exe|-d open_basedir=C:WebsitesWebsite2"resourceType="Unspecified"requireAccess="Script" /> </handlers> </system.webServer>
Especificando la ubicación de php.ini
Al comienzo del proceso de PHP, determina la ubicación del archivo php.ini, que se utiliza en configuraciones con numerosas configuraciones, como la variable de entorno PHPRC. Para obtener una descripción completa del proceso para poner PHP en funcionamiento, comuníquese con el Documentación PHP. La variable de entorno PHPRC es uno de los lugares donde el proceso PHP busca php.ini. En una situación en la que un archivo de proceso PHP encuentra un archivo php.ini en el hilo proporcionado en esta variable de entorno, se utiliza.
Si no se encuentra, PHP revertirá el proceso para usar la ubicación predeterminada del archivo php.ini. Esta variable de entorno especial permite a los clientes de hosting utilizar sus propias versiones de archivo php.ini.
Un buen ejemplo es cuando se etiquetan dos sitios web Sitio web1 y Sitio web 2 se colocan en las rutas de archivo que se indican a continuación:
C: WebSiteswebsite1 y C: WebSiteswebsite2 puede usar los grupos de procesos php-cgi.exe en la sección
XMLCopy
<fastCgi> <applicationfullPath="C:PHPphp-cgi.exe"arguments="-d open_basedir=C:WebsitesWebsite1"> <environmentVariables> <environmentVariablename="PHPRC"value="C:WebSiteswebsite1" /> </environmentVariables> </application> <applicationfullPath="C:PHPphp-cgi.exe"arguments="-d open_basedir=C:WebSitesWebsite2"> <environmentVariables> <environmentVariablename="PHPRC"value="C:WebSiteswebsite2" /> </environmentVariables> </application> </fastCgi>
Por lo tanto, siguiendo este patrón, Website1 puede tener una versión de archivo php.ini única que se almacena en el C: sitio web sitio web1, y el sitio 2 puede tener su propia versión de archivo php.ini única que se encuentra en el C: sitio web website2. PHP usa el archivo php.ini predeterminado, que se encuentra en la misma carpeta que la ubicación de php-cgi.exe, si se encontró un archivo php.ini ubicado en la carpeta en particular no en uno especificado por la variable de entorno PHPRC Location.