Cronjob问题。不承认变量

时间:2012-06-11 17:36:29

标签: php cron crontab cpanel

使用:

php -q /home/site/public_html/cron/file.php

不起作用:

php -q /home/site/public_html/cron/file.php?variable=1

有什么建议吗?我需要将变量发送为$ _GET(或不是)

4 个答案:

答案 0 :(得分:1)

命令行参数在$argv而不是普通$_GET / $_POST - 数组

中传递

当然,这不适用于URI样式的参数(?variable=1 - 部分)。因此,您必须将其称为:php -q /path/to/script.php 1

作为替代方案,您可以使用getopt

<?php
$shortopts  = implode("", array(
    "v:"
));

$longopts  = array(
    "variable:",     // Required value
);


$options = getopt($shortopts, $longopts);
var_dump($options);

并将其称为php -q /path/to/script.php --variable=1

答案 1 :(得分:1)

做这样的事情

curl http://hostname/cron/file.php?variable=1

并在file.php中管理代码以获取$ _GET [variable]

这可以表现为一个简单的浏览器调用,但仅限于你的shell /终端

希望这有帮助

答案 2 :(得分:0)

解决这个问题最简单的方法(假设是public_html,好吧,公共WWW),就是让cron调用wget或curl来访问PHP文件,这样就可以正常处理URL变量。

答案 3 :(得分:-1)

-q表示没有头,所以我假设没有空间用于获取字段,至少我希望如此:D

格尔茨