首先我顯示了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燙髮問題,然後請建議我,我應該怎麼做? –