Я пытаюсь получить argv и argc из работы cron. Это то, что возвращается в $ _SERVER, а они отсутствуют.
Вот хрон:
/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 protected]"["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)
}
Кто-нибудь знает, почему это происходит? Сценарий работал в какой-то момент и теперь сломался.
Заметив, что вы запускаете 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. Я считаю, что это обычно находится в / usr / local / bin / php на серверах cpanel.
Других решений пока нет …