Especificando argumentos AppCmd com aspas simples

1

Estou tentando configurar um site no IIS no Windows 2016 usando appcmd.exe. Especificamente PHP e FastCGI. Estou correndo em um problema em que a especificação do parâmetro arguments com aspas simples falha. Eu não consigo descobrir como escapar disso ou que encantamento de citações é necessário. Aqui está o comando que funciona:

%windir%\system32\inetsrv\appcmd.exe set config /section:system.webServer/fastCGI /+"[fullPath='c:\php\php-cgi.exe', arguments='-d open_basedir=E:\Web\www.example.com;E:\Sessions\www.example.com;E:\Logs\www.example.com;E:\Temp\www.example.com', maxInstances='0', instanceMaxRequests='10000']" /commit:apphost

Com o open_basedir no Windows, preciso

-d open_basedir=E:\Web\www.example.com;E:\Sessions\www.example.com;E:\Logs\www.example.com;E:\Temp\www.example.com

para ser colocado entre aspas simples. Assim:

-d open_basedir='E:\Web\www.example.com;E:\Sessions\www.example.com;E:\Logs\www.example.com;E:\Temp\www.example.com'

Se eu criar o aplicativo FastCGI primeiro sem argumentos, posso adicioná-los depois assim:

%windir%\system32\inetsrv\appcmd.exe set config /section:system.webServer/fastCGI /[fullPath='c:\php\php-cgi.exe'].arguments:"-d open_basedir='E:\Web\www.example.com;E:\Sessions\www.example.com;E:\Logs\www.example.com;E:\Temp\www.example.com'" /commit:apphost

Esse problema é que não posso alterar configurações adicionais depois, porque não posso especificar o caminho entre aspas simples com appcmd.

Eu posso fazer isso com a GUI do Gerenciador do IIS e por meio do código C #. Então, é definitivamente possível definir dessa maneira. Eu simplesmente não consigo obter o formato correto para appcmd.

    
por Deviation 24.01.2018 / 16:16

0 respostas