我安装让我们通过 acme.sh snap 包加密证书
https://github.com/acmesh-official/acme.sh
我想知道是否有任何方法可以通过 PHP 默认 shell_exec() 命令自动安装证书。
当通过 SSH 登录时,这个用于获取证书的 shell 命令可以正常工作
acme.sh --issue --dns dns_gd -d example.com -d *.example.com
但是,如果我通过 PHP shell_exec 调用相同的命令,它总是会抛出一个错误
$domainName = 'example.com';
$initCommand = "acme.sh --issue --dns dns_gd -d $domainName -d *.$domainName";
$output = shell_exec("$initCommand 2>&1 | tee -a /var/www/html/sshout.txt 2>/dev/null >/dev/null &");
sshout.txt - 我在 sshout 上得到的输出如下
ssh: 1: /home/ubuntu/.acme.sh: Permission denied
sudo: no tty present and no askpass program specified
是否可以通过这种方式获得证书?
或者任何其他方式通过 PHP 自动化它?通过设置 cron,或创建一个 bash 脚本并从 PHP 调用它?
我在 apache 服务器上的 ubuntu 18 上运行 PHP 7.2。