带参数的php shell_exec
我想使用php运行此命令:带参数的php shell_exec,php,Php,我想使用php运行此命令: kdu_expand -i 1.jp2 -o 1.tif -region '{0,0},{0.5,0.5}' kdu_expand.exe位于home/kakadu文件夹中 <?php require "api/include/database.php"; if ($_GET) { if ($_GET['link'] && $_GET['id'] && $_GET['height'] && $_GET
kdu_expand -i 1.jp2 -o 1.tif -region '{0,0},{0.5,0.5}'
kdu_expand.exe位于home/kakadu
文件夹中
<?php
require "api/include/database.php";
if ($_GET) {
if ($_GET['link'] && $_GET['id'] && $_GET['height'] && $_GET['width']) {
$link = $_GET['link'];
$id = $_GET['id'];
$height = $_GET['height'];
$width = $_GET['width'];
$db = Database::connect();
$sql = "SELECT * FROM stacks WHERE stack_id = ?";
$query = $db->prepare($sql);
$query->execute(array($id));
if ($query->rowCount() > 0) {
$stacks = $query->fetchAll(PDO::FETCH_ASSOC);
mkdir("/SharedFolder/tmp/" . $id, 0777);
foreach($stacks as $stack) {
$region = [
'left' => $stack['rect_x'] / $width,
'top' => $stack['rect_y'] / $height,
'width' => $stack['rect_w'] / $width,
'height' => $stack['rect_h'] / $height
];
$argument = "-i /SharedFolder/stacks/{$plink} -o /SharedFolder/tmp/{$id}/{$stack['id']}.tif -region '{{$region['top']},{$region['left']}},{{$region['height']},{$region['width']}}'";
echo $argument . '<br />';
shell_exec("/home/kakadu/kdu_expand.exe {$argument}");
}
}
}
}
当我在shell中尝试此命令时;它返回:
kdu_expand.exe:无法执行二进制文件:Exec格式错误
我更改了命令,如下所示:
shell_exec("cd /home/kakadu && kdu_expand {$argument}");