48 lines
1.1 KiB
PHP
48 lines
1.1 KiB
PHP
|
<?php
|
|||
|
|
|||
|
namespace app\util\sm;
|
|||
|
|
|||
|
class Exec
|
|||
|
{
|
|||
|
protected static function dirPath(): string
|
|||
|
{
|
|||
|
return dirname(__FILE__) . DIRECTORY_SEPARATOR;
|
|||
|
}
|
|||
|
|
|||
|
public static function exec(string $cmd): string
|
|||
|
{
|
|||
|
$output = null;
|
|||
|
$returnVal = null;
|
|||
|
|
|||
|
$result = exec($cmd, $output, $returnVal);
|
|||
|
|
|||
|
if (0 !== $returnVal) {
|
|||
|
throw new \LogicException('exec执行异常:' . $cmd);
|
|||
|
}
|
|||
|
if (!$result) {
|
|||
|
throw new \LogicException('exec执行返回值异常' . $cmd);
|
|||
|
}
|
|||
|
|
|||
|
return trim($result);
|
|||
|
}
|
|||
|
|
|||
|
public static function exec2(string $cmd)
|
|||
|
{
|
|||
|
$output = null;
|
|||
|
$returnVal = null;
|
|||
|
|
|||
|
exec($cmd, $output, $returnVal);
|
|||
|
|
|||
|
if (0 !== $returnVal) {
|
|||
|
throw new \LogicException('exec执行异常:' . $cmd);
|
|||
|
}
|
|||
|
if (is_array($output)) {
|
|||
|
if (count($output) == 2 && $output[1] !== 'success') {
|
|||
|
throw new \LogicException($output[1]);
|
|||
|
}
|
|||
|
return $output[0];
|
|||
|
}
|
|||
|
return $output;
|
|||
|
}
|
|||
|
|
|||
|
}
|