首先我显示了PHP代码....浏览器无法打开php页面?
<?php
echo ("hello");
echo exec("sendip -v -p ipv6 -6s 2001::100 -p tcp -ts 21 -td 21 2001::200 2>
&1");
echo ("hi");
?>
当我通过Linux命令行输入的命令,它正在罚款。命令是在2001年发送TCP IPv6报文:: 200机从2001 :: 100。
[[email protected]]# sendip -v -p ipv6 -6s 2001::100 -p tcp -ts 21
-td 21 2001::200 > /dev/null &
/* (-v for verbose) */
输出上面的命令......
Added 34 options
Initializing module ipv6
Initializing module tcp
Finalizing module tcp
Finalizing module ipv6
Final packet data:
60 00 00 00 `...
/*
here other packet
contents gets printed
*/
7D 62 00 00 }b..
61 62 63 64 abcd
Sent 64 bytes to 2001::200
Freeing module ipv6
Freeing module tcp
当我通过命令行执行PHP脚本...
[[email protected]]# php test.php
Freeing module tcp
hellohi获取打印和数据包到达2001 :: 200。
但是当我尝试通过浏览器来运行PHP脚本出现问题...
http:://localhost/test.php
hellohi被打印,但数据包没有在其他机器到达。
sh: sendip: command not found
此外,在这两种情况下,数据包的内容不会在终端印刷使用虽然详细选项而是直接使用命令时详细选项工作正常。
我有很多事情尝试,虽然我不认为他们会帮助像......
我加在/ usr/local/lib目录和USR/local/bin目录到PATH变量,但没有效益。
chmod + s/usr/local/bin/sendip.Sticky位已设置,但再次没有好处。
将/ usr/local/bin/sendip自身粘贴到/ var/www/html文件夹中虽然我改变了PATH变量,但是正如我所说的,我只是使用了命中n试验没有线索.....
有一些输出的快照可以进一步帮助....
[[email protected] html]# echo $PATH
/usr/lib/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:
/usr/X11R6/bin:/root/bin:/usr/local/lib
[[email protected] html]# locate sendip
.....
/usr/local/bin/sendip
/usr/local/lib/sendip
.....
[[email protected] bin]# chmod +s sendip
[[email protected] bin]# ls -l sendip
-rwsrwsrwx 1 apache apache 41071 Sep 26 19:41 sendip
[[email protected] bin]# cd /usr/local/lib/
[[email protected] lib]# ls -ld sendip
drwxrwxrwx 2 root root 4096 Sep 28 22:48 sendip
[[email protected] lib]# chmod +s sendip
[[email protected] lib]# ls -ld sendip
drwsrwsrwx 2 root root 4096 Sep 28 22:48 sendip
当文件内容发生了变化.......
<?php
echo exec("/usr/bin/sendip ........ 2 > &1");
?>
然后oputput是:
[[email protected] html]# php test.php
Freeing module tcp[[email protected] html]#
在浏览器.... 没有错误被打印,但仍包没有到达。
我被困在between.Please建议我什么,否则我就应该努力??????/
exec(...)返回什么?你可以尝试system()来获得更多的输出。 –
正如您所怀疑的,最有可能是权限问题。 – Brad
@Brad我也试过这个命令....'chown apache:apache test.php'但是没有好处again.If烫发问题,然后请建议我,我应该怎么做? –