繁体   English   中英

(PHP) 将 shell_exec() 中的多个参数传递给 bash 脚本

[英](PHP) Passing multiple parameters within shell_exec() to bash script

我正在尝试通过 PHP 通过 Ansible 发送 email。

我的 PHP 脚本包含以下代码:

$dest = "myemail@company.com";
$oggetto = "Test subject";
$corpo = "Test email body";
shell_exec("//opt/rh/httpd24/root/var/www/html/cugo/runyaml.sh '$dest' '$oggetto' '$corpo'");

runyaml.sh 包含:

ansible-playbook /opt/rh/httpd24/root/var/www/html/cugo/mailSender.yml --extra-vars "destinatari=$dest oggetto=$oggetto corpo=$corpo"

而 mailSender.yml 包含:

-
  name: emailsender
  hosts: localhost
  tasks:
  -
    name: sendmail
    mail:
      host: xxx
      port: 25
      username: xxx
      password: xxx
      to: "{{ destinatari }}"
      from: automation@company.com
      subject: "{{ oggetto }}"
      body: "{{ corpo }}"
      subtype: html

不幸的是,邮件没有发送,而如果我在“mailSender.yml”中手动输入“to, subject, body”,那么一切正常。 我很确定我在传递参数的方式上做错了什么

尝试添加点“。” 连接变量

shell_exec("//opt/rh/httpd24/root/var/www/html/cugo/runyaml.sh '" . $dest."' '".$oggetto."' '".$corpo."'");

您还可以尝试打印接收到的参数以验证它们是否正确传递

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM