|  | @@ -3,11 +3,10 @@
 | 
	
		
			
				|  |  |  /**
 | 
	
		
			
				|  |  |   * 入口文件
 | 
	
		
			
				|  |  |   *
 | 
	
		
			
				|  |  | - * 腾讯云函数版本维护:
 | 
	
		
			
				|  |  | + * 云函数版本维护:
 | 
	
		
			
				|  |  |   * 1、去掉顶部的 “#!/usr/bin/env php”,将文件名改为 index.php
 | 
	
		
			
				|  |  |   * 2、将 “define('IS_SCF', false);” 改为 “define('IS_SCF', true);”
 | 
	
		
			
				|  |  | - * 3、使用 function main_handler($event, $context) {} 将下面的 try catch 部分包起来,
 | 
	
		
			
				|  |  | - *    并在 try 最后一行追加 “return '云函数执行成功。';”,在 main_handler 函数的最后一行追加 “return '云函数执行失败。';”
 | 
	
		
			
				|  |  | + * 3、干掉最下方的 run(); 调用
 | 
	
		
			
				|  |  |   *
 | 
	
		
			
				|  |  |   * @author mybsdc <[email protected]>
 | 
	
		
			
				|  |  |   * @date 2019/3/2
 | 
	
	
		
			
				|  | @@ -19,13 +18,13 @@ error_reporting(E_ERROR);
 | 
	
		
			
				|  |  |  ini_set('display_errors', 1);
 | 
	
		
			
				|  |  |  set_time_limit(0);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -define('IS_SCF', false); // 是否腾讯云函数环境
 | 
	
		
			
				|  |  | +define('IS_SCF', false); // 是否云函数环境
 | 
	
		
			
				|  |  |  define('IS_CLI', PHP_SAPI === 'cli');
 | 
	
		
			
				|  |  |  define('DS', DIRECTORY_SEPARATOR);
 | 
	
		
			
				|  |  |  define('ROOT_PATH', realpath(__DIR__));
 | 
	
		
			
				|  |  |  define('VENDOR_PATH', realpath(ROOT_PATH . '/vendor'));
 | 
	
		
			
				|  |  |  define('APP_PATH', realpath(ROOT_PATH . '/app'));
 | 
	
		
			
				|  |  | -define('DATA_PATH', IS_SCF ? '/tmp' : realpath(ROOT_PATH . '/app/Data')); // 腾讯云函数只有 /tmp 目录的读写权限
 | 
	
		
			
				|  |  | +define('DATA_PATH', IS_SCF ? '/tmp' : realpath(ROOT_PATH . '/app/Data')); // 云函数只有 /tmp 目录的读写权限
 | 
	
		
			
				|  |  |  define('RESOURCES_PATH', realpath(ROOT_PATH . '/resources'));
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  date_default_timezone_set('Asia/Shanghai');
 | 
	
	
		
			
				|  | @@ -67,14 +66,55 @@ function exception_handler($e)
 | 
	
		
			
				|  |  |      Message::send("具体的异常内容是:\n" . $e->getMessage(), '主人,未捕获的异常');
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -try {
 | 
	
		
			
				|  |  | -    system_check();
 | 
	
		
			
				|  |  | +/**
 | 
	
		
			
				|  |  | + * 腾讯云函数
 | 
	
		
			
				|  |  | + *
 | 
	
		
			
				|  |  | + * @param $event
 | 
	
		
			
				|  |  | + * @param $context
 | 
	
		
			
				|  |  | + *
 | 
	
		
			
				|  |  | + * @return string
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +function main_handler($event, $context)
 | 
	
		
			
				|  |  | +{
 | 
	
		
			
				|  |  | +    return run();
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/**
 | 
	
		
			
				|  |  | + * 阿里云函数
 | 
	
		
			
				|  |  | + *
 | 
	
		
			
				|  |  | + * @param $event
 | 
	
		
			
				|  |  | + * @param $context
 | 
	
		
			
				|  |  | + *
 | 
	
		
			
				|  |  | + * @return string
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +function handler($event, $context)
 | 
	
		
			
				|  |  | +{
 | 
	
		
			
				|  |  | +    $logger = $GLOBALS['fcLogger'];
 | 
	
		
			
				|  |  | +    $logger->info('开始执行阿里云函数');
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    return run();
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    $class = sprintf('Luolongfei\App\Console\%s', get_argv('c', 'FreeNom'));
 | 
	
		
			
				|  |  | -    $fn = get_argv('m', 'handle');
 | 
	
		
			
				|  |  | +/**
 | 
	
		
			
				|  |  | + * @return string|bool
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +function run()
 | 
	
		
			
				|  |  | +{
 | 
	
		
			
				|  |  | +    try {
 | 
	
		
			
				|  |  | +        system_check();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    $class::getInstance()->$fn();
 | 
	
		
			
				|  |  | -} catch (\Exception $e) {
 | 
	
		
			
				|  |  | -    system_log(sprintf('执行出错:<red>%s</red>', $e->getMessage()), $e->getTrace());
 | 
	
		
			
				|  |  | -    Message::send("执行出错:\n" . $e->getMessage(), '主人,捕获异常');
 | 
	
		
			
				|  |  | +        $class = sprintf('Luolongfei\App\Console\%s', get_argv('c', 'FreeNom'));
 | 
	
		
			
				|  |  | +        $fn = get_argv('m', 'handle');
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        $class::getInstance()->$fn();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        return IS_SCF ? '云函数执行成功。' : true;
 | 
	
		
			
				|  |  | +    } catch (\Exception $e) {
 | 
	
		
			
				|  |  | +        system_log(sprintf('执行出错:<red>%s</red>', $e->getMessage()), $e->getTrace());
 | 
	
		
			
				|  |  | +        Message::send("执行出错:\n" . $e->getMessage(), '主人,捕获异常');
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    return IS_SCF ? '云函数执行失败。' : false;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +run();
 |