在php文件上调用exec并传递参数?

Hai*_*ood 18 php variables exec

我想用exec调用一个php文件.

当我调用它时,我希望能够传递一个变量(一个id).

我可以打电话echo exec("php /var/www/unity/src/emailer.php");,但是我添加像echo exec("php /var/www/unity/src/emailer.php?id=123");exec调用之类的那一刻就失败了.

我怎样才能做到这一点?

Chr*_*ane 28

您的调用失败,因为您正在使用?parameter=value带有命令行调用的Web样式语法().我明白你在想什么,但它根本行不通.

你会想要使用$argv.请参阅PHP手册.

要查看此操作,请将此单行写入文件:

<?php print_r($argv); ?>
Run Code Online (Sandbox Code Playgroud)

然后使用参数从命令行调用它:

php -f /path/to/the/file.php firstparam secondparam
Run Code Online (Sandbox Code Playgroud)

您将看到$argv包含脚本本身的名称为元素零,后跟您传入的任何其他参数.

  • 这真是一个深刻的问题.如果你从命令行执行php --help,它会说:" - f <file> Parse并执行<file>." 但是因为PHP无论如何都这样做(没有调用-f选项),我想这是一个很好的问题:它是为了什么?:) (4认同)
  • 什么是-f param? (3认同)
  • 也许它对于那些必须传递旗帜的强迫症人士而言;) (3认同)