将变量传递给从命令行运行的 PHP 脚本
2022-08-30 08:00:08
我有一个PHP文件,需要从命令行(通过crontab)运行。我需要传递到文件,但我不知道如何传递。我试过了:type=daily
php myfile.php?type=daily
但返回此错误:
无法打开输入文件:myfile.php?type=daily
我该怎么办?
我有一个PHP文件,需要从命令行(通过crontab)运行。我需要传递到文件,但我不知道如何传递。我试过了:type=daily
php myfile.php?type=daily
但返回此错误:
无法打开输入文件:myfile.php?type=daily
我该怎么办?
参数(在数组中结束)仅对 Web 访问的页面有效。?type=daily
$_GET
您需要像调用它一样并从数组中检索该参数(这将是 ,因为将是 )。php myfile.php daily
$argv
$argv[1]
$argv[0]
myfile.php
如果该页面也用作网页,则可以考虑两个选项。要么使用shell脚本和Wget访问它,然后从cron调用它:
#!/bin/sh
wget http://location.to/myfile.php?type=daily
或者检查PHP文件是否从命令行调用:
if (defined('STDIN')) {
$type = $argv[1];
} else {
$type = $_GET['type'];
}
(注意:您可能需要/想要检查是否实际包含足够的变量等)$argv
只需将其作为普通参数传递,并使用数组在PHP中访问它即可。$argv
php myfile.php daily
和 myfile.php
$type = $argv[1];