Прежде всего я показываю код 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, она работает нормально. Команда отправляет пакет tcp ipv6 в 2001 году:: 200 машин с 2001 года :: 100.
[root@udit-pc]# 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 через командную строку ...
[root@udit-pc]# php test.php
Freeing module tcp
hellohi печатается ипакет прибыл в 2001 году :: 200.
Но проблема возникает, когда я пытаюсь запустить скрипт php через браузер ...
http:://localhost/test.php
hellohi печатается, но пакет не приходит на другую машину.
sh: sendip: command not found
Кроме того, в обоих случаях содержимое пакета не печатается на терминале, хотя при использовании опции verbose, но при непосредственном использовании команды, опция verbose работает нормально.
Я пробовал много вещей, хотя я не думаю,они бы помогли как ......
Я добавил / usr / local / lib и usr / local / bin к переменной PATH, но безрезультатно.
chmod + s / usr / local / bin / sendip. Стильный бит установлен, но опять же не дает никаких преимуществ.
вставьте / usr / local / bin / sendip в /Папка var / www / html, хотя я изменил переменную PATH, но, как я уже сказал, я просто использую пробную версию Hit N, не имея понятия ...
Существуют некоторые выходные снимки, которые могут помочь в дальнейшем ....
[root@cc 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
[root@cc html]# locate sendip
.....
/usr/local/bin/sendip
/usr/local/lib/sendip
.....
[root@cc bin]# chmod +s sendip
[root@cc bin]# ls -l sendip
-rwsrwsrwx 1 apache apache 41071 Sep 26 19:41 sendip
[root@cc bin]# cd /usr/local/lib/
[root@cc lib]# ls -ld sendip
drwxrwxrwx 2 root root 4096 Sep 28 22:48 sendip
[root@cc lib]# chmod +s sendip
[root@cc lib]# ls -ld sendip
drwsrwsrwx 2 root root 4096 Sep 28 22:48 sendip
При изменении содержимого файла .......
<?php
echo exec("/usr/bin/sendip ........ 2 > &1");
?>
Тогда oputput будет:
[root@cc html]# php test.php
Freeing module tcp[root@cc html]#
В браузере .... Ошибка не печатается, но пакет все еще не прибыл.
Я застрял между ними. Пожалуйста, предложите мне, что ещелучше попробовать ?????? /