【发布时间】:2016-09-17 15:57:30
【问题描述】:
我们正在尝试使用 php 在 aws ec2 ubuntu 实例上自动化网站部署。
所以要在 aws ec2 ubuntu 实例上部署网站,我们必须遵循以下步骤
- 在 www 文件夹中创建文件夹
- 使 conf 文件站点可用
- 执行 a2ensite
- 重启apache
- 创建数据库
- 创建用户并授予所有访问权限
我正在尝试使用 PHP 做所有事情。所以我坚持执行以下代码的第一步
echo shell_exec("sudo mkdir /var/www/{$_POST['environment']} 2>&1");
echo shell_exec("sudo mkdir /var/www/{$_POST['environment']}/{$_POST['site']}/public_html 2>&1");
echo shell_exec("sudo mkdir /var/www/{$_POST['environment']}/{$_POST['site']}/ssls 2>&1");
echo shell_exec("sudo mkdir /var/www/{$_POST['environment']}/{$_POST['site']}/conf 2>&1");
echo shell_exec("sudo mkdir /var/www/{$_POST['environment']}/{$_POST['site']}/sqls 2>&1");
但出现以下错误
sudo: no tty present and no askpass program specified
我搜索了一些替代方案(在我的脑海中)
- 将密码设置为 sudo(在 google 上没有得到任何信息)
- 使用 PHP 库连接 ec2(库可用但不知道如何执行命令)
提出任何建议。
【问题讨论】:
-
您使用的是什么用户? root 还是别的什么?
-
@error2007s,我正在使用 php,所以它的 www:data 在 whoami 中。你问的是这个吗?
-
对于什么命令你会得到这个错误? sudo: 没有 tty 并且没有指定 askpass 程序
-
@error2007s,
sudo: no tty present and no askpass program specified是错误
标签: amazon-ec2 ubuntu-14.04 lamp sudo aws-sdk