ErrorException (E_WARNING)
Illegal string offset 'id' ErrorException thrown with message "Illegal string offset 'id'" Stacktrace: #15 ErrorException in /var/www/swoft/app/Http/Controller/PcPort/Column.php:115 #14 Swoft\Error\DefaultErrorDispatcher:handleError in /var/www/swoft/app/Http/Controller/PcPort/Column.php:115 #13 App\Http\Controller\PcPort\Column:index in /var/www/swoft/app/Http/Controller/DispatcherController.php:133 #12 App\Http\Controller\DispatcherController:handle in /var/www/swoft/vendor/swoft/stdlib/src/Helper/PhpHelper.php:64 #11 Swoft\Stdlib\Helper\PhpHelper:call in /var/www/swoft/vendor/swoft/http-server/src/Middleware/DefaultMiddleware.php:83 #10 Swoft\Http\Server\Middleware\DefaultMiddleware:process in /var/www/swoft/vendor/swoft/http-server/src/RequestHandler.php:80 #9 Swoft\Http\Server\RequestHandler:handle in /var/www/swoft/vendor/swoft/http-server/src/Middleware/UserMiddleware.php:62 #8 Swoft\Http\Server\Middleware\UserMiddleware:process in /var/www/swoft/vendor/swoft/http-server/src/RequestHandler.php:80 #7 Swoft\Http\Server\RequestHandler:handle in /var/www/swoft/app/Http/Middleware/TrimStringMiddleware.php:30 #6 App\Http\Middleware\TrimStringMiddleware:process in /var/www/swoft/vendor/swoft/http-server/src/RequestHandler.php:80 #5 Swoft\Http\Server\RequestHandler:handle in /var/www/swoft/app/Http/Middleware/FavIconMiddleware.php:47 #4 App\Http\Middleware\FavIconMiddleware:process in /var/www/swoft/vendor/swoft/http-server/src/RequestHandler.php:80 #3 Swoft\Http\Server\RequestHandler:handle in /var/www/swoft/app/Http/Middleware/CorsMiddleware.php:45 #2 App\Http\Middleware\CorsMiddleware:process in /var/www/swoft/vendor/swoft/http-server/src/RequestHandler.php:80 #1 Swoft\Http\Server\RequestHandler:handle in /var/www/swoft/vendor/swoft/http-server/src/HttpDispatcher.php:87 #0 Swoft\Http\Server\HttpDispatcher:dispatch in /var/www/swoft/vendor/swoft/http-server/src/Swoole/RequestListener.php:47
Stack frames (16)
15
ErrorException
/app/Http/Controller/PcPort/Column.php115
14
Swoft\Error\DefaultErrorDispatcher handleError
/app/Http/Controller/PcPort/Column.php115
13
App\Http\Controller\PcPort\Column index
/app/Http/Controller/DispatcherController.php133
12
App\Http\Controller\DispatcherController handle
/vendor/swoft/stdlib/src/Helper/PhpHelper.php64
11
Swoft\Stdlib\Helper\PhpHelper call
/vendor/swoft/http-server/src/Middleware/DefaultMiddleware.php83
10
Swoft\Http\Server\Middleware\DefaultMiddleware process
/vendor/swoft/http-server/src/RequestHandler.php80
9
Swoft\Http\Server\RequestHandler handle
/vendor/swoft/http-server/src/Middleware/UserMiddleware.php62
8
Swoft\Http\Server\Middleware\UserMiddleware process
/vendor/swoft/http-server/src/RequestHandler.php80
7
Swoft\Http\Server\RequestHandler handle
/app/Http/Middleware/TrimStringMiddleware.php30
6
App\Http\Middleware\TrimStringMiddleware process
/vendor/swoft/http-server/src/RequestHandler.php80
5
Swoft\Http\Server\RequestHandler handle
/app/Http/Middleware/FavIconMiddleware.php47
4
App\Http\Middleware\FavIconMiddleware process
/vendor/swoft/http-server/src/RequestHandler.php80
3
Swoft\Http\Server\RequestHandler handle
/app/Http/Middleware/CorsMiddleware.php45
2
App\Http\Middleware\CorsMiddleware process
/vendor/swoft/http-server/src/RequestHandler.php80
1
Swoft\Http\Server\RequestHandler handle
/vendor/swoft/http-server/src/HttpDispatcher.php87
0
Swoft\Http\Server\HttpDispatcher dispatch
/vendor/swoft/http-server/src/Swoole/RequestListener.php47
/var/www/swoft/app/Http/Controller/PcPort/Column.php
                        $areaq='';
                        if(!empty($data['area']['areadiction'])&&!empty($areaid)){
                            foreach ($data['area']['areadiction'] as $karea) {
                                if($areaid == $karea['id']){
                                    $areaq=$karea['name'];
                                }
                            }
                        }
                        $data['info']['seo_title']=str_replace('{city}',$areaq,$data['info']['seo_title']);
                        $data['info']['seo_keyword']=str_replace('{city}',$areaq,$data['info']['seo_keyword']);
                        $data['info']['seo_description']=str_replace('{city}',$areaq,$data['info']['seo_description']);
                    }
                    $data['host']=$area;
                    if(empty($data['area'])){
                        $request = context()->getResponse();
                        return $request->redirect(baseUrl('pc/index'),302);
                    }
                    $data['examinfo']=isset($data['area']['examarr'][$action]) ? $data['area']['examarr'][$action] :'';
                    $data['examroute']=$action;
                    $page_config=$this->getPagesConfig('column_news_'.$data['examinfo']['id'],$area,$action);
                    $data['page_config']=$this->getArrangement($page_config,'',[$data['examinfo']['id']]);
                    $areasid='';
                    if(!empty($areaid) && $areaid !=0){
                        $areasid=$areaid;
                    }/*else{
                        $areasid=$data['area']['areas']['id'];
                    }*/
                    $param=['page'=>(int)$page,'new_ids'=>$columnIds,'columns_id'=>$id,'level'=>$column['level'],
                        'size'=>40,'orderBy'=>'wap_recommend desc,sorttime desc,addtime desc','status'=>1,'area'=>$areasid
                    ];
                    //分页
                    $data['totalpage'] = $this->getPage($param);
                    $data['page'] = $page;
                    $data['list']=$this->news->getPageOrAll($param);
 
                    if(!empty($data['list'])){
                        foreach ($data['list'] as $ka =>$va) {
                            $data['list'][$ka]['columnname'] = isset($column_childarr[$va['column_id']]) ? $column_childarr[$va['column_id']]['name'] :'' ;
                            if(!empty($va['sorttime'])){
                                $data['list'][$ka]['addtime'] = ((int)$va['sorttime'] > time()) ? date("m-d") : dateFormat((int)$va['sorttime'],2);
/var/www/swoft/app/Http/Controller/PcPort/Column.php
                        $areaq='';
                        if(!empty($data['area']['areadiction'])&&!empty($areaid)){
                            foreach ($data['area']['areadiction'] as $karea) {
                                if($areaid == $karea['id']){
                                    $areaq=$karea['name'];
                                }
                            }
                        }
                        $data['info']['seo_title']=str_replace('{city}',$areaq,$data['info']['seo_title']);
                        $data['info']['seo_keyword']=str_replace('{city}',$areaq,$data['info']['seo_keyword']);
                        $data['info']['seo_description']=str_replace('{city}',$areaq,$data['info']['seo_description']);
                    }
                    $data['host']=$area;
                    if(empty($data['area'])){
                        $request = context()->getResponse();
                        return $request->redirect(baseUrl('pc/index'),302);
                    }
                    $data['examinfo']=isset($data['area']['examarr'][$action]) ? $data['area']['examarr'][$action] :'';
                    $data['examroute']=$action;
                    $page_config=$this->getPagesConfig('column_news_'.$data['examinfo']['id'],$area,$action);
                    $data['page_config']=$this->getArrangement($page_config,'',[$data['examinfo']['id']]);
                    $areasid='';
                    if(!empty($areaid) && $areaid !=0){
                        $areasid=$areaid;
                    }/*else{
                        $areasid=$data['area']['areas']['id'];
                    }*/
                    $param=['page'=>(int)$page,'new_ids'=>$columnIds,'columns_id'=>$id,'level'=>$column['level'],
                        'size'=>40,'orderBy'=>'wap_recommend desc,sorttime desc,addtime desc','status'=>1,'area'=>$areasid
                    ];
                    //分页
                    $data['totalpage'] = $this->getPage($param);
                    $data['page'] = $page;
                    $data['list']=$this->news->getPageOrAll($param);
 
                    if(!empty($data['list'])){
                        foreach ($data['list'] as $ka =>$va) {
                            $data['list'][$ka]['columnname'] = isset($column_childarr[$va['column_id']]) ? $column_childarr[$va['column_id']]['name'] :'' ;
                            if(!empty($va['sorttime'])){
                                $data['list'][$ka]['addtime'] = ((int)$va['sorttime'] > time()) ? date("m-d") : dateFormat((int)$va['sorttime'],2);
/var/www/swoft/app/Http/Controller/DispatcherController.php
            }else{
                if(!in_array('m',$arr)&&$arr[0]!='mtmp'){
                    $location=str_replace('replace',$arr[0].'.m',$domain).$path.$query_string;
                    return RO()->redirect($location,301);
                }
            }
        }
        
        $uri = $this->getRequestUri();
 
        //执行请求匹配的控制器
        $param = $this->getControllerAndMethod();
 
        
        $this->setSpeciality();//考试信息
        $this->setFooter();//底部信息,主要包括底部的qq,wx等联系方式的数据
        $this->setHeaderCourse();//头部选课报班信息
        //print_r($param);
        //执行接口
        $data = $param[0]->{$param[1]}(...$param[2]);
 
        //格式化并返回数据
        if (R()->isAjax()) {
            return context()->getResponse()->withData($data);
        } else {
            return $data;
        }
    }
    /**
     * 获取地区
     * @param array $controllerParam
     * @return Response
     */
    protected function setAreas()
    {
 
        // 验证token
        $areas = getContext('areas');
        if(empty($areas)){
            $areas=getArea();
/var/www/swoft/vendor/swoft/stdlib/src/Helper/PhpHelper.php
     * @return mixed
     */
    public static function call($cb, ...$args)
    {
        if (is_string($cb)) {
            // className::method
            if (strpos($cb, '::') > 0) {
                $cb = explode('::', $cb, 2);
            // function
            } elseif (function_exists($cb)) {
                return $cb(...$args);
            }
        } elseif (is_object($cb) && method_exists($cb, '__invoke')) {
            return $cb(...$args);
        }
 
        if (is_array($cb)) {
            [$obj, $mhd] = $cb;
 
            return is_object($obj) ? $obj->$mhd(...$args) : $obj::$mhd(...$args);
        }
 
        return $cb(...$args);
    }
 
    /**
     * Call by callback
     *
     * @param callable $cb
     * @param array    $args
     *
     * @return mixed
     */
    public static function callByArray($cb, array $args = [])
    {
        return self::call($cb, ...$args);
    }
 
    /**
     * @param $data
/var/www/swoft/vendor/swoft/http-server/src/Middleware/DefaultMiddleware.php
        }
 
        // Method not allowed
        if ($status === Router::METHOD_NOT_ALLOWED) {
            throw new MethodNotAllowedException(sprintf('Uri(%s) method(%s) not allowed!', $uriPath, $method));
        }
 
        // Controller and method
        $handlerId = $route->getHandler();
        [$className, $method] = explode('@', $handlerId);
 
        // Update context request
        context()->setRequest($request);
 
        $pathParams = $route->getParams();
        $bindParams = $this->bindParams($className, $method, $pathParams);
        $controller = Container::$instance->getSingleton($className);
 
        // Call class method
        $data = PhpHelper::call([$controller, $method], ...$bindParams);
 
        // Return is instanceof `ResponseInterface`
        if ($data instanceof ResponseInterface) {
            return $data;
        }
 
        $response = context()->getResponse();
        return $response->withData($data);
    }
 
    /**
     * Bind params
     *
     * @param string $className
     * @param string $method
     * @param array  $pathParams
     *
     * @return array
     * @throws ReflectionException
     * @throws SwoftException
/var/www/swoft/vendor/swoft/http-server/src/RequestHandler.php
 
    /**
     * Handler request by middleware
     *
     * @param ServerRequestInterface $request
     *
     * @return ResponseInterface
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        // Default middleware to handle request route
        $middleware = $this->middlewares[$this->offset] ?? $this->defaultMiddleware;
 
        /* @var MiddlewareInterface $bean */
        $bean = Container::$instance->getSingleton($middleware);
 
        // Next middleware
        $this->offset++;
 
        return $bean->process($request, $this);
    }
 
    /**
     * Insert middleware at offset
     *
     * @param array    $middlewares
     * @param int|null $offset
     *
     * @throws HttpServerException
     */
    public function insertMiddlewares(array $middlewares, int $offset = null): void
    {
        $offset = $offset ?? $this->offset;
        if ($offset > $this->offset) {
            throw new HttpServerException('Insert middleware offset must more than ' . $this->offset);
        }
 
        // Insert middlewares
        array_splice($this->middlewares, $offset, 0, $middlewares);
    }
/var/www/swoft/vendor/swoft/http-server/src/Middleware/UserMiddleware.php
        // Route data
        $routeData = $request->getAttribute(Request::ROUTER_ATTRIBUTE);
 
        /* @var Route $route */
        [$status, , $route] = $routeData;
 
        if ($status !== Router::FOUND) {
            return $handler->handle($request);
        }
 
        // Controller and method
        $handlerId = $route->getHandler();
        [$className, $method] = explode('@', $handlerId);
 
        $middlewares = MiddlewareRegister::getMiddlewares($className, $method);
        if (!empty($middlewares) && $handler instanceof RequestHandler) {
            $handler->insertMiddlewares($middlewares);
        }
 
        return $handler->handle($request);
    }
}
 
/var/www/swoft/vendor/swoft/http-server/src/RequestHandler.php
 
    /**
     * Handler request by middleware
     *
     * @param ServerRequestInterface $request
     *
     * @return ResponseInterface
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        // Default middleware to handle request route
        $middleware = $this->middlewares[$this->offset] ?? $this->defaultMiddleware;
 
        /* @var MiddlewareInterface $bean */
        $bean = Container::$instance->getSingleton($middleware);
 
        // Next middleware
        $this->offset++;
 
        return $bean->process($request, $this);
    }
 
    /**
     * Insert middleware at offset
     *
     * @param array    $middlewares
     * @param int|null $offset
     *
     * @throws HttpServerException
     */
    public function insertMiddlewares(array $middlewares, int $offset = null): void
    {
        $offset = $offset ?? $this->offset;
        if ($offset > $this->offset) {
            throw new HttpServerException('Insert middleware offset must more than ' . $this->offset);
        }
 
        // Insert middlewares
        array_splice($this->middlewares, $offset, 0, $middlewares);
    }
/var/www/swoft/app/Http/Middleware/TrimStringMiddleware.php
use function context;
 
/**
 * 去除空格
 * @Bean()
 * @author lihaiping
 */
class TrimStringMiddleware implements MiddlewareInterface
{
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
    {
        $param = $this->_transform($request->input());
        $data = [];
        foreach ($param as $key => $value){
            $data[$key] = $value;
        }
        
        setContext(\App\Common\AppKey::CONTEXT_HTTP_REQUEST_DATA, $data);
        
        return $handler->handle($request);
    }
    
    /**
     * 清楚空格
     * @param array $pram
     * @return array
     */
    private function _transform($pram)
    {
        foreach ($pram as $key => $item){
            $isJson = false;
            if( ! is_array($item)){
                
                if ( ! is_string($item)) {
                    continue;   
                }
                $item = trim($item);
                
                if((bool)$item){
                    $_json = $item;
/var/www/swoft/vendor/swoft/http-server/src/RequestHandler.php
 
    /**
     * Handler request by middleware
     *
     * @param ServerRequestInterface $request
     *
     * @return ResponseInterface
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        // Default middleware to handle request route
        $middleware = $this->middlewares[$this->offset] ?? $this->defaultMiddleware;
 
        /* @var MiddlewareInterface $bean */
        $bean = Container::$instance->getSingleton($middleware);
 
        // Next middleware
        $this->offset++;
 
        return $bean->process($request, $this);
    }
 
    /**
     * Insert middleware at offset
     *
     * @param array    $middlewares
     * @param int|null $offset
     *
     * @throws HttpServerException
     */
    public function insertMiddlewares(array $middlewares, int $offset = null): void
    {
        $offset = $offset ?? $this->offset;
        if ($offset > $this->offset) {
            throw new HttpServerException('Insert middleware offset must more than ' . $this->offset);
        }
 
        // Insert middlewares
        array_splice($this->middlewares, $offset, 0, $middlewares);
    }
/var/www/swoft/app/Http/Middleware/FavIconMiddleware.php
class FavIconMiddleware implements MiddlewareInterface
{
    /**
     * Process an incoming server request.
     *
     * @param ServerRequestInterface|Request $request
     * @param RequestHandlerInterface $handler
     *
     * @return ResponseInterface
     * @throws SwoftException
     * @inheritdoc
     */
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
    {
        $path = $request->getUriPath();
        if ($path === '/favicon.ico') {
            return context()->getResponse()->withStatus(404);
        }
        //if (R()->isAjax()) {
            return $handler->handle($request);
        /*}else{
            $response =  $handler->handle($request);
            $content = $response->getBody()->getContents();
            $content=str_replace('真题','试题',$content);
            $body = Stream::new($content);
            return $response->withBody($body);
        }*/
    }
}
 
/var/www/swoft/vendor/swoft/http-server/src/RequestHandler.php
 
    /**
     * Handler request by middleware
     *
     * @param ServerRequestInterface $request
     *
     * @return ResponseInterface
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        // Default middleware to handle request route
        $middleware = $this->middlewares[$this->offset] ?? $this->defaultMiddleware;
 
        /* @var MiddlewareInterface $bean */
        $bean = Container::$instance->getSingleton($middleware);
 
        // Next middleware
        $this->offset++;
 
        return $bean->process($request, $this);
    }
 
    /**
     * Insert middleware at offset
     *
     * @param array    $middlewares
     * @param int|null $offset
     *
     * @throws HttpServerException
     */
    public function insertMiddlewares(array $middlewares, int $offset = null): void
    {
        $offset = $offset ?? $this->offset;
        if ($offset > $this->offset) {
            throw new HttpServerException('Insert middleware offset must more than ' . $this->offset);
        }
 
        // Insert middlewares
        array_splice($this->middlewares, $offset, 0, $middlewares);
    }
/var/www/swoft/app/Http/Middleware/CorsMiddleware.php
 */
class CorsMiddleware implements MiddlewareInterface
{
    /**
     * Process an incoming server request.
     *
     * @param ServerRequestInterface|Request $request
     * @param RequestHandlerInterface $handler
     *
     * @return ResponseInterface
     * @throws SwoftException
     * @inheritdoc
     */
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
    {
        if ('OPTIONS' === $request->getMethod()) {
            $response = Context::mustGet()->getResponse();
            return $this->configResponse($response);
        }
        $response = $handler->handle($request);
        return $this->configResponse($response);
    }
 
    private function configResponse(ResponseInterface $response)
    {
        return $response->withHeader('Access-Control-Allow-Origin', '*')->withHeader('Access-Control-Allow-Credentials', 'true')->withHeader('Access-Control-Allow-Headers', 'X-Requested-With, Content-Type, Accept, Origin, Authorization')->withHeader('Access-Control-Allow-Methods', 'GET, POST');
    }
}
 
/var/www/swoft/vendor/swoft/http-server/src/RequestHandler.php
 
    /**
     * Handler request by middleware
     *
     * @param ServerRequestInterface $request
     *
     * @return ResponseInterface
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        // Default middleware to handle request route
        $middleware = $this->middlewares[$this->offset] ?? $this->defaultMiddleware;
 
        /* @var MiddlewareInterface $bean */
        $bean = Container::$instance->getSingleton($middleware);
 
        // Next middleware
        $this->offset++;
 
        return $bean->process($request, $this);
    }
 
    /**
     * Insert middleware at offset
     *
     * @param array    $middlewares
     * @param int|null $offset
     *
     * @throws HttpServerException
     */
    public function insertMiddlewares(array $middlewares, int $offset = null): void
    {
        $offset = $offset ?? $this->offset;
        if ($offset > $this->offset) {
            throw new HttpServerException('Insert middleware offset must more than ' . $this->offset);
        }
 
        // Insert middlewares
        array_splice($this->middlewares, $offset, 0, $middlewares);
    }
/var/www/swoft/vendor/swoft/http-server/src/HttpDispatcher.php
         * @var Request  $request
         * @var Response $response
         */
        [$request, $response] = $params;
 
        /* @var RequestHandler $requestHandler */
        $requestHandler = Swoft::getBean(RequestHandler::class);
 
        try {
            $requestHandler->initialize($this->requestMiddlewares, $this->defaultMiddleware);
 
            // Before request
            $this->beforeRequest($request, $response);
 
            // Trigger before handle event
            Swoft::trigger(HttpServerEvent::BEFORE_REQUEST, null, $request, $response);
 
            // Match router and handle
            $request  = $this->matchRouter($request);
            $response = $requestHandler->handle($request);
        } catch (Throwable $e) {
            /** @var HttpErrorDispatcher $errDispatcher */
            $errDispatcher = Swoft::getSingleton(HttpErrorDispatcher::class);
 
            // Handle request error
            $response = $errDispatcher->run($e, $response);
        }
 
        try {
            // Format response content type
            $response = $this->acceptFormatter->format($response);
 
            // Trigger after request
            Swoft::trigger(HttpServerEvent::AFTER_REQUEST, null, $response);
 
            // After request
            $this->afterRequest($response);
        } catch (Throwable $e) {
            Error::log('response error=%s(%d) at %s:%d', $e->getMessage(), $e->getCode(), $e->getFile(), $e->getLine());
        }
/var/www/swoft/vendor/swoft/http-server/src/Swoole/RequestListener.php
 */
class RequestListener implements RequestInterface
{
    /**
     * @Inject()
     *
     * @var HttpDispatcher
     */
    private $dispatcher;
 
    /**
     * @param Request  $request
     * @param Response $response
     */
    public function onRequest(Request $request, Response $response): void
    {
        $psrRequest  = ServerRequest::new($request);
        $psrResponse = ServerResponse::new($response);
 
        $this->dispatcher->dispatch($psrRequest, $psrResponse);
    }
}
 

Environment & details:

empty
empty
empty
empty
empty
Key Value
COURSEAPI_PORT_80_TCP_PORT 80
GIFT_PORT_80_TCP tcp://172.28.253.92:80
ZTJS_SERVICE_HOST 172.28.252.142
OFFICIAL_ADMIN_PORT_80_TCP tcp://172.28.255.202:80
KUBERNETES_PORT tcp://172.28.252.1:443
MATERIAL_ADMIN_SERVICE_HOST 172.28.254.39
KUBERNETES_SERVICE_PORT 443
STORE_PC_SERVICE_HOST 172.28.254.162
COURSEAPI_PORT_80_TCP_PROTO tcp
OFFICIAL_PC_PORT tcp://172.28.252.210:18306
MATERIAL_MP_PORT_18306_TCP_ADDR 172.28.253.181
INTERVIEW_ASSESS_PORT tcp://172.28.253.195:18306
OFFICIAL_PC_SERVICE_PORT 18306
INTERVIEW_ASSESS_SERVICE_PORT 18306
HOSTNAME official-pc-766c8fb58-lh55j
STORE_ADMIN_PORT_18306_TCP tcp://172.28.254.254:18306
EVENTS_PORT tcp://172.28.252.138:80
EVENTS_SERVICE_PORT 80
PHP_INI_DIR /usr/local/etc/php
COURSES_SERVICE_HOST 172.28.252.136
MATERIAL_MP_PORT_18306_TCP_PORT 18306
HOME /root
INTERVIEW_ASSESS_PORT_18306_TCP_ADDR 172.28.253.195
KUBE_USER_PORT_443_TCP_ADDR 172.28.254.45
ACTIVITY_SERVICE_HOST 172.28.252.121
ZTJS_PORT tcp://172.28.252.142:80
ZTJS_SERVICE_PORT 80
OFFICIAL_PC_PORT_18306_TCP_ADDR 172.28.252.210
TIKU_SERVICE_HOST 172.28.255.182
GIFT_SERVICE_PORT_HTTP 80
MATERIAL_MP_PORT_18306_TCP_PROTO tcp
STORE_PC_PORT tcp://172.28.254.162:18306
ACTIVITY_API_SERVICE_HOST 172.28.253.188
STORE_PC_SERVICE_PORT 18306
MATERIAL_ADMIN_SERVICE_PORT 18306
MATERIAL_ADMIN_PORT tcp://172.28.254.39:18306
COURSEAPI_PORT_80_TCP tcp://172.28.252.107:80
KUBE_USER_PORT_443_TCP_PORT 443
EVENTS_PORT_80_TCP_ADDR 172.28.252.138
OFFICIAL_PC_PORT_18306_TCP_PORT 18306
INTERVIEW_ASSESS_PORT_18306_TCP_PORT 18306
PHP_LDFLAGS -Wl,-O1 -Wl,--hash-style=both -pie
KUBE_USER_PORT_443_TCP_PROTO tcp
OFFICIAL_PC_PORT_18306_TCP_PROTO tcp
INTERVIEW_ASSESS_PORT_18306_TCP_PROTO tcp
PHP_CFLAGS -fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
PHP_MD5
COURSES_PORT tcp://172.28.252.136:80
STORE_PC_PORT_18306_TCP_ADDR 172.28.254.162
COURSES_SERVICE_PORT 80
STORE_SVC_SERVICE_HOST 172.28.252.45
MATERIAL_ADMIN_PORT_18306_TCP_ADDR 172.28.254.39
PHP_VERSION 7.2.26
ZTJS_PORT_80_TCP_ADDR 172.28.252.142
EVENTS_PORT_80_TCP_PORT 80
TIMEZONE Asia/Shanghai
TIKU_SERVICE_PORT 80
TIKU_PORT tcp://172.28.255.182:80
ACTIVITY_PORT tcp://172.28.252.121:80
GIFT_SERVICE_HOST 172.28.253.92
EVENTS_PORT_80_TCP_PROTO tcp
ACTIVITY_SERVICE_PORT 80
GPG_KEYS 1729F83938DA44E27BA0F4D3DBDB397470D12172 B1B44D8F021E4E2D6021E995DC9FF8D3EE5AF27F
STORE_PC_PORT_18306_TCP_PORT 18306
ACTIVITY_API_SERVICE_PORT 80
ACTIVITY_API_PORT tcp://172.28.253.188:80
MATERIAL_ADMIN_PORT_18306_TCP_PORT 18306
MATERIAL_MP_PORT_18306_TCP tcp://172.28.253.181:18306
OFFICIAL_ADMIN_SERVICE_HOST 172.28.255.202
PHP_CPPFLAGS -fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
PHP_ASC_URL https://www.php.net/get/php-7.2.26.tar.xz.asc/from/this/mirror
COMPOSER_ALLOW_SUPERUSER 1
STORE_PC_PORT_18306_TCP_PROTO tcp
ZTJS_PORT_80_TCP_PORT 80
MATERIAL_ADMIN_PORT_18306_TCP_PROTO tcp
ZTJS_PORT_80_TCP_PROTO tcp
PHP_URL https://www.php.net/get/php-7.2.26.tar.xz/from/this/mirror
COURSES_PORT_80_TCP_ADDR 172.28.252.136
KUBE_USER_PORT_443_TCP tcp://172.28.254.45:443
STORE_SVC_PORT tcp://172.28.252.45:18306
INTERVIEW_ASSESS_PORT_18306_TCP tcp://172.28.253.195:18306
KUBERNETES_PORT_443_TCP_ADDR 172.28.252.1
KUBE_USER_SERVICE_PORT_HTTPS 443
STORE_SVC_SERVICE_PORT 18306
OFFICIAL_PC_PORT_18306_TCP tcp://172.28.252.210:18306
TIKU_PORT_80_TCP_ADDR 172.28.255.182
STORE_ADMIN_SERVICE_HOST 172.28.254.254
ACTIVITY_PORT_80_TCP_ADDR 172.28.252.121
PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ACTIVITY_API_PORT_80_TCP_ADDR 172.28.253.188
COURSES_PORT_80_TCP_PORT 80
KUBE_USER_SERVICE_HOST 172.28.254.45
GIFT_SERVICE_PORT 80
GIFT_PORT tcp://172.28.253.92:80
OFFICIAL_ADMIN_SERVICE_PORT 80
OFFICIAL_ADMIN_PORT tcp://172.28.255.202:80
EVENTS_PORT_80_TCP tcp://172.28.252.138:80
COURSES_PORT_80_TCP_PROTO tcp
KUBERNETES_PORT_443_TCP_PORT 443
KUBERNETES_PORT_443_TCP_PROTO tcp
COURSEAPI_SERVICE_HOST 172.28.252.107
TIKU_PORT_80_TCP_PORT 80
STORE_SVC_PORT_18306_TCP_ADDR 172.28.252.45
ACTIVITY_PORT_80_TCP_PORT 80
STORE_PC_PORT_18306_TCP tcp://172.28.254.162:18306
ACTIVITY_PORT_80_TCP_PROTO tcp
MATERIAL_ADMIN_PORT_18306_TCP tcp://172.28.254.39:18306
TIKU_PORT_80_TCP_PROTO tcp
ACTIVITY_API_PORT_80_TCP_PORT 80
ACTIVITY_API_PORT_80_TCP_PROTO tcp
ZTJS_PORT_80_TCP tcp://172.28.252.142:80
STORE_SVC_PORT_18306_TCP_PORT 18306
STORE_ADMIN_PORT tcp://172.28.254.254:18306
STORE_ADMIN_SERVICE_PORT 18306
STORE_SVC_PORT_18306_TCP_PROTO tcp
GIFT_PORT_80_TCP_ADDR 172.28.253.92
KUBE_USER_SERVICE_PORT 443
OFFICIAL_ADMIN_PORT_80_TCP_ADDR 172.28.255.202
KUBE_USER_PORT tcp://172.28.254.45:443
SWOOLE_VERSION 4.4.3
EVENTS_SERVICE_PORT_HTTP 80
GIFT_PORT_80_TCP_PORT 80
COURSES_PORT_80_TCP tcp://172.28.252.136:80
COURSEAPI_SERVICE_PORT 80
COURSEAPI_PORT tcp://172.28.252.107:80
KUBERNETES_SERVICE_PORT_HTTPS 443
GIFT_PORT_80_TCP_PROTO tcp
STORE_ADMIN_PORT_18306_TCP_ADDR 172.28.254.254
MATERIAL_MP_SERVICE_HOST 172.28.253.181
KUBERNETES_PORT_443_TCP tcp://172.28.252.1:443
OFFICIAL_ADMIN_PORT_80_TCP_PORT 80
TIKU_PORT_80_TCP tcp://172.28.255.182:80
ACTIVITY_PORT_80_TCP tcp://172.28.252.121:80
OFFICIAL_ADMIN_PORT_80_TCP_PROTO tcp
ZTJS_SERVICE_PORT_HTTP 80
APP_ENV prod
ACTIVITY_API_PORT_80_TCP tcp://172.28.253.188:80
KUBERNETES_SERVICE_HOST 172.28.252.1
PHPIZE_DEPS autoconf dpkg-dev file g++ gcc libc-dev make pkg-config re2c
PWD /var/www/swoft
STORE_ADMIN_PORT_18306_TCP_PORT 18306
PHP_SHA256 1dd3bc875e105f5c9d21fb4dc240670bd2c22037820ff03890f5ab883c88b78d
OFFICIAL_PC_SERVICE_HOST 172.28.252.210
INTERVIEW_ASSESS_SERVICE_HOST 172.28.253.195
STORE_SVC_PORT_18306_TCP tcp://172.28.252.45:18306
STORE_ADMIN_PORT_18306_TCP_PROTO tcp
EVENTS_SERVICE_HOST 172.28.252.138
COURSEAPI_PORT_80_TCP_ADDR 172.28.252.107
PHPREDIS_VERSION 4.3.0
COURSES_SERVICE_PORT_HTTP 80
MATERIAL_MP_SERVICE_PORT 18306
MATERIAL_MP_PORT tcp://172.28.253.181:18306
PHP_SELF /var/www/swoft/bin/swoft
SCRIPT_NAME /var/www/swoft/bin/swoft
SCRIPT_FILENAME /var/www/swoft/bin/swoft
PATH_TRANSLATED /var/www/swoft/bin/swoft
DOCUMENT_ROOT
REQUEST_TIME_FLOAT 1634891814.4954
REQUEST_TIME 1634891814
argv Array ( [0] => /var/www/swoft/bin/swoft [1] => http:start )
argc 2
Key Value
COURSEAPI_PORT_80_TCP_PORT 80
GIFT_PORT_80_TCP tcp://172.28.253.92:80
ZTJS_SERVICE_HOST 172.28.252.142
OFFICIAL_ADMIN_PORT_80_TCP tcp://172.28.255.202:80
KUBERNETES_PORT tcp://172.28.252.1:443
MATERIAL_ADMIN_SERVICE_HOST 172.28.254.39
KUBERNETES_SERVICE_PORT 443
STORE_PC_SERVICE_HOST 172.28.254.162
COURSEAPI_PORT_80_TCP_PROTO tcp
OFFICIAL_PC_PORT tcp://172.28.252.210:18306
MATERIAL_MP_PORT_18306_TCP_ADDR 172.28.253.181
INTERVIEW_ASSESS_PORT tcp://172.28.253.195:18306
OFFICIAL_PC_SERVICE_PORT 18306
INTERVIEW_ASSESS_SERVICE_PORT 18306
HOSTNAME official-pc-766c8fb58-lh55j
STORE_ADMIN_PORT_18306_TCP tcp://172.28.254.254:18306
EVENTS_PORT tcp://172.28.252.138:80
EVENTS_SERVICE_PORT 80
PHP_INI_DIR /usr/local/etc/php
COURSES_SERVICE_HOST 172.28.252.136
MATERIAL_MP_PORT_18306_TCP_PORT 18306
HOME /root
INTERVIEW_ASSESS_PORT_18306_TCP_ADDR 172.28.253.195
KUBE_USER_PORT_443_TCP_ADDR 172.28.254.45
ACTIVITY_SERVICE_HOST 172.28.252.121
ZTJS_PORT tcp://172.28.252.142:80
ZTJS_SERVICE_PORT 80
OFFICIAL_PC_PORT_18306_TCP_ADDR 172.28.252.210
TIKU_SERVICE_HOST 172.28.255.182
GIFT_SERVICE_PORT_HTTP 80
MATERIAL_MP_PORT_18306_TCP_PROTO tcp
STORE_PC_PORT tcp://172.28.254.162:18306
ACTIVITY_API_SERVICE_HOST 172.28.253.188
STORE_PC_SERVICE_PORT 18306
MATERIAL_ADMIN_SERVICE_PORT 18306
MATERIAL_ADMIN_PORT tcp://172.28.254.39:18306
COURSEAPI_PORT_80_TCP tcp://172.28.252.107:80
KUBE_USER_PORT_443_TCP_PORT 443
EVENTS_PORT_80_TCP_ADDR 172.28.252.138
OFFICIAL_PC_PORT_18306_TCP_PORT 18306
INTERVIEW_ASSESS_PORT_18306_TCP_PORT 18306
PHP_LDFLAGS -Wl,-O1 -Wl,--hash-style=both -pie
KUBE_USER_PORT_443_TCP_PROTO tcp
OFFICIAL_PC_PORT_18306_TCP_PROTO tcp
INTERVIEW_ASSESS_PORT_18306_TCP_PROTO tcp
PHP_CFLAGS -fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
PHP_MD5
COURSES_PORT tcp://172.28.252.136:80
STORE_PC_PORT_18306_TCP_ADDR 172.28.254.162
COURSES_SERVICE_PORT 80
STORE_SVC_SERVICE_HOST 172.28.252.45
MATERIAL_ADMIN_PORT_18306_TCP_ADDR 172.28.254.39
PHP_VERSION 7.2.26
ZTJS_PORT_80_TCP_ADDR 172.28.252.142
EVENTS_PORT_80_TCP_PORT 80
TIMEZONE Asia/Shanghai
TIKU_SERVICE_PORT 80
TIKU_PORT tcp://172.28.255.182:80
ACTIVITY_PORT tcp://172.28.252.121:80
GIFT_SERVICE_HOST 172.28.253.92
EVENTS_PORT_80_TCP_PROTO tcp
ACTIVITY_SERVICE_PORT 80
GPG_KEYS 1729F83938DA44E27BA0F4D3DBDB397470D12172 B1B44D8F021E4E2D6021E995DC9FF8D3EE5AF27F
STORE_PC_PORT_18306_TCP_PORT 18306
ACTIVITY_API_SERVICE_PORT 80
ACTIVITY_API_PORT tcp://172.28.253.188:80
MATERIAL_ADMIN_PORT_18306_TCP_PORT 18306
MATERIAL_MP_PORT_18306_TCP tcp://172.28.253.181:18306
OFFICIAL_ADMIN_SERVICE_HOST 172.28.255.202
PHP_CPPFLAGS -fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
PHP_ASC_URL https://www.php.net/get/php-7.2.26.tar.xz.asc/from/this/mirror
COMPOSER_ALLOW_SUPERUSER 1
STORE_PC_PORT_18306_TCP_PROTO tcp
ZTJS_PORT_80_TCP_PORT 80
MATERIAL_ADMIN_PORT_18306_TCP_PROTO tcp
ZTJS_PORT_80_TCP_PROTO tcp
PHP_URL https://www.php.net/get/php-7.2.26.tar.xz/from/this/mirror
COURSES_PORT_80_TCP_ADDR 172.28.252.136
KUBE_USER_PORT_443_TCP tcp://172.28.254.45:443
STORE_SVC_PORT tcp://172.28.252.45:18306
INTERVIEW_ASSESS_PORT_18306_TCP tcp://172.28.253.195:18306
KUBERNETES_PORT_443_TCP_ADDR 172.28.252.1
KUBE_USER_SERVICE_PORT_HTTPS 443
STORE_SVC_SERVICE_PORT 18306
OFFICIAL_PC_PORT_18306_TCP tcp://172.28.252.210:18306
TIKU_PORT_80_TCP_ADDR 172.28.255.182
STORE_ADMIN_SERVICE_HOST 172.28.254.254
ACTIVITY_PORT_80_TCP_ADDR 172.28.252.121
PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ACTIVITY_API_PORT_80_TCP_ADDR 172.28.253.188
COURSES_PORT_80_TCP_PORT 80
KUBE_USER_SERVICE_HOST 172.28.254.45
GIFT_SERVICE_PORT 80
GIFT_PORT tcp://172.28.253.92:80
OFFICIAL_ADMIN_SERVICE_PORT 80
OFFICIAL_ADMIN_PORT tcp://172.28.255.202:80
EVENTS_PORT_80_TCP tcp://172.28.252.138:80
COURSES_PORT_80_TCP_PROTO tcp
KUBERNETES_PORT_443_TCP_PORT 443
KUBERNETES_PORT_443_TCP_PROTO tcp
COURSEAPI_SERVICE_HOST 172.28.252.107
TIKU_PORT_80_TCP_PORT 80
STORE_SVC_PORT_18306_TCP_ADDR 172.28.252.45
ACTIVITY_PORT_80_TCP_PORT 80
STORE_PC_PORT_18306_TCP tcp://172.28.254.162:18306
ACTIVITY_PORT_80_TCP_PROTO tcp
MATERIAL_ADMIN_PORT_18306_TCP tcp://172.28.254.39:18306
TIKU_PORT_80_TCP_PROTO tcp
ACTIVITY_API_PORT_80_TCP_PORT 80
ACTIVITY_API_PORT_80_TCP_PROTO tcp
ZTJS_PORT_80_TCP tcp://172.28.252.142:80
STORE_SVC_PORT_18306_TCP_PORT 18306
STORE_ADMIN_PORT tcp://172.28.254.254:18306
STORE_ADMIN_SERVICE_PORT 18306
STORE_SVC_PORT_18306_TCP_PROTO tcp
GIFT_PORT_80_TCP_ADDR 172.28.253.92
KUBE_USER_SERVICE_PORT 443
OFFICIAL_ADMIN_PORT_80_TCP_ADDR 172.28.255.202
KUBE_USER_PORT tcp://172.28.254.45:443
SWOOLE_VERSION 4.4.3
EVENTS_SERVICE_PORT_HTTP 80
GIFT_PORT_80_TCP_PORT 80
COURSES_PORT_80_TCP tcp://172.28.252.136:80
COURSEAPI_SERVICE_PORT 80
COURSEAPI_PORT tcp://172.28.252.107:80
KUBERNETES_SERVICE_PORT_HTTPS 443
GIFT_PORT_80_TCP_PROTO tcp
STORE_ADMIN_PORT_18306_TCP_ADDR 172.28.254.254
MATERIAL_MP_SERVICE_HOST 172.28.253.181
KUBERNETES_PORT_443_TCP tcp://172.28.252.1:443
OFFICIAL_ADMIN_PORT_80_TCP_PORT 80
TIKU_PORT_80_TCP tcp://172.28.255.182:80
ACTIVITY_PORT_80_TCP tcp://172.28.252.121:80
OFFICIAL_ADMIN_PORT_80_TCP_PROTO tcp
ZTJS_SERVICE_PORT_HTTP 80
APP_ENV prod
ACTIVITY_API_PORT_80_TCP tcp://172.28.253.188:80
KUBERNETES_SERVICE_HOST 172.28.252.1
PHPIZE_DEPS autoconf dpkg-dev file g++ gcc libc-dev make pkg-config re2c
PWD /var/www/swoft
STORE_ADMIN_PORT_18306_TCP_PORT 18306
PHP_SHA256 1dd3bc875e105f5c9d21fb4dc240670bd2c22037820ff03890f5ab883c88b78d
OFFICIAL_PC_SERVICE_HOST 172.28.252.210
INTERVIEW_ASSESS_SERVICE_HOST 172.28.253.195
STORE_SVC_PORT_18306_TCP tcp://172.28.252.45:18306
STORE_ADMIN_PORT_18306_TCP_PROTO tcp
EVENTS_SERVICE_HOST 172.28.252.138
COURSEAPI_PORT_80_TCP_ADDR 172.28.252.107
PHPREDIS_VERSION 4.3.0
COURSES_SERVICE_PORT_HTTP 80
MATERIAL_MP_SERVICE_PORT 18306
MATERIAL_MP_PORT tcp://172.28.253.181:18306
0. Whoops\Handler\PrettyPageHandler