我正在执行目标文件b
,这是通过以这种方式从php页面执行c ++程序实现的:
<?php
//sent has value "http://www.paulgraham.com/herd.html"
$url=$_POST['sent'];
$text = file_get_contents($url);
$temp=escapeshellarg(strip_tags($text));
//$temp = "one one two";
$output=shell_exec("/home/technoworld/Videos/LinSocket/Extra/Modular2/b " . $temp);
echo $output;
?>
当我通过$temp = "one one two";
时,它会给出结果:
Client : /home/technoworld/Videos/LinSocket/Extra/Modular2/b filename @ar[0]=0;ar[1]=0@
当我在命令行中执行./b "one one two"
时,它会给我结果:
technoworld@ubuntu:~/Videos/LinSocket/Extra/Modular2$ ./b "one one,wo"
Client :
string is :one one,wo
one one wo
@ar[0]=1;ar[1]=2@
那么为什么从php文件传递它会产生错误的结果呢?
当我将$temp
中的网页内容作为参数从$text = file_get_contents($url); $temp=escapeshellarg(strip_tags($text));
传递出去时,它在浏览器上没有显示任何内容?
有人可以确定这里的问题是什么吗?