Update index.php

pull/73/head
qkqpttgf 2020-06-02 18:31:53 +08:00 committed by GitHub
parent 1e437f8864
commit 3fb1193aa0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 56 additions and 2 deletions

View File

@ -1,12 +1,12 @@
<?php <?php
error_reporting(E_ALL ^ E_NOTICE); //error_reporting(E_ALL & ~E_NOTICE);
include 'vendor/autoload.php'; include 'vendor/autoload.php';
include 'conststr.php'; include 'conststr.php';
include 'common.php'; include 'common.php';
//echo '<pre>'. json_encode($_SERVER, JSON_PRETTY_PRINT).'</pre>'; //echo '<pre>'. json_encode($_SERVER, JSON_PRETTY_PRINT).'</pre>';
if (isset($_SERVER['USER'])&&$_SERVER['USER']==='qcloud') { if (isset($_SERVER['USER'])&&$_SERVER['USER']==='qcloud') {
include 'platform/scf.php'; include 'platform/tencentscf.php';
} elseif (isset($_SERVER['HEROKU_APP_DIR'])&&$_SERVER['HEROKU_APP_DIR']==='/app') { } elseif (isset($_SERVER['HEROKU_APP_DIR'])&&$_SERVER['HEROKU_APP_DIR']==='/app') {
include 'platform/heroku.php'; include 'platform/heroku.php';
$path = getpath(); $path = getpath();
@ -20,6 +20,9 @@ if (isset($_SERVER['USER'])&&$_SERVER['USER']==='qcloud') {
} }
http_response_code($re['statusCode']); http_response_code($re['statusCode']);
echo $re['body']; echo $re['body'];
} elseif (isset($_SERVER['FC_SERVER_PATH'])&&$_SERVER['FC_SERVER_PATH']==='/var/fc/runtime/php7.2') {
//echo '<pre>'. json_encode($_SERVER, JSON_PRETTY_PRINT).'</pre>';
include 'platform/alifc.php';
} else { } else {
include 'platform/normal.php'; include 'platform/normal.php';
$path = getpath(); $path = getpath();
@ -51,3 +54,54 @@ function main_handler($event, $context)
return main($path); return main($path);
} }
function handler($request, $context)
{
set_error_handler("myErrorHandler");
$event = array(
'method' => $request->getMethod(),
'clientIP' => $request->getAttribute("clientIP"),
'requestURI' => $request->getAttribute("requestURI"),
'path' => spurlencode($request->getAttribute("path"), '/'),
'queryString' => $request->getQueryParams(),
'headers' => $request->getHeaders(),
'body' => $request->getBody()->getContents(),
);
$context = json_decode(json_encode($context), true);
printInput($event, $context);
unset($_POST);
unset($_GET);
unset($_COOKIE);
unset($_SERVER);
GetGlobalVariable($event);
$path = GetPathSetting($event, $context);
$re = main($path);
return new RingCentral\Psr7\Response($re['statusCode'], $re['headers'], $re['body']);
}
function myErrorHandler($errno, $errstr, $errfile, $errline) {
if (!(error_reporting() & $errno)) {
return false;
}
switch ($errno) {
case E_USER_ERROR:
$errInfo = array(
"errorMessage" => $errstr,
"errorType" => \ServerlessFC\friendly_error_type($errno),
"stackTrace" => array(
"file" => $errfile,
"line" => $errline,
),
);
throw new \ErrorException($errstr, 0, $errno, $errfile, $errline);
break;
default: // E_USER_WARNING | E_USER_NOTICE
break;
}
/* Don't execute PHP internal error handler */
return true;
}