在php中,经常遇到php调用外部脚本程序,如exec,system函数
本环境在windows平台下测试
在php中调用perl脚本, perl文件内容如下:
#!C:\xampp\perl\bin\perl use JSON; use Encode; my $val = "helloworld\n"; my $jsonCoder = new JSON(); my $ret->{"perl"} = $val; my $r = $jsonCoder->encode($ret); print $r; exit 0;
php操作如下:重点关注注释部分
$path = app_path() . '\storage\uploads\perl.pl'; $perl_cmd = 'C:\xampp\perl\bin\perl '.$path . ' 2>&1'; //perl的可执行文件也需要是完整路径 ,指令用单引号,双引号容易出问题 $return_val = -1; // exec命令返回值 1 失败 0 成功 $result = exec($perl_cmd,$out,$return_val); print_r($out); echo "<br/>"; $result = json_decode($result,true); var_dump($result);