试图解决这个问题。我试图在PHP中使用Shell_exec()在PHP中执行Perl脚本:

<?php
$output=shell_exec("./tst.pl > test.txt");
//$output=shell_exec("./tst.pl");
echo $output;
?>

它不会使用“>” filename.txt将输出写入文件。如果我在不将其引导到文件名的情况下执行,它将起作用,因为我可以使用Echo确认此功能。

这与使用“>”有关吗?权限应该很好,因为我能够在命令行上运行相同的perl脚本并直接文件。有什么建议执行此问题吗?

“ test.txt”的输出将用作输入:

<?php 
$data = array(); 
$InputFile = file("test.txt");
...
?>
有帮助吗?

解决方案

这绝对是一个许可问题。将文件写入 /TMP,效果很好。

<?php
$output=shell_exec("./tst.pl > /tmp/test.txt");
echo $output;
?>
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top