从 Windows 10 XAMPP 执行 PHP CLI 脚本时未定义 $argv

问题描述 投票:0回答:1

我尝试在 Windows 10 中使用 XAMPP 作为本地主机时从命令行执行 PHP 脚本。

从 Windows 10 上的 Git 终端应用程序中,我运行以下命令:

/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
都返回为未定义。

有人知道为什么吗?谢谢。

php xampp command-line-interface
1个回答
3
投票

正如 PHP 文档所说

$argv
$argc
变量未定义,除非通过
php.ini
register_argc_argv 显式启用此类功能,因此请先检查您的配置文件。

但是,我宁愿建议保持

register_argc_argv
选项关闭,并建议您的代码使用
$_SERVER['argv']
/
$_SERVER['argc']
代替,而不是依赖于可配置的运行时环境。这将起作用,因为
$_SERVER
超级全局也在 CLI 模式下填充,并且无论
register_argc_argv
配置的状态如何,这些键始终存在。

© www.soinside.com 2019 - 2024. All rights reserved.