从 PHP 执行 Perl 脚本时出现问题
试图弄清楚这一点。我正在尝试使用 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这绝对是权限问题。将文件写入/tmp,效果很好。
It was definitely a permissions problem. Wrote the file out to /tmp and it worked fine.