将当前日期添加到PHP命令行参数

时间:2015-08-18 12:22:44

标签: php

我正在尝试使用PHP命令行(来自cron标签)。我知道如何添加这样的参数:

cd /home/users/public_html/; php -f script.php some_value

我希望(或需要)以动态方式添加当前日期:

cd /home/users/public_html/; php -f script.php current_date

用wget我这样做了:

wget "https://mysitecom/script.php?currentdate=`date +\%s.\%N`"

但是我无法找到任何方法与php命令行做类似的事情。

我试过了:

 cd /home/users/public_html/; php -f script.php `date+\%s.\%N`

我收到错误“未找到命令”。

我也尝试过在一个答案中提出的解决方案:

 cd /home/users/public_html/; php -f script.php date+\%s.\%N

我得到文字字符串"date+\%s.\%N"

使用另一个建议的解决方案:

 cd /home/users/public_html/; php -f script.php "$(date +"%s.%N")"

我在cron发送的电子邮件中收到了这些错误:

/usr/local/cpanel/bin/jailshell: -c: line 0: unexpected EOF while looking for matching `"'
/usr/local/cpanel/bin/jailshell: -c: line 1: syntax error: unexpected end of file

2 个答案:

答案 0 :(得分:3)

从命令行(CLI)使用PHP时,它们不被称为GET变量,它们被称为参数

从名为$argv$argc的命令行运行的每个脚本都传递了2个参数

要记住第一个argv[0]出现的一件事就是保存正在运行的脚本的名称。除此之外,参数出现在$argv[]中,顺序显示在命令行

argc是已经传递给脚本的变量数量的计数

arcv是传递的所有变量的数组

如果您有任何帮助,如果您曾编写任何“C”代码,它们就像“C”等价物一样

其他信息

使用今天的日期调用您的脚本使用类似这样的内容

cd /home/users/public_html/; php -f script.php "$(date +"%s.%N")"

根据需要调整格式。

虽然如果你想在脚本中找到今天的日期,我不知道为什么你不会从PHP脚本本身那里得到它。

答案 1 :(得分:0)

最后我做到了。这是一个语法错误:

此:

cd /home/users/public_html/; php -f script.php `date+\%s.\%N`

需要:

 cd /home/users/public_html/; php -f script.php `date +\%s.\%N`