Попытка понять это. Я пытаюсь выполнить perl-скрипт в php, используя shell_exec () следующим образом:
<?php $output=shell_exec("./tst.pl > test.txt"); //$output=shell_exec("./tst.pl"); echo $output; ?>
Он не будет записывать вывод в файл с помощью «>» filename.txt. Он будет работать, если я выполню без указания имени файла, поскольку я могу подтвердить это с помощью эха.
Это связано с использованием «>»? Разрешения должны быть точными, поскольку я могу запускать один и тот же скрипт perl в командной строке и напрямую в файл. Любые предложения по выполнению этого?
Выходной сигнал «test.txt» будет использоваться как вход:
<?php $data = array(); $InputFile = file("test.txt"); ... ?>
Это определенно проблема с разрешениями. Написал файл в / tmp, и он работал нормально.
<?php $output=shell_exec("./tst.pl > /tmp/test.txt"); echo $output; ?>