协助运行shell_exec php作业并通过命令传递json字符串

时间:2018-09-17 00:16:35

标签: php arrays json

我有一个PHP作业,希望能够在网页上触发该作业,以便它可以在服务器上运行。我大都知道了这一点,但遇到了麻烦。我正在使用“ shell_exec()”在服务器上运行php作业。我想做的是将2个关联数组作为参数传递给php作业。发生的事情是,当php作业运行时,它获取了数组,但每个键/值对都解析为一个单独的元素。 (因此数组结构丢失了)好像我的json字符串上的解释做到了这一点,我需要对其进行其他操作,然后它才能传递并保持原样。我发现传递URL时必须对它进行“ urlencode”,但这与我在这里所做的不完全一样。

首先,我将数组编码为json字符串:

$jsnMaxHome=json_encode($_POST['max_home']);

$jsnMaxAway=json_encode($_POST['max_away']);

在这里我构建要执行的命令:

$execStr="php wp-content/plugins/jba_sched6/front_end_functions/gc_admin_run_scheduler6.php ".$div_id." ".$runType." ".$jsnMaxHome." ".$jsnMaxAway;

div_id和runType的参数可以很好地传递,因为它们不是数组

这是shell_exec命令:

$out = shell_exec($execStr);

参数显示在$ argv数组中的我的php作业中。

如果第一个数组有10个项目,可以说;整个数组应在$ argv [3]中显示u;但是10个项目是单独的项目($ argv [3]-> $ argv [12])

所以我试图找出是否有一种方法可以防止以这种方式传递数组时像这样将我的数组分开。...

非常感谢......

0 个答案:

没有答案