Рестарт Apache

Тема в разделе "PHP", создана пользователем alexnov66, 21 май 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. alexnov66

    alexnov66 Постоялец

    Регистр.:
    23 дек 2006
    Сообщения:
    54
    Симпатии:
    3
    Подскажите скрипт кнопки на сайт рестарта сервисов, или запуска бат файла для рестарта, есть один, апач рестартится но браузер виснет.
     
  2. sasha181

    sasha181 Постоялец

    Регистр.:
    18 апр 2007
    Сообщения:
    100
    Симпатии:
    25
    Скрипта тут по сути не надо
    достаточно одной строчки в php

    PHP:
    exec("путь к программе");
     
  3. alexnov66

    alexnov66 Постоялец

    Регистр.:
    23 дек 2006
    Сообщения:
    54
    Симпатии:
    3
    Вот скрипт, что ни так.
    <input type="button" onclick = document.location.href="<? exec("O:\restart.bat"); ?>" value="Рестарт Apache2" alt="Рестарт Apache2">
     
  4. prnet

    prnet Постоялец

    Регистр.:
    27 апр 2008
    Сообщения:
    91
    Симпатии:
    20
    как я понял хочется рестартать апаче с браузера? код следующий в *них-е "/место/где/сидит/apachectl restart", но всё дело в том что рестартнуть его может только root :ah: и для етого мужно написат шелл скрипт со вписанным root-овским пасвордом.
     
  5. alexnov66

    alexnov66 Постоялец

    Регистр.:
    23 дек 2006
    Сообщения:
    54
    Симпатии:
    3
    Рестартится и будет под администратором на винде, что то не так со скриптом, коментарий тоже не выводится.
     
  6. sasha181

    sasha181 Постоялец

    Регистр.:
    18 апр 2007
    Сообщения:
    100
    Симпатии:
    25
    вообще действительно стоит уточнить для какой системы это пишется
    вообще из ява-скрипта как это написано у Вас точно не получится сделать. Как минимум php.
    Например можете создать php файл с таким содержимым

    PHP:
    <? exec("O:\restart.bat"); ?>
    и сделать на него ссылку на странице
    Судя по пути веб-сервер у Вас работает под виндовс, поэтому этого в практически всех случаях будет достаточно.

    Под unix подобными ситамами так просто не получится.
    Действительно апатч там может перезапустить только root, поэтому прийдётся например создать shell скрипт с таким содержанием (для linux)

    Код:
    #!/bin/sh
    service httpd restart
    в файле /etc/sudoers
    разрешить выполнение его от имени пользователя от которого работает php
    ну а в php скрипте вызывать уже этот скрипт.
    правда что писать в /etc/sudoers по памати не напишу.
    Если понадобится, напишите. Найду.
     
  7. alexnov66

    alexnov66 Постоялец

    Регистр.:
    23 дек 2006
    Сообщения:
    54
    Симпатии:
    3
    Пишется для windows, апач на винде, и управляется с этой же винды.
    Такой вариант не катит, батник не запускается, браузер выводит пустую страницу, я уже облазил весь инет и не нашел подобного.
     
  8. masto

    masto Прохожие

    попробуй
    PHP:
    <?php system('/путь_к_папке_Apache/bin/httpd -k restart'?>
    Браузер особо ничего тебе и не покажет, если Apache реально рестартует, поскольку конект рвётся.
     
  9. wespire

    wespire Постоялец

    Регистр.:
    18 мар 2008
    Сообщения:
    55
    Симпатии:
    6
    + sudo с NOPASSWD
     
  10. masto

    masto Прохожие

    sudo на винде? :)
     
Статус темы:
Закрыта.