我想通过 PHP 执行一个 perl 脚本。我exec()
用来执行 perl 脚本。它可以在我的机器上工作,但不能在服务器上工作。该服务器基于 CentOS Linux。
我对 PHP 和 perl 脚本文件都给予了完全许可 (777)。当我尝试执行时,我在 error_log 中收到以下错误
sh: /perl: No such file or directory
我尝试使用以下方式执行
exec("perl -w Script.pl $username $password",$output);
exec("/usr/bin/perl -w Script.pl $username $password",$output);
exec("/usr/bin/perl Script.pl $username $password",$output);
我也尝试过使用该system
功能
$output = system("perl Script.pl $username $password");
当我尝试这个时没有任何反应。
我还尝试使用该passthru()
函数执行 perl
passthru("/usr/bin/perl -w Script.pl $username $password",$output);
当我执行这一行时,$output
打印 127 并且脚本中没有任何反应。
is_executable()
我使用该功能检查了文件是否可执行。它表明该文件不可执行。
代码如下
$file = 'Script.pl';
if (is_executable($file))
{
echo $file.' is executable';
}
else
{
echo $file.' is not executable';
}
如果我通过终端执行 perl,它可以正常工作,但是当我尝试通过 PHP 执行时,它不起作用。