0
PowerShellタスクをバックグラウンドで実行するためにPHPで基本的なWebサイトを作成しようとしています。PHP shell_exec基本的なPowerShellスクリプトを実行するために30秒以上かかる
<?php
session_start();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Maintenance Page</title>
</head>
<body>
<?php
// Path to the PowerShell script. Remember double backslashes:
$psScriptPath = "C:\\xampp\\htdocs\\SetAHMaintModeON.ps1";
// Execute the PowerShell script, passing the parameters:
$query = shell_exec("powershell -command $psScriptPath");
echo "Maintenance Mode is now enabled!";
?>
<form method="post" action="home.php">
<input type="submit" name="returnHome" value="Home" <?php
$_SESSION["siteState"] = "red"; ?>>
</form>
</body>
</html>
と呼ばなっているPowerShellのコード:
#Import Modules
Import-Module F5 -ErrorAction Stop -Global
#Declare variables
$LtmOne = "myltm.com"
$DataGroupName = "Maintenance_Mode"
$State ="off"
#Connect to F5 LTMs and set Maintenance Mode to on
Connect-F5 $LtmOne
Set-MaintenanceMode -Name $DataGroupName -State $State -Confirm:$false
私はPHPの外でこのスクリプトを実行すると、それは秒以内に実行される私のPHPファイルには、次のようになります。しかし、私はPHPの後ろに置くとすぐに、実行がシュートアップ。私が持っているコードの非効率性はありますか?私は決して熟練PHP開発者ではないので、その可能性のある悪いコードはそれを遅くしています。私が持っている唯一の他の選択肢は、.NETでこれをすべて書き直すことです。これは、PHPがはるかに簡単な学習曲線を持つようになりました。
"実行に30秒かかりますか"、または30秒後にタイムアウトして実行されているかわかりませんか? – TessellatingHeckler
はい – jnunham