Passing $_GET parameters to cron job(将 $_GET 参数传递给 cron 作业)
问题描述
我是 cron 工作的新手,不确定这是否可行.
I am new at cron jobs and am not sure whether this would would work.
出于安全目的,我考虑制作一个单页脚本来查找某些 GET 值(用户名、密码和安全代码),以确保只有计算机和了解所有 3 个值的人才能运行该命令.
For security purposes I thought about making a one page script that looks for certain GET values (a username, a password, and a security code) to make sure that only the computer and someone that knows all 3 can run the command.
我制作了脚本并且它可以在浏览器中运行它,但是是否可以使用 GET 值运行 cron 作业?
I made the script and it works running it in a browser but is it possible to run the cron job with GET values?
一个例子是我跑步
* 3 * * * /path_to_script/cronjob.php?username=test&password=test&code=1234
这可能吗?
推荐答案
$_GET[]
&$_POST[]
关联数组仅在您的脚本通过 Web 服务器调用时初始化.当通过命令行调用时,参数在 $argv 中传递
数组,就像 C 一样.
The $_GET[]
& $_POST[]
associative arrays are only initialized when your script is invoked via a web server. When invoked via the command line, parameters are passed in the $argv
array, just like 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() 来设置和访问参数:
You would then use parse_str() to set and access the paramaters:
<?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
这篇关于将 $_GET 参数传递给 cron 作业的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:将 $_GET 参数传递给 cron 作业
基础教程推荐
- phpmyadmin 错误“#1062 - 密钥 1 的重复条目‘1’" 2022-01-01
- 如何在 Symfony 和 Doctrine 中实现多对多和一对多? 2022-01-01
- 如何在 XAMPP 上启用 mysqli? 2021-01-01
- Doctrine 2 - 在多对多关系中记录更改 2022-01-01
- 在 CakePHP 2.0 中使用 Html Helper 时未定义的变量 2021-01-01
- 找不到类“AppHttpControllersDB",我也无法使用新模型 2022-01-01
- HTTP 与 FTP 上传 2021-01-01
- PHP 守护进程/worker 环境 2022-01-01
- 使用 PDO 转义列名 2021-01-01
- 在 yii2 中迁移时出现异常“找不到驱动程序" 2022-01-01