php shell_exec 字符允许和限制 - JSON 编码字符串作为参数
php shell_exec character allowed and limit - JSON encoded string as parameter
我试图在 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>;
我的index.php
public function exec_function ( $data ) {
echo $data;
}
该函数仅回显字符串的某些部分,如 ~300 个字符。输出字符串以“\”字符结尾,其余字符串以“/”字符开头。
因此我无法进一步解码 JSON 字符串。
谁能帮帮我。
谢谢
更新:
我刚刚删除了带有“/\”字符的变量,现在它是 returns 完整字符串。返回的字符串没有双引号 '"' 所以我无法解码它。知道吗?
将带有 $command
的行更改为以下内容:
$command = 'php index.php exec_function "' . $exec_string.'"';
问题是您在 shell 中有一些字符认为会破坏参数,因此您必须用 qoutes 将其括起来。
我试图在 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>;
我的index.php
public function exec_function ( $data ) {
echo $data;
}
该函数仅回显字符串的某些部分,如 ~300 个字符。输出字符串以“\”字符结尾,其余字符串以“/”字符开头。
因此我无法进一步解码 JSON 字符串。
谁能帮帮我。
谢谢
更新:
我刚刚删除了带有“/\”字符的变量,现在它是 returns 完整字符串。返回的字符串没有双引号 '"' 所以我无法解码它。知道吗?
将带有 $command
的行更改为以下内容:
$command = 'php index.php exec_function "' . $exec_string.'"';
问题是您在 shell 中有一些字符认为会破坏参数,因此您必须用 qoutes 将其括起来。