Webページ内で実行したいいくつかのpythonスクリプトに関連付けられたbashスクリプトがあり、作成したファイルをページにcatします。現在、スクリプトをまったく実行できず (スクリプトが実際に機能していることを確認するためにスクリプトを複数回テストしました)、エラーの場所を見つけることができないようです。最初のコード セットは、/var/www にある「dashboard.php」ファイルからのものです。スクリプトのパーミッションを 777 に変更し、実行可能にしました。
<html>
<body>
<form action="welcome.php" method="post">
IP/CIDR Input: <input type="text" name="cidriptext" />
Single IP: <input type="checkbox" name="singlech" value="single" />
CIDR Range: <input type="checkbox" name="cidrch" value="cidr" />
<input type="submit" value="Submit">
</form>
<form action="welcome.php" method="post">
List of IP's: <input type="text" name="listname" />
<input type="submit" value="Submit">
</form>
</body>
</html>
この 2 番目のスクリプトは、フォームからの入力でスクリプトを実行するために到達するページ ('welcome.php') です。この時点で$listname_text
、 が適切に動作するとは思いませんが、ボックスがチェックされていないときに「不正な入力」エラーが発生し、最後に「テスト」出力が発生し、バックエンドでファイルが作成されることは予想されます。
<?php
$ipcidr_text = $_POST['cidriptext'];
$listname_text = $_POST['listname'];
if !(empty($listname_text):
shell_exec('/var/www/getStarted -l $ipcidr_text');
$output0 = shell_exec('echo "List of IP's"');
echo "<pre>$output0</pre>";
elseif (isset($_POST['cidrch'])):
shell_exec('/var/www/getStarted -c $ipcidr_text');
$output1 = shell_exec('echo "CIDR Range"');
echo "<pre>$output1</pre>";
elseif (isset($_POST['singlech'])):
shell_exec('/var/www/getStarted -s $ipcidr_text');
$output2 = shell_exec('echo "Single IP"');
echo "<pre>$output2</pre>";
else:
$output = shell_exec('echo "Incorrect input"');
echo "<pre>$output</pre>";
endif;
$testing = shell_exec('echo "testing"');
echo "<pre>$testing</pre>";
?>
PHP は動作しています。基本的なスクリプトを実行できます。
<?php
$output = shell_exec('echo "Incorrect"');
echo "<pre>$output</pre>";
?>
さらに情報が必要な場合は、お知らせください。どんな助けにも感謝します!