Передача переменной throght PHP exec

Я использую команду php exec для выполнения другого файла.

Я использую следующее: exec ('php email.php');

но я хотел бы передать переменную с именем $ body в файл "email.php" через команду exec. Как передать переменную через команду exec?

Пропустите аргумент:

 exec('php email.php "' . addslashes($body) . '"'); 

Получите его в email.php :

 $body = stripslashes($argv[1]); 

Использование:

  exec ('php email.php firstparameter secondparameter thirdparameter'); 

Вы также можете обратиться к этому: Руководство по командной строке

Вы можете передать его как параметр для email.php

 exec('php email.php "'.addslashes($body).'"'); 

И email.php получите его с помощью

 $body = stripslashes($argv[1]); 

Но если $ body содержит длинный текст с причудливыми символами, лучше сохранить его во временный файл со случайным именем.

 <?php $temp_file = uniqid().'.txt'; file_put_contents($temp_file, $body); exec("php email.php $temp_file"); 

Затем в email.php получите $body из содержимого $temp_file .

2 способа передать параметры в php-скрипт из команды php exec:

 <?php $fileName = '/var/www/ztest/helloworld.php 12'; $options = 'target=13'; exec ("/usr/bin/php -f {$fileName} {$options} > /var/www/ztest/log01.txt 2>&1 &"); echo "ended the calling script"; ?> 

см. полный ответ (с помощью сценария и результатов)