【问题标题】:PHP Cpanel Cron with Argv带有 Argv 的 PHP Cpanel Cron
【发布时间】:2018-11-27 10:59:53
【问题描述】:

我有一个每天运行(一年多)的 cron 作业,但突然不工作了。

我有一个看起来像这样的 cron 作业:

/usr/bin/php -q /home/tcanfarotta22/public_html/test_arg.php low_customer=2 high_customer=200

然后是一个获取变量的 PHP 脚本,例如:

parse_str($argv[1], $params);
parse_str($argv[2], $params2);

$low_customer = $params['low_customer'];
$high_customer = $params2['high_customer'];

现在我收到以下错误:

[18-Jun-2018 10:38:01 America/New_York] PHP 通知:未定义 变量:在线/home/tcanfarotta22/public_html/test_arg.php中的argv 5 [18-Jun-2018 10:38:01 America/New_York] PHP 通知:未定义 变量:在线/home/tcanfarotta22/public_html/test_arg.php中的argv 6 [18-Jun-2018 10:38:01 America/New_York] PHP 公告:未定义 索引:low_customer 在 /home/tcanfarotta22/public_html/test_arg.php 上 第 8 行 [18-Jun-2018 10:38:01 America/New_York] PHP 通知:未定义 索引:/home/tcanfarotta22/public_html/test_arg.php 中的 high_customer 在第 9 行

什么都没有改变,所以我不确定该怎么做。有人知道吗?

【问题讨论】:

  • 该代码在函数中吗? stackoverflow.com/questions/30864332/…
  • 不——它不在函数中。这是一个较旧的网站。我正在使用 PHP 5.4 版
  • 使用 <?= phpinfo() ?> 检查 register_argc_argv 的值也请注意,出于性能原因,许多类似的功能已从 PHP
  • 它关闭了,我打开了它,但没有运气。同样的错误。
  • @JehadNasser 你知道 argv 的最佳替代品吗?

标签: php cron cpanel


【解决方案1】:

如果启用 register_argc_argv 并不能解决问题,那么您可能正在尝试在一个类中访问 $argv,在这种情况下,您需要先将其声明为全局,然后才能访问它:

global $argv;

顺便说一句,我已经测试了您的代码(由终端执行),它运行起来就像一个魅力。

如果这不能解决问题,那么您可能需要提供更多详细信息,我们还需要知道您是如何测试的?

【讨论】:

    猜你喜欢
    • 2015-10-18
    • 2011-04-01
    • 2015-06-06
    • 1970-01-01
    • 2021-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多