从php执行perl命令

从php执行perl命令,php,perl,system,Php,Perl,System,我假设使用php页面中的perl调用替换文本文件中的单词 我试着跟着 `perl -pi -e 's/foo/bar/g' /tmp/newxml.xml`; system('perl -pi -e \'s/foo/bar/g\' /tmp/newxml.xml', $retval1); exec('perl -pi -e \'s/foo/bar/g\' /tmp/newxml.xml', $retval1, $retval2); 而且它不起作用 我试着跟着 system('perl -v

我假设使用php页面中的perl调用替换文本文件中的单词

我试着跟着

`perl -pi -e 's/foo/bar/g' /tmp/newxml.xml`;

system('perl -pi -e \'s/foo/bar/g\' /tmp/newxml.xml', $retval1);

exec('perl -pi -e \'s/foo/bar/g\' /tmp/newxml.xml', $retval1, $retval2);
而且它不起作用

我试着跟着

system('perl -v > /tmp/newxml.xml', $retval1);
而且它可以工作,所以我想这不是许可问题

我直接在shell上执行了这个命令,它工作正常。知道怎么了吗?

试试:

 system('perl -pi -e ''s/foo/bar/g'' /tmp/newxml.xml', $retval1);


你能解释一下什么
不起作用吗
,我试过了,一切正常。所有命令都无法替换指定文件中的单词。我未来的调查显示http或apache用户不是sudoer,因此无法执行给定的命令。
system("perl -pi -e 's/foo/bar/g' /tmp/newxml.xml", $retval1);
#!/usr/bin/perl
use strict;

`echo 'mypassword' | gpg --passphrase-fd 0 --output outfile --decrypt inputfile`