Автор Тема: Запуск PHP скрипта из Perl  (Прочитано 22502 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Integra

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 21
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Запуск PHP скрипта из Perl
« Ответ #30 : 04 Декабря 2006, 20:58:44 »
Цитировать
AnnA:


Эффекта 0. И это логично. В линуксах когда мы закрываем трубу, отвисает процесс на другом конце трубы (до этого волшебного момента он блокирован), а потом читает ВСЕ из трубы. Это можно посмотреть, по моему, в man mknod или man pipe

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Запуск PHP скрипта из Perl
« Ответ #31 : 04 Декабря 2006, 23:33:11 »
Цитировать
Integra:
Теперь о перловом скрипте: он должен генерировать страницу с выведенным стандартным потоком ввода.

Ваш скрипт при всем вашем желании не умеет этого делать, послушайте Анну.

Цитировать
Integra:
Не сильна в опциях интерпретатора perl.

А стоит, если собираетесь писать на perl. perldoc perlrun

Цитировать
Integra:
А на вашей апаче такая штука идет? Которая с каналами?

Моя Апача вообще не знает о присутствии в системе пхп или перла, что правильно. Апачу свое, перлу свое. Мне не понятно ваше заблуждение относительно веб-сервиса и обязательной его связки со скриптовым языком. Вам для справки, когда написали перл, веб-сервер апачи еще не был придуман. И каналы с трубами и всем прочим к веб-серверу не имеют ни малейшего отношения.

Цитировать
Integra:
Мы его на каравановском сервере запускали :-) Выводит, собака, цифры 2121, а на STDIN - ни-че-го

Потому как и не обязан их выводить. Опишите построчно что делает каждая строка перлового скрипта, но сначала почитайте документацию, ибо вы заблуждаетесь.
The documentations is your friend

Оффлайн ravshaniy

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 191
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Запуск PHP скрипта из Perl
« Ответ #32 : 05 Декабря 2006, 10:56:44 »
если вы уже апач приплели, то можете просто генерить запрос

Запрос в PHP:
http://www.example.com/\');  ?>
#array file ( string filename [, int use_include_path [, resource context]] )

Запрос в Perl:
use LWP;

my $def_url = shift || http://default.url\';
my ($line) = get_url_content($def_url);
#http://search.cpan.org/~gaas/libwww-perl-5.805/lib/LWP.pm#The_Response_Object
sub get_url_content {
   my $url = $_[0];
   my $agent = LWP::UserAgent->new;
   my $request = HTTP::Request->new( GET => $url );
   my $response   = $agent->request($request);
   $response->is_success or die "can\'t connect $url", $response->message, "\\n";

   return $response->content();
}
убили кенни, сволочи

Оффлайн Integra

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 21
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Запуск PHP скрипта из Perl
« Ответ #33 : 05 Декабря 2006, 13:20:59 »
Цитировать
NeoNox:
Моя Апача вообще не знает о присутствии в системе пхп или перла, что правильно. Апачу свое, перлу свое. Мне не понятно ваше заблуждение относительно веб-сервиса и обязательной его связки со скриптовым языком. Вам для справки, когда написали перл, веб-сервер апачи еще не был придуман. И каналы с трубами и всем прочим к веб-серверу не имеют ни малейшего отношения.

Не имеет, говорите? Имеет, однако, когда интерпертатор установлен в качесве модуля апаче. Там своя интересная специфика

Оффлайн Integra

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 21
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Запуск PHP скрипта из Perl
« Ответ #34 : 05 Декабря 2006, 13:39:48 »
ravshaniy
Опишите, пожалуйста, что ваш код делает.

Оффлайн ravshaniy

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 191
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Запуск PHP скрипта из Perl
« Ответ #35 : 05 Декабря 2006, 13:50:33 »
отправляет запрос, получает ответ в переменную
убили кенни, сволочи

Оффлайн Integra

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 21
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Запуск PHP скрипта из Perl
« Ответ #36 : 05 Декабря 2006, 14:09:09 »
Цитировать
ravshaniy:
http://www.example.com/\'); ?>

При запросе таким образом мы просто получаем содержимое скрипта. Вот что на выводе:
#!/usr/bin/php Array (
  • => #!/usr/bin/perl [1] => print "Content-Type: text/html\\n\\n"; [2] => print "ewdsadsadasd"; )

Оффлайн Integra

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 21
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Запуск PHP скрипта из Perl
« Ответ #37 : 05 Декабря 2006, 14:35:54 »
Цитировать
NeoNox:
Опишите построчно что делает каждая строка перлового скрипта, но сначала почитайте документацию, ибо вы заблуждаетесь.


print ; - должен печатать то, что есть в стандартном входном потоке.  Пример из книжки. Остальное ясно.

Да, я  заблуждаюсь, в чем- не знаю, но способ, как решить первоначальную проблему именно запуском скрипта из скрипта, так и не найден. А так как я заблуждаюсь, мне и нужна помощь.

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Запуск PHP скрипта из Perl
« Ответ #38 : 05 Декабря 2006, 15:07:00 »
Цитировать
Integra:
print ; - должен печатать то, что есть в стандартном входном потоке. Пример из книжки. Остальное ясно.

perl -e "print \'it works\'" | perl -le "print "

Цитировать
Integra:
Да, я заблуждаюсь, в чем- не знаю, но способ, как решить первоначальную проблему именно запуском скрипта из скрипта, так и не найден.

Я уже написал в начале прошлой страницы perldoc -f system, так сложно прочитать? Тем более вот здесь вы уже локализовали проблему
http://forums.webscript.ru/showthread.php?s=&postid=146691#post146691
которая решается путем установки флага
force_cgi_redirect = 0
в php.ini файле.
The documentations is your friend

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Запуск PHP скрипта из Perl
« Ответ #39 : 05 Декабря 2006, 15:18:11 »
вот вам еще пример#cat test.pl
#!/usr/bin/perl

open (SP"| perl ./t.pl");
print 
SP "stuff\\n";
close (SP);

# cat t.pl
#!/usr/bin/perl
print "Content-Type: text/html\\n\\n";
print <
STDIN>;
print 
"2121";

и пища для размышлений
http://perldoc.perl.org/perlipc.html
The documentations is your friend

Оффлайн ravshaniy

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 191
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Запуск PHP скрипта из Perl
« Ответ #40 : 05 Декабря 2006, 15:29:33 »
Цитировать
Integra:
При запросе таким образом мы просто получаем содержимое скрипта.

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

Оффлайн Integra

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 21
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Запуск PHP скрипта из Perl
« Ответ #41 : 05 Декабря 2006, 15:37:52 »
ravshaniy
Благодарю. Ваш способ есть решение проблемы! Спасибо за идею!

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28