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

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

Linda Hamilton
发布: 2024-11-10 22:57:02
原创
961 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板