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;
 | ||
|     }
 | ||
| 
 | ||
| } |