3

I'm attempting to execute a PHP script from the command line in Windows 10 while using XAMPP for localhost.

From the Git terminal application on Windows 10, I'm running the following command:

/c/xampp/php/php.exe /path/to/script/script.php arg1=val1

The script executes correctly, but when I try to do the following:

print_r($argv);

I get the following error:

PHP Notice:  Undefined variable: argv in /path/to/script/script.php on line line-#.

Also, php_sapi_name() returns cli, so I should be good, but both $argv and $argc return as undefined.

Does anyone know why? Thanks.

1 Answer 1

4

As PHP docs say, $argv and $argc variable are not defined unless such feature is explicitly enabled via php.ini's register_argc_argv, so check your config file first.

But instead of depending on runtime environment configurable I'd rather recommend keeping register_argc_argv option off and recommend your code to use $_SERVER['argv'] / $_SERVER['argc'] instead. This will work because the $_SERVER superglobal is populated in CLI mode too, and these keys are always present, regardless of state of register_argc_argv config.

Sign up to request clarification or add additional context in comments.

1 Comment

Perfect answer. Thank you.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.