我正在执行目标文件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));
从那时起它在浏览器上什么也不显示?
有人可以确定这里的问题吗?