我正在尝试在php shell_exec
函数中传递JSON编码的字符串,但似乎它不接受整个字符串。
我的代码:
$exec_string = json_encode( $data );
$command = "php index.php exec_function " . $exec_string;
$output = shell_exec( $command );`
echo "<pre>$output</pre>;
我的索引.php
public function exec_function ( $data ) {
echo $data;
}
该函数仅回显字符串的某些部分,例如 ~300 个字符。输出字符串以"\"字符结尾,字符串的其余部分以"/"字符开头。
出于这个原因,我无法进一步解码 JSON 字符串。
有人请帮帮我。
谢谢
更新:
我刚刚删除了带有"/\"字符的变量,现在它返回完整的字符串。返回的字符串没有双引号 '"',所以我无法解码它。知道吗?
带有 $command
的行更改为以下内容: $command = 'php index.php exec_function "' . $exec_string.'"';
问题是你有一些字符在 shell 中它认为会破坏参数,所以你必须用 Qoutes 括起来。