ФорумПрограммированиеPHP для идиотов → Запуск perl-скрипта из php

Запуск perl-скрипта из php

  • sw12345

    Сообщения: 82 Репутация: N Группа: Кто попало

    Spritz 10 мая 2009 г. 12:50

    Привет
    я все продолжаю лепить свой диплом =)
    мне нужно было дать доступ пхп - скрипту к некоторым файлам находящимся вне сервера, мне тут порекомендовали использовать ссылки. через ссылки все работает, но теперь нужно делать ссылки к разным директориям, вернее к директориям пользователей для обращения к их лог-файлам, но прописывать вручую это долго, хотелось бы делать это из вебинтерфейса, вопрос такой: можно ли из пхп скрипта запустить перловый скрипт с нужными параметрами, чтобы он создал ссылку или скопировал лог-файл пользователя в папку сервера? если можно то как запустить скрипт.
    В инете пишут как запустить пхп из перла, а мне нужно наоборот. Спасибо
  • adw0rd

    Сообщения: 22908 Репутация: N Группа: в ухо

    Spritz 10 мая 2009 г. 13:35, спустя 44 минуты 54 секунды

    [man]exec[/man] и запускай перл с соответствующими аттрибутами коммандной строки или запускай перл-скрипты у которых прописано #!/bin/perl или как там у перла…
    adw/0
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 10 мая 2009 г. 14:00, спустя 25 минут 5 секунд

    вопрос такой: можно ли из пхп скрипта запустить перловый скрипт с нужными параметрами, чтобы он создал ссылку или скопировал лог-файл пользователя в папку сервера?

    объясни мне почему для решения этой задачи ты выбрал перл ???
    я думаю, с этой задачей вполне могут справится ф-ии самой ОС. (bash)
  • adw0rd

    Сообщения: 22908 Репутация: N Группа: в ухо

    Spritz 10 мая 2009 г. 14:54, спустя 54 минуты 17 секунд

    NRG, может того требует преподаватель?
    adw/0
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 10 мая 2009 г. 15:39, спустя 44 минуты 44 секунды


    NRG, может того требует преподаватель?
    здается мне что это замануха ТС а не его препода.
  • sw12345

    Сообщения: 82 Репутация: N Группа: Кто попало

    Spritz 11 мая 2009 г. 11:56, спустя 20 часов 17 минут 12 секунд

    тогда спрошу по другому, можно ли как нить без перла используя только пхп получить доступ к заранее неизвестным файлам вне папки сервера, или может можно какнить изменить конфигурацию апача чтобы свободно обращаться к любым файлам. идею с перлом это мой препод придумал.
    я думаю, с этой задачей вполне могут справится ф-ии самой ОС. (bash)

    NRG объясни подробнее как это реализуется, как по команде из пхп системными командами (bash) обратиться к нужным файлам ?
  • phpdude

    Сообщения: 26632 Репутация: N Группа: в ухо

    Spritz 11 мая 2009 г. 12:07, спустя 10 минут 37 секунд

  • sw12345

    Сообщения: 82 Репутация: N Группа: Кто попало

    Spritz 11 мая 2009 г. 14:54, спустя 2 часа 47 минут 3 секунды

    понял, буду тестить на выходных, отпишу когда все получиться.
    Еще вопрос Когда я сделаю ссылку на файл можно ли будет удалить его или очистить?
  • phpdude

    Сообщения: 26632 Репутация: N Группа: в ухо

    Spritz 11 мая 2009 г. 15:00, спустя 6 минут 3 секунды


    понял, буду тестить на выходных, отпишу когда все получиться.
    Еще вопрос Когда я сделаю ссылку на файл можно ли будет удалить его или очистить?
    ссылку можно :)

    вот если на каталог, содержищий файл .. то думаю что можно будет с ним(каталогом) работать и удалить файл соответственно
    Сапожник без сапог
  • adw0rd

    Сообщения: 22908 Репутация: N Группа: в ухо

    Spritz 11 мая 2009 г. 15:05, спустя 4 минуты 36 секунд


    Еще вопрос Когда я сделаю ссылку на файл можно ли будет удалить его или очистить?

    Можно будет удалить файл. Почитай про работу с ФС в PHP
    adw/0
  • sw12345

    Сообщения: 82 Репутация: N Группа: Кто попало

    Spritz 17 мая 2009 г. 13:27, спустя 5 дней 22 часа 22 минуты

    привет, докладываю о полученных результатах.
    Почти ничего не получилось, не могу создать ссылку из пхп на файл, делал так

    $link=symlink("./export/home/Anatoly/.bash_history","link2");
    $f=file("link2");
    print_r ($f);

    Если создать ссылку в bash а потом обращаться через неё к файлу из пхп, то все хорошо получается.
    Пробовал создавать ссылки через функцию link, тоже не получается.
    Вторая проблема заключается в том что апач стоит на одном разделе в салярке, а файлы shadow и passwd лежат в другом разделе, если создать ссылки на эти файлы и обратиться к ним из пхп то нет никакого результата, но при обращении к ссылке из баша файлы доступны.
    Может быть проблем изза конфигурации апача? или файлы shadow и passwd защищены системой?
  • phpdude

    Сообщения: 26632 Репутация: N Группа: в ухо

    Spritz 17 мая 2009 г. 13:32, спустя 4 минуты 27 секунд


    привет, докладываю о полученных результатах.
    Почти ничего не получилось, не могу создать ссылку из пхп на файл, делал так

    $link=symlink("./export/home/Anatoly/.bash_history","link2");
    $f=file("link2");
    print_r ($f);

    Если создать ссылку в bash а потом обращаться через неё к файлу из пхп, то все хорошо получается.
    Пробовал создавать ссылки через функцию link, тоже не получается.
    Вторая проблема заключается в том что апач стоит на одном разделе в салярке, а файлы shadow и passwd лежат в другом разделе, если создать ссылки на эти файлы и обратиться к ним из пхп то нет никакого результата, но при обращении к ссылке из баша файлы доступны.
    Может быть проблем изза конфигурации апача? или файлы shadow и passwd защищены системой?
    я думаю что проблема в том, что ссылки ты создаешь от пользователя - веб сервер, а из баша - рутом. в этом и вся делема.
    Сапожник без сапог
  • sw12345

    Сообщения: 82 Репутация: N Группа: Кто попало

    Spritz 18 мая 2009 г. 8:48, спустя 19 часов 15 минут 45 секунд

    А как создавать ссылки от web-сервера, вернее как запустить скрипт из под рута, чтото я совсем не понимаю, может быть как нить по крону?
  • ubica

    Сообщения: 530 Репутация: N Группа: Кто попало

    Spritz 18 мая 2009 г. 10:11, спустя 1 час 23 минуты 43 секунды

    sw12345, зайди рутом и
    crontab -e
  • sw12345

    Сообщения: 82 Репутация: N Группа: Кто попало

    Spritz 20 мая 2009 г. 11:56, спустя 2 дня 1 час 45 минут

    продолжаю задавать вопросы((
    нарыл на других форумах чтото подобное

    <?
    $output=shell_exec("su -u root -S; cd /; cd etc; more shadow;");
    print $output;
    ?>

    тоесть выполнение под рутом, но что то не работает, не пойму как мне пасс передать, или я вообще не туда смотрю?

Пожалуйста, авторизуйтесь, чтобы написать комментарий!