使用PHP调用Perl脚本,传递变量并将结果放入文件中

时间:2014-03-17 09:31:43

标签: php mysql perl

我几乎要失去理智,因为我想通过PHP调用perl脚本。

我有一个PHP表单,我放入一个MySQL查询,它存储在一个文件中并选择一些变量。

如果我调用任何SHELL命令如“top”......一切正常,但是一旦我尝试用变量调用我的perl脚本,就没有任何结果。

应该存储结果的文件保持为空。

这是PHP文件中的调用部分:

if (isset($_POST['submit'])) {
$file = 'query.sql';
$query = $_POST['query'];
file_put_contents($file, $query);
$command = "perl /home/www/host/html/cgi/remote-board-exec.pl -sqlfileexec query.sql > /home/www/host/html/cgi/passthrutest.txt";
exec($command, &$ausgabe, $return_var);

没有错误消息,我已经尝试过调试,但没有任何帮助:(

1 个答案:

答案 0 :(得分:0)

你确定perl正在被执行吗?也许你应该用'perl'来取代命令。只是为了确保,并使用Perl的完整路径。另一个想法是确保你的:

  • perl脚本是可执行的(使用chmod)
  • 确保它有'#!/ usr / bin / perl' (或者你的perl之路在哪里)
  • 将命令更改为" /home/www/host/cgi/remote-board-exec.pl ..."没有perl命令
  • 转储输出数组($ ausgabe)的内容,就像命令执行失败一样,您可能会发现正在发生的事情。