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

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

DDD
DDD原创
2024-11-13 15:36:03683浏览

How to Pass Variables to Command-Line PHP Scripts?

将变量传递给命令行 PHP 脚本

使用 crontab 从命令行运行 PHP 脚本时,您可能会在传递变量时遇到挑战变量。此上下文不支持您尝试使用查询字符串 (myfile.php?type=daily) 的语法。

要解决此问题,请将变量作为参数传递给 PHP 可执行文件。将命令替换为:

php myfile.php daily

在 PHP 脚本中,从 $argv 数组中检索变量:

$type = $argv[1]; // Assuming '$argv[0]' contains the script name

替代方法:

如果脚本也用作网页,那么你有两个options:

  1. 利用 Wget 的 shell 脚本来传递变量:
#!/bin/sh
wget http://location.to/myfile.php?type=daily
  1. 检查脚本是否从命令行调用PHP 脚本:
if (defined('STDIN')) {
  $type = $argv[1];
} else {
  $type = $_GET['type'];
}

记住确保 $argv 数组包含必要的变量并根据需要处理边缘情况。

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

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