|
|
@@ -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();
|