我正在使用symfony2处理我的应用程序,并且我想制作一个可以在浏览器中运行的安装文件。安装文件要求用户提供一些数据,然后运行一个bash脚本,它会克隆git存储库,安装composer和所需的组件。
install.php了
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$directory = htmlspecialchars($_POST['directory']);
$db_loc = htmlspecialchars($_POST['db_loc']);
$db_name = htmlspecialchars($_POST['db_name']);
$db_user = htmlspecialchars($_POST['db_user']);
$db_password = htmlspecialchars($_POST['db_password']);
exec("bash c.sh $directory $db_loc $db_name $db_user $db_password", $output);
var_dump($output);
} else {
echo "
<form action='install.php' method='POST'>
//some html form content
</form>
";
}
?>
这是 c.sh
文件git init
git clone https://github.com/******** $1
cd $1
curl -sS https://getcomposer.org/installer | php
php composer.phar install
当我从putty运行带有必需参数的 c.sh 时,它运行正常,但是当我尝试运行 install.php 工作正常: php composer.phar install 。有没有办法让它在浏览器中工作或者我应该想一些不同的东西?谢谢你的回复!