ARGV和ARGC没有从CRON返回

时间:2018-06-20 19:15:34

标签: php cron cpanel argv argc

我很想从cron作业中获取argv和argc。这是在$ _SERVER中重新调整的内容,它们丢失了。

这是cron:

/usr/bin/php -q /home/uopynwrukuid/public_html/test_arg.php 2 200

这就是我得到的:

array(13) {
  ["SHELL"]=>
  string(31) "/usr/local/cpanel/bin/jailshell"
  ["MAILTO"]=>
  string(23) "email@email.com"
  ["USER"]=>
  string(12) "uopynwrukuid"
  ["PATH"]=>
  string(13) "/usr/bin:/bin"
  ["PWD"]=>
  string(18) "/home/h"
  ["LANG"]=>
  string(11) "en_US.UTF-8"
  ["SHLVL"]=>
  string(1) "1"
  ["HOME"]=>
  string(18) "/home/uopynwrukuid"
  ["LOGNAME"]=>
  string(12) "uopynwrukuid"
  ["_"]=>
   string(12) "/usr/bin/php"
  ["PHP_SELF"]=>
  string(0) ""
  ["REQUEST_TIME_FLOAT"]=>
  float(1529521741.2111)
  ["REQUEST_TIME"]=>
  int(1529521741)
}

有人知道为什么会这样吗?该脚本在某个时候起作用了,现在已经坏了。

1 个答案:

答案 0 :(得分:1)

注意到您正在从Shell中运行CPanel,CPanel习惯将php-cgi用作/ usr / bin / php而不是php-cli。

php -v应该返回一个版本和括号中的(cli),例如:

PHP 7.0.27 (cli) (built: Jan  9 2018 12:43:14) ( NTS )

如果改为看到cgi或fcgi,则需要找到实际cli版本的路径。我相信这通常位于cpanel服务器上的/ usr / local / bin / php。