概述
搜索热词
我正在尝试自动配置
Windows 2012服务器,但我无法让
PHP工作.
这是我用来添加处理程序映射到IIS的命令:
New-WebHandler -Name "PHP-FastCGI" -Path "*.PHP" -Verb "*" -Modules "FastCgiModule" -ScriptProcessor "c:PHPphp-cgi.exe" -ResourceType File
这正确地添加了处理程序映射,到目前为止一直很好.
但是,我仍然需要为可执行文件手动创建FastCGI应用程序以使其工作.什么是PowerShell命令来自动执行此操作?我找不到任何指向正确方向的东西.
我正在研究同样的问题.此脚本将更新您的apphost配置以创建FastCGI进程池和处理程序映射.
import-module WebAdministration
###############################################################
# Adds a FastCGI process pool in IIS
###############################################################
$PHP = 'C:PHPphp-cgi.exe'
$configPath = get-webconfiguration 'system.webServer/fastcgi/application' | where-object { $_.fullPath -eq $PHP }
if (!$configPath) {
add-webconfiguration 'system.webserver/fastcgi' -value @{'fullPath' = $PHP }
}
###############################################################
# Create IIS handler mapping for handling PHP requests
###############################################################
$handlerName = "PHP 7.0.12"
$handler = get-webconfiguration 'system.webserver/handlers/add' | where-object { $_.Name -eq $handlerName }
if (!$handler) {
add-webconfiguration 'system.webServer/handlers' -Value @{
Name = $handlerName;
Path = "*.PHP";
Verb = "*";
Modules = "FastCgiModule";
scriptProcessor=$PHP;
resourceType='Either'
}
}
###############################################################
# Configure the FastCGI Setting
###############################################################
# Set the max request environment variable for PHP
$configPath = "system.webServer/fastCgi/application[@fullPath='$PHP']/environmentVariables/environmentVariable"
$config = Get-WebConfiguration $configPath
if (!$config) {
$configPath = "system.webServer/fastCgi/application[@fullPath='$PHP']/environmentVariables"
Add-WebConfiguration $configPath -Value @{ 'Name' = 'PHP_FCGI_MAX_REQUESTS'; Value = 10050 }
}
# Configure the settings
# Available settings:
# instanceMaxRequests,monitorChangesTo,stderrMode,signalBeforeTerminateSeconds
# activityTimeout,requestTimeout,queueLength,rapidFailsPerMinute,# flushNamedPipe,protocol
$configPath = "system.webServer/fastCgi/application[@fullPath='$PHP']"
Set-WebConfigurationProperty $configPath -Name instanceMaxRequests -Value 10000
Set-WebConfigurationProperty $configPath -Name monitorChangesTo -Value 'C:PHPPHP.ini'
# Restart IIS to load new configs.
invoke-command -scriptblock {iisreset /restart }
总结
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
最后
以上就是昏睡鞋垫为你收集整理的powershell执行php,php – 使用PowerShell创建FastCGI应用程序的全部内容,希望文章能够帮你解决powershell执行php,php – 使用PowerShell创建FastCGI应用程序所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复