ARGV 和 ARGC 没有从 CRON 返回
ARGV and ARGC not returning from CRON
我正在尝试从 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)
}
有人知道为什么会这样吗?该脚本在某些时候起作用,现在已经坏了。
注意到您是来自 shell 的 运行 CPanel,CPanel 有一个奇怪的习惯,即使用 php-cgi 作为 /usr/bin/php 而不是 php- cli.
php -v
应该 return 一个版本和括号中的 (cli) 如:
PHP 7.0.27 (cli) (built: Jan 9 2018 12:43:14) ( NTS )
如果您看到的是 cgi 或 fcgi,那么您需要找到实际 cli 版本的路径。我相信这通常位于 cpanel 服务器上的 /usr/local/bin/php。
我正在尝试从 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)
}
有人知道为什么会这样吗?该脚本在某些时候起作用,现在已经坏了。
注意到您是来自 shell 的 运行 CPanel,CPanel 有一个奇怪的习惯,即使用 php-cgi 作为 /usr/bin/php 而不是 php- cli.
php -v
应该 return 一个版本和括号中的 (cli) 如:
PHP 7.0.27 (cli) (built: Jan 9 2018 12:43:14) ( NTS )
如果您看到的是 cgi 或 fcgi,那么您需要找到实际 cli 版本的路径。我相信这通常位于 cpanel 服务器上的 /usr/local/bin/php。