基本上我正在努力实现以下目标: 1.创建一个php表单来获取新的数据库名称和实例名称。 这是我的a.txt文件:
<form class = "myform" action="b.php" method="post">
<h1> Create new instance: </h1>
<br>
Term1 name: <input type = "textbox" id="dbname" name="dbname"></input>
Term2 name: <input type = "textbox" id="instancename" name="instancename"></input>
<button style "color:red;" type="submit" >create</button>
</form>
2。将这些参数传递给Shell脚本。这是我的b.php文件:
<?php
$a = $_POST["dbname"];
$b = $_POST["instancename"];
exec("./b.sh $a $b");
3。我的炮弹:
#!/bin/bash
mysqldump -u root -p'password' currentdb > /home/admin/mydb.sql
echo "create database" $1 | mysql -u root -p'password'
mysql -u root -p'password' $1 < /home/admin/mydb.sql
mkdir /var/www/instance/$2
chmod -R 777 /var/www/instance/$2
cp -r /var/www/instance/current/* /var/www/instance/$2/
cd /var/www/instance/$2/
sed -i 's/currentdb/$1/g' configuration.php
我能够获取我的shellcript的参数,但我的问题是,当我在表单上单击提交时,我的shellcript不会运行任何行。但是,如果我使用/.sh直接运行shellscript,通过用手动输入的值替换所有变量,它可以很好地工作。我怀疑我没有正确处理变量。请帮忙。