Я пытаюсь выполнить сценарий PHP из командной строки в Windows 10 при использовании XAMPP для localhost.
Из терминального приложения Git в Windows 10 я запускаю следующую команду:
/c/xampp/php/php.exe /path/to/script/script.php arg1=val1
Скрипт выполняется правильно, но когда я пытаюсь сделать следующее:
print_r($argv);
Я получаю следующую ошибку:
PHP Notice: Undefined variable: argv in /path/to/script/script.php on line line-#.
Кроме того, php_sapi_name() возвращает cli, так что все должно быть хорошо, но и $argv, и $argc возвращаются как неопределенные.
Кто-нибудь знает почему? Спасибо.






Поскольку документы говорят, $argv и $argc не определены, если эта функция явно не включена через register_argc_argvphp.ini, поэтому сначала проверьте свой файл конфигурации.
Но я бы предпочел отключить эту опцию, чтобы не загрязнять ваши переменные и изменить свой код, чтобы вместо этого использовать $_SERVER['argv'] / $_SERVER['argc'], поскольку суперглобальный $_SERVER также заполняется в режиме CLI, что может немного сбить с толку на первый взгляд. На него тоже не влияет установка или отключение register_argc_argv.
Отличный ответ. Спасибо.