Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将当前日期添加到PHP命令行参数_Php - Fatal编程技术网

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

将当前日期添加到PHP命令行参数,php,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

我正在尝试使用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

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

从名为and的命令行向每个脚本运行传递了两个参数

要记住的一点是,第一个
argv[0]
occurrence包含正在运行的脚本的名称。除此之外,参数在
$argv[]
中的显示顺序与在命令行中的显示顺序相同

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

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

如果有帮助的话,它们就像你曾经写过的“C”代码中的“C”等价物一样

其他信息

要使用今天的日期调用脚本,请使用以下内容

cd /home/users/public_html/; php -f script.php "$(date +"%s.%N")"
根据需要调整格式


虽然如果您想在脚本中使用今天的日期,我不确定为什么您不能从PHP脚本本身中获得该日期。

最后,我已经让它工作了。这是一个语法错误:

这:

需要:

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

显然,GET变量用于GET请求。您可以添加一个如何将当前日期添加到命令行参数的示例吗?根据日期格式
php-f myscript.php 20150818
其中
20150818
是参数1(参数0是脚本本身)@JayBlanchard这不是一个选项,我需要它始终是当前日期,因此,它必须以友好的方式添加。然后使用Linux
date
作为参数。我能给出的唯一解释是,您执行的是
php cgi.exe
,而不是通过
$\u GET
传递的
php.exe
可能有效,但这不是最佳实践。看起来您可能正在使用PHP CGI API。我可以理解,但在这种情况下,说GET变量不可通过命令行使用是不正确的,这让我感到困惑。更糟糕的是,@riggsfully的回答是“GET变量在命令行中被称为参数”。这也是不正确的,我一直在阅读DocueMatation,它们在不同的上下文中没有被不同的调用,它们是完全不同的东西。无论如何,我仍然希望友好地将当前日期添加到命令行参数或获取变量。@RiggsFolly是正确的-获取变量不适用于CLI,除非您使用的是PHP CGI。如果使用的是true CLI,则只能传递参数。确定。现在完全明白了。无论如何,我不能接受你们的答案,它解释了我理解错误的地方,但并不是我如何从命令行将当前日期传递给脚本。我还对问题进行了编辑,以消除GET和arguments之间的所有混淆。好了,所有这些都很好地摆在了一个盘子上。PS回答问题后,不允许改变问题的焦点
 cd /home/users/public_html/; php -f script.php `date +\%s.\%N`