从命令行执行 PHP 脚本时,经常需要传入变量。但是,尝试使用传统的 $_GET 方法(例如 php myfile.php?type=daily)来实现此目的可能会导致“无法打开输入文件”错误。
这是因为 $_GET 数组通常仅当脚本作为网页执行时才可访问。要处理从命令行传递的变量,必须使用替代方法。
从命令行运行 PHP 脚本时,可以使用 $argv 传递变量大批。该数组包含脚本名称后提供的参数。例如,要传递 type=daily 变量,您可以按如下方式调用脚本:
php myfile.php daily
在 PHP 脚本中,您可以使用 $argv[1].
处理 Web 和命令行执行如果 PHP 脚本既用于 Web 又用于命令行执行,您可以使用以下命令检查脚本是否从命令行调用STDIN 常量。以下代码片段说明了这一点:if (defined('STDIN')) { $type = $argv[1]; } else { $type = $_GET['type']; }
#!/bin/sh wget http://location.to/myfile.php?type=daily
以上是如何从命令行将变量传递给 PHP 脚本?的详细内容。更多信息请关注PHP中文网其他相关文章!