php - 将 $_GET 参数传递给 cron 作业

标签 php linux get cron

我是 cron 工作的新手,不确定这是否可行。

出于安全目的,我考虑制作一个单页脚本来查找某些 GET 值(用户名、密码和安全代码),以确保只有计算机和知道所有这 3 个值的人才能运行该命令。

我制作了脚本,它可以在浏览器中运行它,但是否可以使用 GET 值运行 cron 作业?

我运行就是一个例子

* 3 * * * /path_to_script/cronjob.php?username=test&password=test&code=1234

这可能吗?

最佳答案

$_GET[]$_POST[] 关联数组仅在通过 Web 服务器调用您的脚本时才被初始化。通过命令行调用时,参数在 $argv 中传递。数组,就像 C 一样。

Contains an array of all the arguments passed to the script when running from the command line.

你的命令是:

* 3 * * * /path_to_script/cronjob.php username=test password=test code=1234 

然后您将使用 parse_str()设置和访问参数:

<?php

var_dump($argv);

/*
array(4) {
  [0]=>
  string(27) "/path_to_script/cronjob.php"
  [1]=>
  string(13) "username=test"
  [2]=>
  string(13) "password=test"
  [3]=>
  string(9) "code=1234"
}
*/

parse_str($argv[3], $params);

echo $params['code']; // 1234

关于php - 将 $_GET 参数传递给 cron 作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11297945/

相关文章:

php - 将图像上传到数据库时出错

php - 文本框内容添加到 MySQL 数据库,然后显示在 PHP/HTML 文件中

linux - 有没有办法改变 symlink/proc/self/exe 的目标?

linux - 本地 yum repo 不更新包

php - jquery/php/mysql 采购订购系统需要帮助

php - PHP中的唯一和临时文件名?

javascript - 在弹出窗口中显示 php echo 输出

Python在子目录中打开文件-linux

post - 在 nginx 中是否可以将 POST 请求重写为 GET 请求?

PHP 的 preg_replace 在用空格替换下划线时返回 null