Я пытаюсь запустить ANS-контейнер через веб-страницу, но не нашел решения, только частично.
У меня есть index.html
<html>
<body>
<form action="adduser.php" method="get">
Server: <input type="text" value="<?php echo $name?>" name="name"><br>
<input type="submit">
</form>
</body>
</html>
adduser.php
<code><?php
chdir("aatool");
echo getcwd();
$hosts = $_POST["name"];
echo "$hosts";
// $hosts = escapeshellarg($hosts);
//echo ".escapeshellarg($hosts)";
$output = shell_exec('sudo docker run -i --network=host centos7-ansible ansible-playbook --private-key=ky.pem --extra-vars admin_password=test -e hosts=".escapeshellarg($hosts)." chpass.yml');
echo "<pre>$output
";?>
Вывод веб-страницы:
/var/www/html/aatool PLAY RECAP *********************************************************************
Журналы Docker-контейнера:
PLAY RECAP *********************************************************************
Apache error_log:
[:error] [pid 40367] [client x.x.x.x:61812] PHP Notice: Undefined index: name in /var/www/html/adduser.php on line 4, referer: http://x.x.x.x/
Если я передаю значение hosts напрямую, например hosts = all, все работает отлично, но если я пытаюсь получить значение из формы php, оно не хочет работать. Я пробовал все, чтомог найти, и этот код дал мне лучший результат, но все еще не работает. Я надеюсь, что я найду некоторую помощь здесь
Спасибо.