Запуск Perl-скрипта из PHP

DimaK

Новичок
Запуск Perl-скрипта из PHP

Здраствуйте. Знаю, что такой вопрос звучал.
Попробовал с помощью команды
exec('Z:/home/localhost/cgi/file.pl');
запустить perl-скрипт, но открывается просто файл file.pl и скрипт не выполняется.
В чём может быть причина? Решение проблемы в мануале не нашел.
Заранее благодарен.
 

Steamroller

Новичок
Так вроде Денвер это виндовая приблуда?
Тогда имеет смысл попробовать слеши в обратную сторону написать.
 

ksnk

прохожий
А как проверялось, что не работает?
У меня вот такое очень даже заработало ...
PHP:
echo exec('X:/usr/bin/Perl.exe X:/usr/bin/test.pl');
 

DimaK

Новичок
А как проверялось, что не работает?
Если perl-скрипт выполнялся, то выводился определённый текст.
Я также пробовал, как и Вы написали, но не писал "Perl.exe" и "echo", не работало. А если писать "Perl.exe" и "echo", то будет работать.
Большое спасибо всем, кто пытался помочь, особенно ksnk.

-~{}~ 22.11.05 15:56:

Я передал значение переменной из php-скрипта perl-скрипту, прописав в php-файле

$rt=231;
var_dump($rt);
echo exec("Z:/usr/bin/Perl.exe Z:/home/localhost/cgi/file.pl");

А как передать значение из Perl-скрипта, я не знаю.
Если делать также, как написано выше, то работать не будет.
 

Фанат

oncle terrible
Команда форума
какой браузер, чудик?
у тебя твой скрипт выполняет не браузер.
а пхп скрипт

-~{}~ 22.11.05 16:41:

Я передал значение переменной из php-скрипта perl-скрипту, прописав в php-файле

$rt=231;
var_dump($rt);
echo exec("Z:/usr/bin/Perl.exe Z:/home/localhost/cgi/file.pl");
о, боже!
 

DimaK

Новичок
Вообще-то вопрос был куда выводится, а не что выводит (PHP). Так что кто ещё чудик.
Команда
echo exec("Z:/usr/bin/Perl.exe Z:/home/localhost/cgi/file.pl");
запускает выполнение perl-скрипта, где есть команда print, выводящая в браузере тескт.
 

whirlwind

TDD infected, paranoid
Заюзай вместо exec функцию system. Передай данные перловому скрипту через аргументы CLI. Никаких echo не надо. При выполнение с пом. system потоки разделяются. Но обрати внимание

The system() call also tries to automatically flush the web server's output buffer after each line of output if PHP is running as a server module.
 
Сверху