+1 pour @ahmelsayed sa réponse. Mais vous pouvez créer plusieurs applications FastCGI dans IIS, avec différents fichiers php.ini facilement avec Appcmd. Mais seulement un handler/php.ini par pool d'application, voir :
Mettez en place deux applications FastCGI :
Appcmd.exe set config /section:system.webServer/fastCGI
/+"[fullPath='c:\php5\php-cgi.exe', arguments='-c c:\php5\php.site1.ini'],
maxInstances='0', idleTimeout='300', activityTimeout='70',
requestTimeout='90', instanceMaxRequests='9999',
protocol='NamedPipe', flushNamedPipe='False']" /commit:apphost
Appcmd.exe set config /section:system.webServer/fastCGI
/+"[fullPath='c:\php5\php-cgi.exe', arguments='-c c:\php5\php.site2.ini',
maxInstances='0', idleTimeout='300', activityTimeout='70',
requestTimeout='90', instanceMaxRequests='9999',
protocol='NamedPipe', flushNamedPipe='False']" /commit:apphost
Chaque site web peut alors avoir son propre gestionnaire pour .php, pointant vers l'un des fichiers php.ini :
AppCmd.exe set config "site1.com" /section:system.webServer/handlers
"-+[name=`'PHP`',
path=`'*.php`',
verb=`'*`',
modules=`'FastCgiModule`',
scriptProcessor=`'c:\php5\php-cgi.exe|-c c:\php5\php.site1.ini`',
resourceType=`'File`',
allowPathInfo=`'true`',
requireAccess=`'Script`']"
AppCmd.exe set config "site2.com" /section:system.webServer/handlers
"-+[name=`'PHP`',
path=`'*.php`',
verb=`'*`',
modules=`'FastCgiModule`',
scriptProcessor=`'c:\php5\php-cgi.exe|-c c:\php5\php.site2.ini`',
resourceType=`'File`',
allowPathInfo=`'true`',
requireAccess=`'Script`']"
Si vous n'aimez pas la ligne de commande, vous pouvez bien sûr cliquer sur IIS Manager :) BTW, en supposant que les identités du pool d'applications et les permissions de fichiers NTFS soient correctement configurées, je pense qu'il n'est pas nécessaire d'utiliser open_basedir.
Edit : Deux références : https://www.saotn.org/php-wincache-on-iis/ y https://www.saotn.org/custom-php-version-iis-express-webmatrix3/ pour montrer comment ajouter plusieurs applications FastCGI + PHP dans IIS.