如何将参数传递给 bat 文件中的 php 脚本

How do I pass parameters to a php script in a bat file

我正在尝试添加一个脚本来跟踪某些统计信息并每 24 小时通过电子邮件将我发送到 windows 任务计划程序。

我的方法是使用 bat 文件。

脚本 运行 每分钟发送一次,但仅在我添加 email=true 时发送一封电子邮件。

过去我曾经 运行 通过 xampp 和 URL: http://localhost/path/here/script.php?email=true

我正在尝试从 windows 任务计划程序做同样的事情,但我不知道如何添加这个参数。

我的 bat 文件包含:

@ECHO OFF
C:\xampp\php\php.exe -f "C:\xampp\htdocs\path\here\script.php?email=true"

但这似乎并不能解决问题。

提前感谢任何能够提供帮助并阐明如何正确完成此操作的人。

CLI 参数的工作方式不同。你可以运行它作为

C:\xampp\php\php.exe -f "C:\xampp\htdocs\path\here\script.php" -- email=true

注意第一个 --,它将 php.exe 参数与脚本参数分开。

但这还不够,因为参数现在存储在 $argv 数组中。所以您可以将其检查为 $sendEmail = in_array('email=true', $argv);.

或者(您需要更多选项),您可以使用 getopt.

如果您需要它在 $_GET 中,也请查看此 SO answer