За последние 24 часа нас посетили 17589 программистов и 1595 роботов. Сейчас ищут 1607 программистов ...

Прошу помочь! Web-интерфейс для тормозного Shell-скрипта

Тема в разделе "PHP для новичков", создана пользователем nick7, 18 окт 2011.

  1. nick7

    nick7 Активный пользователь

    С нами с:
    18 окт 2011
    Сообщения:
    4
    Симпатии:
    0
    Всем привет!

    Есть скрипт /root/scripts/3secondScript.sh, который выполняется 3 секунды и может сказать нужную мне информацию про IP-адрес. Хочу пользоваться скриптом через Web-интерфейс. Написал форму:
    Код (Text):
    1.  
    2. <html>
    3.  <head>
    4.   <title>Testing PHP</title>
    5.  </head>
    6.  <body>
    7.   <form action="action.php" method="POST">
    8.    Enter IP address valid for data center: <input type="text" name="IP" />
    9.    <input type="submit">
    10.   </form>
    11.  </body>
    12. </html>
    Написал скрипт action.php:
    Код (Text):
    1.  
    2. <html>
    3.  <head>
    4.   <title>Testing PHP</title>
    5.  </head>
    6.  <body>
    7. You have entered
    8. <?php
    9.    $IP=$_POST["IP"];
    10.    echo $IP;
    11.    echo '.<br>';
    12.    $cmd='/root/scripts/3secondScript.sh ' . $IP;
    13.    system($cmd);
    14. ?>
    15.  </body>
    16. </html>
    При введении в форму адреса 172.16.16.16 в браузере выдается:
    Код (Text):
    1.  
    2. You have entered 172.16.16.16.
    Данные скрипта не выдаются.

    Если заменить текст скрипта /root/scripts/3secondScript.sh на
    Код (Text):
    1.  
    2. echo You test $1.
    выдается
    Код (Text):
    1.  
    2. You have entered 172.16.16.16.
    3. You test 172.16.16.16.
    Получается, что простейший скрипт все выдает через PHP в браузер, а трехсекундный - нет. Как выдать пользователю данные от скрипта, который выполняется 3 секунды? Через командную строку он прекрасно работает.

    Заранее спасибо за ответ.
     
  2. crautcher

    crautcher Активный пользователь

    С нами с:
    21 май 2011
    Сообщения:
    156
    Симпатии:
    0
    разве ненужно выполнять его "sh /root/scripts/3secondScript.sh"?
     
  3. nick7

    nick7 Активный пользователь

    С нами с:
    18 окт 2011
    Сообщения:
    4
    Симпатии:
    0
    Если в скрипте только команда

    Код (Text):
    1. echo You test $1.
    то все работает. Есть подозрение, что без приставки sh какие-то команды не проходят? На всякий случай параметры софта, на котором все это запускается:

     
  4. nick7

    nick7 Активный пользователь

    С нами с:
    18 окт 2011
    Сообщения:
    4
    Симпатии:
    0
    Попробовал - заработало! Спасибо!