Sur*_*mar 9 php shell perl exec
我想通过PHP执行perl脚本.我exec()用来执行perl脚本.它在我的机器上工作,但在服务器上不起作用.服务器基于CentOS Linux.
我给了PHP和perl脚本文件完全许可(777).当我尝试执行时,我在error_log中收到以下错误
sh: /perl: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我尝试使用以下方式执行
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);
Run Code Online (Sandbox Code Playgroud)
我也试过使用这个system功能
$output = system("perl Script.pl $username $password");
Run Code Online (Sandbox Code Playgroud)
我尝试这个时什么也没发生.
我还尝试使用该passthru()函数执行perl
passthru("/usr/bin/perl -w Script.pl $username $password",$output);
Run Code Online (Sandbox Code Playgroud)
当我执行此行时,$output打印127并且脚本中没有任何操作.
我用该is_executable()函数检查了文件是否可执行.它显示该文件不可执行.
代码如下
$file = 'Script.pl';
if (is_executable($file))
{
echo $file.' is executable';
}
else
{
echo $file.' is not executable';
}
Run Code Online (Sandbox Code Playgroud)
如果我通过终端执行perl,它工作正常但是当我尝试通过PHP执行时,它不起作用.
小智 8
使用完整路径执行脚本.
exec("/usr/bin/perl /full/path/to/Script.pl $username $password",$output);
Run Code Online (Sandbox Code Playgroud)
问候,
| 归档时间: |
|
| 查看次数: |
31219 次 |
| 最近记录: |