从 PHP 执行 Perl 脚本时出现问题

发布于 2024-09-14 23:05:38 字数 472 浏览 8 评论 0原文

试图弄清楚这一点。我正在尝试使用 shell_exec() 在 php 中执行 perl 脚本,如下所示:

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

它不会使用“>”将输出写入文件文件名.txt。 如果我执行而不将其定向到文件名,它将起作用,因为我可以使用 echo 确认这一点。

这与使用“>”有关吗? 权限应该没问题,因为我可以在命令行上运行相同的 perl 脚本并直接到文件。对于执行此操作有什么建议吗?

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

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

Trying to figure this out. I am trying to execute a perl script within php, using shell_exec() like so:

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

It will not write output to a file using ">" filename.txt.
It will work if I execute without directing it to a filename as I can confirm this with echo.

Does this have to do with using ">"?
Permissions should be fine as I am able to run the same perl script on command line and direct to file. Any suggestions for executing this?

The output of "test.txt" will be used as input:

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

离旧人 2024-09-21 23:05:38

这绝对是权限问题。将文件写入/tmp,效果很好。

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

It was definitely a permissions problem. Wrote the file out to /tmp and it worked fine.

<?php
$output=shell_exec("./tst.pl > /tmp/test.txt");
echo $output;
?>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文