首页 >后端开发 >php教程 >如何从命令行将变量传递给 PHP 脚本?

如何从命令行将变量传递给 PHP 脚本?

Linda Hamilton
Linda Hamilton原创
2024-11-10 22:57:02930浏览

How to Pass Variables to PHP Scripts from the Command Line?

从命令行向 PHP 脚本传递变量

从命令行执行 PHP 脚本时,经常需要传入变量。但是,尝试使用传统的 $_GET 方法(例如 php myfile.php?type=daily)来实现此目的可能会导致“无法打开输入文件”错误。

这是因为 $_GET 数组通常仅当脚本作为网页执行时才可访问。要处理从命令行传递的变量,必须使用替代方法。

使用 $argv 数组

从命令行运行 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'];
}
在此示例中,如果从命令行执行脚本,将从 $argv[1] 检索类型变量。否则,将从 $_GET['type'] 中检索。

使用 Shell 脚本和 Wget

从命令行传递变量的另一个选项是使用 shell 脚本和 Wget 。如果您需要将变量作为 URL 的一部分传递,这会很有用。以下 shell 脚本演示了这种方法:

#!/bin/sh
wget http://location.to/myfile.php?type=daily
在此脚本中,变量 type=daily 作为 URL 的一部分传递。然后可以从 cron 调用该脚本以使用指定变量执行 PHP 脚本。

以上是如何从命令行将变量传递给 PHP 脚本?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn