Warning (2)
: Undefined array key "HTTP_ACCEPT_LANGUAGE" [in
/var/www/virtual/ts-teacher-dev.itokchinese.com/src/Controller/AppController.php, line
144]
Code
if (empty($locale)) {
$browser_lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 5);
switch ($browser_lang) {
App\Controller\AppController->initialize() /var/www/virtual/ts-teacher-dev.itokchinese.com/vendor/cakephp/cakephp/src/Controller/Controller.php, line 233
Cake\Controller\Controller->__construct() [internal], line ??
ReflectionClass->newInstance() /var/www/virtual/ts-teacher-dev.itokchinese.com/vendor/cakephp/cakephp/src/Controller/ControllerFactory.php, line 87
Cake\Controller\ControllerFactory->create() /var/www/virtual/ts-teacher-dev.itokchinese.com/vendor/cakephp/cakephp/src/Http/BaseApplication.php, line 330
Cake\Http\BaseApplication->handle() /var/www/virtual/ts-teacher-dev.itokchinese.com/vendor/cakephp/cakephp/src/Http/Runner.php, line 86
Cake\Http\Runner->handle() /var/www/virtual/ts-teacher-dev.itokchinese.com/vendor/cakephp/authentication/src/Middleware/AuthenticationMiddleware.php, line 107
Authentication\Middleware\AuthenticationMiddleware->process() /var/www/virtual/ts-teacher-dev.itokchinese.com/vendor/cakephp/cakephp/src/Http/Runner.php, line 82
Cake\Http\Runner->handle() /var/www/virtual/ts-teacher-dev.itokchinese.com/vendor/cakephp/cakephp/src/Http/Middleware/CsrfProtectionMiddleware.php, line 159
Cake\Http\Middleware\CsrfProtectionMiddleware->process() /var/www/virtual/ts-teacher-dev.itokchinese.com/vendor/cakephp/cakephp/src/Http/Runner.php, line 82
Cake\Http\Runner->handle() /var/www/virtual/ts-teacher-dev.itokchinese.com/vendor/cakephp/cakephp/src/Http/Middleware/BodyParserMiddleware.php, line 157
Cake\Http\Middleware\BodyParserMiddleware->process() /var/www/virtual/ts-teacher-dev.itokchinese.com/vendor/cakephp/cakephp/src/Http/Runner.php, line 82
Cake\Http\Runner->handle() /var/www/virtual/ts-teacher-dev.itokchinese.com/vendor/cakephp/cakephp/src/Routing/Middleware/RoutingMiddleware.php, line 118
Cake\Routing\Middleware\RoutingMiddleware->process() /var/www/virtual/ts-teacher-dev.itokchinese.com/vendor/cakephp/cakephp/src/Http/Runner.php, line 82
Cake\Http\Runner->handle() /var/www/virtual/ts-teacher-dev.itokchinese.com/vendor/cakephp/cakephp/src/Routing/Middleware/AssetMiddleware.php, line 69
Cake\Routing\Middleware\AssetMiddleware->process() /var/www/virtual/ts-teacher-dev.itokchinese.com/vendor/cakephp/cakephp/src/Http/Runner.php, line 82
Cake\Http\Runner->handle() /var/www/virtual/ts-teacher-dev.itokchinese.com/vendor/cakephp/cakephp/src/Error/Middleware/ErrorHandlerMiddleware.php, line 115
Cake\Error\Middleware\ErrorHandlerMiddleware->process() /var/www/virtual/ts-teacher-dev.itokchinese.com/vendor/cakephp/cakephp/src/Http/Runner.php, line 82
Cake\Http\Runner->handle() /var/www/virtual/ts-teacher-dev.itokchinese.com/vendor/cakephp/cakephp/src/Http/Runner.php, line 60
Cake\Http\Runner->run() /var/www/virtual/ts-teacher-dev.itokchinese.com/vendor/cakephp/cakephp/src/Http/Server.php, line 103
Cake\Http\Server->run() /var/www/virtual/ts-teacher-dev.itokchinese.com/webroot/index.php, line 40
[main]
Warning (512)
: Unable to emit headers. Headers sent in file=/var/www/virtual/ts-teacher-dev.itokchinese.com/vendor/cakephp/cakephp/src/Error/Renderer/HtmlErrorRenderer.php line=37 [in
/var/www/virtual/ts-teacher-dev.itokchinese.com/vendor/cakephp/cakephp/src/Http/ResponseEmitter.php, line
65]
Code
$message = "Unable to emit headers. Headers sent in file=$file line=$line";
trigger_error($message, E_USER_WARNING);
}
/var/www/virtual/ts-teacher-dev.itokchinese.com/vendor/cakephp/cakephp/src/Http/ResponseEmitter.php /var/www/virtual/ts-teacher-dev.itokchinese.com/vendor/cakephp/cakephp/src/Http/ResponseEmitter.php, line 65
Cake\Http\ResponseEmitter->emit() /var/www/virtual/ts-teacher-dev.itokchinese.com/vendor/cakephp/cakephp/src/Http/Server.php, line 139
Cake\Http\Server->emit() /var/www/virtual/ts-teacher-dev.itokchinese.com/webroot/index.php, line 40
[main]
Warning (2)
: Cannot modify header information - headers already sent by (output started at /var/www/virtual/ts-teacher-dev.itokchinese.com/vendor/cakephp/cakephp/src/Error/Renderer/HtmlErrorRenderer.php:37) [in
/var/www/virtual/ts-teacher-dev.itokchinese.com/vendor/cakephp/cakephp/src/Http/ResponseEmitter.php, line
159]
Code
$reasonPhrase = $response->getReasonPhrase();
header(sprintf(
'HTTP/%s %d%s',
/var/www/virtual/ts-teacher-dev.itokchinese.com/vendor/cakephp/cakephp/src/Http/ResponseEmitter.php /var/www/virtual/ts-teacher-dev.itokchinese.com/vendor/cakephp/cakephp/src/Http/ResponseEmitter.php, line 159
Cake\Http\ResponseEmitter->emitStatusLine() /var/www/virtual/ts-teacher-dev.itokchinese.com/vendor/cakephp/cakephp/src/Http/ResponseEmitter.php, line 68
Cake\Http\ResponseEmitter->emit() /var/www/virtual/ts-teacher-dev.itokchinese.com/vendor/cakephp/cakephp/src/Http/Server.php, line 139
Cake\Http\Server->emit() /var/www/virtual/ts-teacher-dev.itokchinese.com/webroot/index.php, line 40
[main]
Warning (2)
: Cannot modify header information - headers already sent by (output started at /var/www/virtual/ts-teacher-dev.itokchinese.com/vendor/cakephp/cakephp/src/Error/Renderer/HtmlErrorRenderer.php:37) [in
/var/www/virtual/ts-teacher-dev.itokchinese.com/vendor/cakephp/cakephp/src/Http/ResponseEmitter.php, line
192]
Code
foreach ($values as $value) {
header(sprintf(
'%s: %s',
/var/www/virtual/ts-teacher-dev.itokchinese.com/vendor/cakephp/cakephp/src/Http/ResponseEmitter.php /var/www/virtual/ts-teacher-dev.itokchinese.com/vendor/cakephp/cakephp/src/Http/ResponseEmitter.php, line 192
Cake\Http\ResponseEmitter->emitHeaders() /var/www/virtual/ts-teacher-dev.itokchinese.com/vendor/cakephp/cakephp/src/Http/ResponseEmitter.php, line 69
Cake\Http\ResponseEmitter->emit() /var/www/virtual/ts-teacher-dev.itokchinese.com/vendor/cakephp/cakephp/src/Http/Server.php, line 139
Cake\Http\Server->emit() /var/www/virtual/ts-teacher-dev.itokchinese.com/webroot/index.php, line 40
[main]
Error in:
ROOT/src/Controller/AppController.php, line 144
Could this be caused by using Auto-Tables?
Some of the Table objects in your application were created by instantiating "Cake\ORM\Table"
instead of any other specific subclass.
This could be the cause for this exception. Auto-Tables are created for you under the following circumstances:
- The class for the specified table does not exist.
- The Table was created with a typo: $this->getTableLocator()->get('Articles');
- The class file has a typo in the name or incorrect namespace: class Articles extends Table
- The file containing the class has a typo or incorrect casing: Articles.php
- The Table was used using associations but the association has a typo: $this->belongsTo('Articles')
- The table class resides in a Plugin but no plugin notation was used in the association definition.
Please try correcting the issue for the following table aliases:
APP/Controller/AppController.php at line 144
(edit)
|
|
|
// lang settings
|
|
$locale = $session->read('locale');
|
|
if (empty($locale)) {
|
|
$browser_lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 5);
|
|
switch ($browser_lang) {
|
|
case 'zh-HK':
|
|
case 'zh-MO':
|
|
case 'zh-TW':
|
-
|
|
|
// lang settings
|
|
$locale = $session->read('locale');
|
|
if (empty($locale)) {
|
|
$browser_lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 5);
|
|
switch ($browser_lang) {
|
|
case 'zh-HK':
|
|
case 'zh-MO':
|
|
case 'zh-TW':
|
Toggle Arguments
-
|
$tableAlias = ($plugin ? $plugin . '.' : '') . $this->name;
|
|
$this->defaultTable = $tableAlias;
|
|
}
|
|
|
|
$this->initialize();
|
|
|
|
$this->getEventManager()->on($this);
|
|
}
|
|
|
Toggle Arguments
-
Toggle Arguments
object(Cake\Http\ServerRequest) id:0 {
trustProxy => false
protected params => [
'pass' => [
(int) 0 => 'home',
],
'controller' => 'Pages',
'action' => 'display',
'plugin' => null,
'_matchedRoute' => '/',
'_ext' => null,
]
protected data => [
]
protected query => [
]
protected cookies => [
]
protected _environment => [
'USER' => 'nginx',
'HOME' => '/var/lib/nginx',
'HTTP_HOST' => 'ts-teacher-dev.itokchinese.com',
'HTTP_ACCEPT_ENCODING' => 'gzip, br, zstd, deflate',
'HTTP_USER_AGENT' => 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)',
'HTTP_ACCEPT' => '*/*',
'SCRIPT_FILENAME' => '/var/www/virtual/ts-teacher-dev.itokchinese.com/webroot/index.php',
'REDIRECT_STATUS' => '200',
'SERVER_NAME' => 'ts-teacher-dev.itokchinese.com',
'SERVER_PORT' => '443',
'SERVER_ADDR' => '182.239.49.114',
'REMOTE_PORT' => '55793',
'REMOTE_ADDR' => '216.73.216.111',
'SERVER_SOFTWARE' => 'nginx/1.20.1',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'HTTPS' => 'on',
'REQUEST_SCHEME' => 'https',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'DOCUMENT_ROOT' => '/var/www/virtual/ts-teacher-dev.itokchinese.com/webroot',
'DOCUMENT_URI' => '/index.php',
'REQUEST_URI' => '/',
'SCRIPT_NAME' => '/index.php',
'CONTENT_LENGTH' => '',
'CONTENT_TYPE' => '',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'FCGI_ROLE' => 'RESPONDER',
'PHP_SELF' => '/index.php',
'REQUEST_TIME_FLOAT' => (float) 1764989841.6273,
'REQUEST_TIME' => (int) 1764989841,
'ORIGINAL_REQUEST_METHOD' => 'GET',
]
protected base => ''
protected webroot => '/'
protected trustedProxies => [
]
protected _detectors => [
'get' => [
'env' => 'REQUEST_METHOD',
'value' => 'GET',
],
'post' => [
'env' => 'REQUEST_METHOD',
'value' => 'POST',
],
'put' => [
'env' => 'REQUEST_METHOD',
'value' => 'PUT',
],
'patch' => [
'env' => 'REQUEST_METHOD',
'value' => 'PATCH',
],
'delete' => [
'env' => 'REQUEST_METHOD',
'value' => 'DELETE',
],
'head' => [
'env' => 'REQUEST_METHOD',
'value' => 'HEAD',
],
'options' => [
'env' => 'REQUEST_METHOD',
'value' => 'OPTIONS',
],
'https' => [
'env' => 'HTTPS',
'options' => [
'' => [maximum depth reached],
],
],
'ajax' => [
'env' => 'HTTP_X_REQUESTED_WITH',
'value' => 'XMLHttpRequest',
],
'json' => [
'accept' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'json',
],
'xml' => [
'accept' => [
'' => [maximum depth reached],
],
'exclude' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'xml',
],
'mobile' => object(Closure) id:1 {
},
'tablet' => object(Closure) id:2 {
},
]
protected _detectorCache => [
]
protected stream => object(Laminas\Diactoros\Stream) id:3 {
protected resource => (resource (stream)) Resource id #162
protected stream => 'php://input'
}
protected uri => object(Laminas\Diactoros\Uri) id:4 {
protected allowedSchemes => [
'' => [maximum depth reached],
]
private scheme => 'https'
private userInfo => ''
private host => 'ts-teacher-dev.itokchinese.com'
private port => null
private path => '/'
private query => ''
private fragment => ''
private uriString => null
}
protected session => object(Cake\Http\Session) id:5 {
protected _engine => object(App\Http\Session\MongoSession) id:6 {
}
protected _started => false
protected _lifetime => (int) 0
protected _isCLI => false
protected headerSentInfo => null
}
protected flash => object(Cake\Http\FlashMessage) id:7 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 5 {}
protected _config => [
'' => [maximum depth reached],
]
protected _configInitialized => true
}
protected attributes => [
'route' => object(Cake\Routing\Route\DashedRoute) id:8 {
},
'csrfToken' => 'tGbOwEMVNbBgfnKBBEF9jXut9M5FsUbqKWRcPFiqZcV8tvTzeJRRyKZS4ZuRfqlI98RUE6c7LQ53WfWGIVUDBRqm6Y3UbwxnQs7C+nLTc9JMBz4EbcgA8kiClsBAoWjxlmTQqqIcmi6SoWIjwgMdOQ==',
'identity' => null,
'authentication' => object(Authentication\AuthenticationService) id:9 {
},
'authenticationResult' => object(Authentication\Authenticator\Result) id:10 {
},
]
protected emulatedAttributes => [
(int) 0 => 'session',
(int) 1 => 'flash',
(int) 2 => 'webroot',
(int) 3 => 'base',
(int) 4 => 'params',
(int) 5 => 'here',
]
protected uploadedFiles => [
]
protected protocol => null
protected requestTarget => null
}
-
|
// The request is in the container by default.
|
|
if ($this->container->has($className)) {
|
|
$controller = $this->container->get($className);
|
|
} else {
|
|
$controller = $reflection->newInstance($request);
|
|
}
|
|
|
|
return $controller;
|
|
}
|
Toggle Arguments
object(Cake\Http\ServerRequest) id:0 {
trustProxy => false
protected params => [
'pass' => [
(int) 0 => 'home',
],
'controller' => 'Pages',
'action' => 'display',
'plugin' => null,
'_matchedRoute' => '/',
'_ext' => null,
]
protected data => [
]
protected query => [
]
protected cookies => [
]
protected _environment => [
'USER' => 'nginx',
'HOME' => '/var/lib/nginx',
'HTTP_HOST' => 'ts-teacher-dev.itokchinese.com',
'HTTP_ACCEPT_ENCODING' => 'gzip, br, zstd, deflate',
'HTTP_USER_AGENT' => 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)',
'HTTP_ACCEPT' => '*/*',
'SCRIPT_FILENAME' => '/var/www/virtual/ts-teacher-dev.itokchinese.com/webroot/index.php',
'REDIRECT_STATUS' => '200',
'SERVER_NAME' => 'ts-teacher-dev.itokchinese.com',
'SERVER_PORT' => '443',
'SERVER_ADDR' => '182.239.49.114',
'REMOTE_PORT' => '55793',
'REMOTE_ADDR' => '216.73.216.111',
'SERVER_SOFTWARE' => 'nginx/1.20.1',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'HTTPS' => 'on',
'REQUEST_SCHEME' => 'https',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'DOCUMENT_ROOT' => '/var/www/virtual/ts-teacher-dev.itokchinese.com/webroot',
'DOCUMENT_URI' => '/index.php',
'REQUEST_URI' => '/',
'SCRIPT_NAME' => '/index.php',
'CONTENT_LENGTH' => '',
'CONTENT_TYPE' => '',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'FCGI_ROLE' => 'RESPONDER',
'PHP_SELF' => '/index.php',
'REQUEST_TIME_FLOAT' => (float) 1764989841.6273,
'REQUEST_TIME' => (int) 1764989841,
'ORIGINAL_REQUEST_METHOD' => 'GET',
]
protected base => ''
protected webroot => '/'
protected trustedProxies => [
]
protected _detectors => [
'get' => [
'env' => 'REQUEST_METHOD',
'value' => 'GET',
],
'post' => [
'env' => 'REQUEST_METHOD',
'value' => 'POST',
],
'put' => [
'env' => 'REQUEST_METHOD',
'value' => 'PUT',
],
'patch' => [
'env' => 'REQUEST_METHOD',
'value' => 'PATCH',
],
'delete' => [
'env' => 'REQUEST_METHOD',
'value' => 'DELETE',
],
'head' => [
'env' => 'REQUEST_METHOD',
'value' => 'HEAD',
],
'options' => [
'env' => 'REQUEST_METHOD',
'value' => 'OPTIONS',
],
'https' => [
'env' => 'HTTPS',
'options' => [
'' => [maximum depth reached],
],
],
'ajax' => [
'env' => 'HTTP_X_REQUESTED_WITH',
'value' => 'XMLHttpRequest',
],
'json' => [
'accept' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'json',
],
'xml' => [
'accept' => [
'' => [maximum depth reached],
],
'exclude' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'xml',
],
'mobile' => object(Closure) id:1 {
},
'tablet' => object(Closure) id:2 {
},
]
protected _detectorCache => [
]
protected stream => object(Laminas\Diactoros\Stream) id:3 {
protected resource => (resource (stream)) Resource id #162
protected stream => 'php://input'
}
protected uri => object(Laminas\Diactoros\Uri) id:4 {
protected allowedSchemes => [
'' => [maximum depth reached],
]
private scheme => 'https'
private userInfo => ''
private host => 'ts-teacher-dev.itokchinese.com'
private port => null
private path => '/'
private query => ''
private fragment => ''
private uriString => null
}
protected session => object(Cake\Http\Session) id:5 {
protected _engine => object(App\Http\Session\MongoSession) id:6 {
}
protected _started => false
protected _lifetime => (int) 0
protected _isCLI => false
protected headerSentInfo => null
}
protected flash => object(Cake\Http\FlashMessage) id:7 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 5 {}
protected _config => [
'' => [maximum depth reached],
]
protected _configInitialized => true
}
protected attributes => [
'route' => object(Cake\Routing\Route\DashedRoute) id:8 {
},
'csrfToken' => 'tGbOwEMVNbBgfnKBBEF9jXut9M5FsUbqKWRcPFiqZcV8tvTzeJRRyKZS4ZuRfqlI98RUE6c7LQ53WfWGIVUDBRqm6Y3UbwxnQs7C+nLTc9JMBz4EbcgA8kiClsBAoWjxlmTQqqIcmi6SoWIjwgMdOQ==',
'identity' => null,
'authentication' => object(Authentication\AuthenticationService) id:9 {
},
'authenticationResult' => object(Authentication\Authenticator\Result) id:10 {
},
]
protected emulatedAttributes => [
(int) 0 => 'session',
(int) 1 => 'flash',
(int) 2 => 'webroot',
(int) 3 => 'base',
(int) 4 => 'params',
(int) 5 => 'here',
]
protected uploadedFiles => [
]
protected protocol => null
protected requestTarget => null
}
-
|
assert($request instanceof ServerRequest);
|
|
Router::setRequest($request);
|
|
}
|
|
|
|
$controller = $this->controllerFactory->create($request);
|
|
|
|
return $this->controllerFactory->invoke($controller);
|
|
}
|
|
}
|
Toggle Arguments
object(Cake\Http\ServerRequest) id:0 {
trustProxy => false
protected params => [
'pass' => [
(int) 0 => 'home',
],
'controller' => 'Pages',
'action' => 'display',
'plugin' => null,
'_matchedRoute' => '/',
'_ext' => null,
]
protected data => [
]
protected query => [
]
protected cookies => [
]
protected _environment => [
'USER' => 'nginx',
'HOME' => '/var/lib/nginx',
'HTTP_HOST' => 'ts-teacher-dev.itokchinese.com',
'HTTP_ACCEPT_ENCODING' => 'gzip, br, zstd, deflate',
'HTTP_USER_AGENT' => 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)',
'HTTP_ACCEPT' => '*/*',
'SCRIPT_FILENAME' => '/var/www/virtual/ts-teacher-dev.itokchinese.com/webroot/index.php',
'REDIRECT_STATUS' => '200',
'SERVER_NAME' => 'ts-teacher-dev.itokchinese.com',
'SERVER_PORT' => '443',
'SERVER_ADDR' => '182.239.49.114',
'REMOTE_PORT' => '55793',
'REMOTE_ADDR' => '216.73.216.111',
'SERVER_SOFTWARE' => 'nginx/1.20.1',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'HTTPS' => 'on',
'REQUEST_SCHEME' => 'https',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'DOCUMENT_ROOT' => '/var/www/virtual/ts-teacher-dev.itokchinese.com/webroot',
'DOCUMENT_URI' => '/index.php',
'REQUEST_URI' => '/',
'SCRIPT_NAME' => '/index.php',
'CONTENT_LENGTH' => '',
'CONTENT_TYPE' => '',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'FCGI_ROLE' => 'RESPONDER',
'PHP_SELF' => '/index.php',
'REQUEST_TIME_FLOAT' => (float) 1764989841.6273,
'REQUEST_TIME' => (int) 1764989841,
'ORIGINAL_REQUEST_METHOD' => 'GET',
]
protected base => ''
protected webroot => '/'
protected trustedProxies => [
]
protected _detectors => [
'get' => [
'env' => 'REQUEST_METHOD',
'value' => 'GET',
],
'post' => [
'env' => 'REQUEST_METHOD',
'value' => 'POST',
],
'put' => [
'env' => 'REQUEST_METHOD',
'value' => 'PUT',
],
'patch' => [
'env' => 'REQUEST_METHOD',
'value' => 'PATCH',
],
'delete' => [
'env' => 'REQUEST_METHOD',
'value' => 'DELETE',
],
'head' => [
'env' => 'REQUEST_METHOD',
'value' => 'HEAD',
],
'options' => [
'env' => 'REQUEST_METHOD',
'value' => 'OPTIONS',
],
'https' => [
'env' => 'HTTPS',
'options' => [
'' => [maximum depth reached],
],
],
'ajax' => [
'env' => 'HTTP_X_REQUESTED_WITH',
'value' => 'XMLHttpRequest',
],
'json' => [
'accept' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'json',
],
'xml' => [
'accept' => [
'' => [maximum depth reached],
],
'exclude' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'xml',
],
'mobile' => object(Closure) id:1 {
},
'tablet' => object(Closure) id:2 {
},
]
protected _detectorCache => [
]
protected stream => object(Laminas\Diactoros\Stream) id:3 {
protected resource => (resource (stream)) Resource id #162
protected stream => 'php://input'
}
protected uri => object(Laminas\Diactoros\Uri) id:4 {
protected allowedSchemes => [
'' => [maximum depth reached],
]
private scheme => 'https'
private userInfo => ''
private host => 'ts-teacher-dev.itokchinese.com'
private port => null
private path => '/'
private query => ''
private fragment => ''
private uriString => null
}
protected session => object(Cake\Http\Session) id:5 {
protected _engine => object(App\Http\Session\MongoSession) id:6 {
}
protected _started => false
protected _lifetime => (int) 0
protected _isCLI => false
protected headerSentInfo => null
}
protected flash => object(Cake\Http\FlashMessage) id:7 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 5 {}
protected _config => [
'' => [maximum depth reached],
]
protected _configInitialized => true
}
protected attributes => [
'route' => object(Cake\Routing\Route\DashedRoute) id:8 {
},
'csrfToken' => 'tGbOwEMVNbBgfnKBBEF9jXut9M5FsUbqKWRcPFiqZcV8tvTzeJRRyKZS4ZuRfqlI98RUE6c7LQ53WfWGIVUDBRqm6Y3UbwxnQs7C+nLTc9JMBz4EbcgA8kiClsBAoWjxlmTQqqIcmi6SoWIjwgMdOQ==',
'identity' => null,
'authentication' => object(Authentication\AuthenticationService) id:9 {
},
'authenticationResult' => object(Authentication\Authenticator\Result) id:10 {
},
]
protected emulatedAttributes => [
(int) 0 => 'session',
(int) 1 => 'flash',
(int) 2 => 'webroot',
(int) 3 => 'base',
(int) 4 => 'params',
(int) 5 => 'here',
]
protected uploadedFiles => [
]
protected protocol => null
protected requestTarget => null
}
-
|
return $middleware->process($request, $this);
|
|
}
|
|
|
|
if ($this->fallbackHandler) {
|
|
return $this->fallbackHandler->handle($request);
|
|
}
|
|
|
|
return new Response([
|
|
'body' => 'Middleware queue was exhausted without returning a response '
|
Toggle Arguments
object(Cake\Http\ServerRequest) id:0 {
trustProxy => false
protected params => [
'pass' => [
(int) 0 => 'home',
],
'controller' => 'Pages',
'action' => 'display',
'plugin' => null,
'_matchedRoute' => '/',
'_ext' => null,
]
protected data => [
]
protected query => [
]
protected cookies => [
]
protected _environment => [
'USER' => 'nginx',
'HOME' => '/var/lib/nginx',
'HTTP_HOST' => 'ts-teacher-dev.itokchinese.com',
'HTTP_ACCEPT_ENCODING' => 'gzip, br, zstd, deflate',
'HTTP_USER_AGENT' => 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)',
'HTTP_ACCEPT' => '*/*',
'SCRIPT_FILENAME' => '/var/www/virtual/ts-teacher-dev.itokchinese.com/webroot/index.php',
'REDIRECT_STATUS' => '200',
'SERVER_NAME' => 'ts-teacher-dev.itokchinese.com',
'SERVER_PORT' => '443',
'SERVER_ADDR' => '182.239.49.114',
'REMOTE_PORT' => '55793',
'REMOTE_ADDR' => '216.73.216.111',
'SERVER_SOFTWARE' => 'nginx/1.20.1',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'HTTPS' => 'on',
'REQUEST_SCHEME' => 'https',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'DOCUMENT_ROOT' => '/var/www/virtual/ts-teacher-dev.itokchinese.com/webroot',
'DOCUMENT_URI' => '/index.php',
'REQUEST_URI' => '/',
'SCRIPT_NAME' => '/index.php',
'CONTENT_LENGTH' => '',
'CONTENT_TYPE' => '',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'FCGI_ROLE' => 'RESPONDER',
'PHP_SELF' => '/index.php',
'REQUEST_TIME_FLOAT' => (float) 1764989841.6273,
'REQUEST_TIME' => (int) 1764989841,
'ORIGINAL_REQUEST_METHOD' => 'GET',
]
protected base => ''
protected webroot => '/'
protected trustedProxies => [
]
protected _detectors => [
'get' => [
'env' => 'REQUEST_METHOD',
'value' => 'GET',
],
'post' => [
'env' => 'REQUEST_METHOD',
'value' => 'POST',
],
'put' => [
'env' => 'REQUEST_METHOD',
'value' => 'PUT',
],
'patch' => [
'env' => 'REQUEST_METHOD',
'value' => 'PATCH',
],
'delete' => [
'env' => 'REQUEST_METHOD',
'value' => 'DELETE',
],
'head' => [
'env' => 'REQUEST_METHOD',
'value' => 'HEAD',
],
'options' => [
'env' => 'REQUEST_METHOD',
'value' => 'OPTIONS',
],
'https' => [
'env' => 'HTTPS',
'options' => [
'' => [maximum depth reached],
],
],
'ajax' => [
'env' => 'HTTP_X_REQUESTED_WITH',
'value' => 'XMLHttpRequest',
],
'json' => [
'accept' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'json',
],
'xml' => [
'accept' => [
'' => [maximum depth reached],
],
'exclude' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'xml',
],
'mobile' => object(Closure) id:1 {
},
'tablet' => object(Closure) id:2 {
},
]
protected _detectorCache => [
]
protected stream => object(Laminas\Diactoros\Stream) id:3 {
protected resource => (resource (stream)) Resource id #162
protected stream => 'php://input'
}
protected uri => object(Laminas\Diactoros\Uri) id:4 {
protected allowedSchemes => [
'' => [maximum depth reached],
]
private scheme => 'https'
private userInfo => ''
private host => 'ts-teacher-dev.itokchinese.com'
private port => null
private path => '/'
private query => ''
private fragment => ''
private uriString => null
}
protected session => object(Cake\Http\Session) id:5 {
protected _engine => object(App\Http\Session\MongoSession) id:6 {
}
protected _started => false
protected _lifetime => (int) 0
protected _isCLI => false
protected headerSentInfo => null
}
protected flash => object(Cake\Http\FlashMessage) id:7 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 5 {}
protected _config => [
'' => [maximum depth reached],
]
protected _configInitialized => true
}
protected attributes => [
'route' => object(Cake\Routing\Route\DashedRoute) id:8 {
},
'csrfToken' => 'tGbOwEMVNbBgfnKBBEF9jXut9M5FsUbqKWRcPFiqZcV8tvTzeJRRyKZS4ZuRfqlI98RUE6c7LQ53WfWGIVUDBRqm6Y3UbwxnQs7C+nLTc9JMBz4EbcgA8kiClsBAoWjxlmTQqqIcmi6SoWIjwgMdOQ==',
'identity' => null,
'authentication' => object(Authentication\AuthenticationService) id:9 {
},
'authenticationResult' => object(Authentication\Authenticator\Result) id:10 {
},
]
protected emulatedAttributes => [
(int) 0 => 'session',
(int) 1 => 'flash',
(int) 2 => 'webroot',
(int) 3 => 'base',
(int) 4 => 'params',
(int) 5 => 'here',
]
protected uploadedFiles => [
]
protected protocol => null
protected requestTarget => null
}
-
|
$request = $request->withAttribute('authentication', $service);
|
|
$request = $request->withAttribute('authenticationResult', $result);
|
|
|
|
try {
|
|
$response = $handler->handle($request);
|
|
$authenticator = $service->getAuthenticationProvider();
|
|
|
|
if ($authenticator !== null && !$authenticator instanceof StatelessInterface) {
|
|
/**
|
Toggle Arguments
object(Cake\Http\ServerRequest) id:0 {
trustProxy => false
protected params => [
'pass' => [
(int) 0 => 'home',
],
'controller' => 'Pages',
'action' => 'display',
'plugin' => null,
'_matchedRoute' => '/',
'_ext' => null,
]
protected data => [
]
protected query => [
]
protected cookies => [
]
protected _environment => [
'USER' => 'nginx',
'HOME' => '/var/lib/nginx',
'HTTP_HOST' => 'ts-teacher-dev.itokchinese.com',
'HTTP_ACCEPT_ENCODING' => 'gzip, br, zstd, deflate',
'HTTP_USER_AGENT' => 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)',
'HTTP_ACCEPT' => '*/*',
'SCRIPT_FILENAME' => '/var/www/virtual/ts-teacher-dev.itokchinese.com/webroot/index.php',
'REDIRECT_STATUS' => '200',
'SERVER_NAME' => 'ts-teacher-dev.itokchinese.com',
'SERVER_PORT' => '443',
'SERVER_ADDR' => '182.239.49.114',
'REMOTE_PORT' => '55793',
'REMOTE_ADDR' => '216.73.216.111',
'SERVER_SOFTWARE' => 'nginx/1.20.1',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'HTTPS' => 'on',
'REQUEST_SCHEME' => 'https',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'DOCUMENT_ROOT' => '/var/www/virtual/ts-teacher-dev.itokchinese.com/webroot',
'DOCUMENT_URI' => '/index.php',
'REQUEST_URI' => '/',
'SCRIPT_NAME' => '/index.php',
'CONTENT_LENGTH' => '',
'CONTENT_TYPE' => '',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'FCGI_ROLE' => 'RESPONDER',
'PHP_SELF' => '/index.php',
'REQUEST_TIME_FLOAT' => (float) 1764989841.6273,
'REQUEST_TIME' => (int) 1764989841,
'ORIGINAL_REQUEST_METHOD' => 'GET',
]
protected base => ''
protected webroot => '/'
protected trustedProxies => [
]
protected _detectors => [
'get' => [
'env' => 'REQUEST_METHOD',
'value' => 'GET',
],
'post' => [
'env' => 'REQUEST_METHOD',
'value' => 'POST',
],
'put' => [
'env' => 'REQUEST_METHOD',
'value' => 'PUT',
],
'patch' => [
'env' => 'REQUEST_METHOD',
'value' => 'PATCH',
],
'delete' => [
'env' => 'REQUEST_METHOD',
'value' => 'DELETE',
],
'head' => [
'env' => 'REQUEST_METHOD',
'value' => 'HEAD',
],
'options' => [
'env' => 'REQUEST_METHOD',
'value' => 'OPTIONS',
],
'https' => [
'env' => 'HTTPS',
'options' => [
'' => [maximum depth reached],
],
],
'ajax' => [
'env' => 'HTTP_X_REQUESTED_WITH',
'value' => 'XMLHttpRequest',
],
'json' => [
'accept' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'json',
],
'xml' => [
'accept' => [
'' => [maximum depth reached],
],
'exclude' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'xml',
],
'mobile' => object(Closure) id:1 {
},
'tablet' => object(Closure) id:2 {
},
]
protected _detectorCache => [
]
protected stream => object(Laminas\Diactoros\Stream) id:3 {
protected resource => (resource (stream)) Resource id #162
protected stream => 'php://input'
}
protected uri => object(Laminas\Diactoros\Uri) id:4 {
protected allowedSchemes => [
'' => [maximum depth reached],
]
private scheme => 'https'
private userInfo => ''
private host => 'ts-teacher-dev.itokchinese.com'
private port => null
private path => '/'
private query => ''
private fragment => ''
private uriString => null
}
protected session => object(Cake\Http\Session) id:5 {
protected _engine => object(App\Http\Session\MongoSession) id:6 {
}
protected _started => false
protected _lifetime => (int) 0
protected _isCLI => false
protected headerSentInfo => null
}
protected flash => object(Cake\Http\FlashMessage) id:7 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 5 {}
protected _config => [
'' => [maximum depth reached],
]
protected _configInitialized => true
}
protected attributes => [
'route' => object(Cake\Routing\Route\DashedRoute) id:8 {
},
'csrfToken' => 'tGbOwEMVNbBgfnKBBEF9jXut9M5FsUbqKWRcPFiqZcV8tvTzeJRRyKZS4ZuRfqlI98RUE6c7LQ53WfWGIVUDBRqm6Y3UbwxnQs7C+nLTc9JMBz4EbcgA8kiClsBAoWjxlmTQqqIcmi6SoWIjwgMdOQ==',
'identity' => null,
'authentication' => object(Authentication\AuthenticationService) id:9 {
},
'authenticationResult' => object(Authentication\Authenticator\Result) id:10 {
},
]
protected emulatedAttributes => [
(int) 0 => 'session',
(int) 1 => 'flash',
(int) 2 => 'webroot',
(int) 3 => 'base',
(int) 4 => 'params',
(int) 5 => 'here',
]
protected uploadedFiles => [
]
protected protocol => null
protected requestTarget => null
}
-
|
if ($this->queue->valid()) {
|
|
$middleware = $this->queue->current();
|
|
$this->queue->next();
|
|
|
|
return $middleware->process($request, $this);
|
|
}
|
|
|
|
if ($this->fallbackHandler) {
|
|
return $this->fallbackHandler->handle($request);
|
Toggle Arguments
object(Cake\Http\ServerRequest) id:0 {
trustProxy => false
protected params => [
'pass' => [
(int) 0 => 'home',
],
'controller' => 'Pages',
'action' => 'display',
'plugin' => null,
'_matchedRoute' => '/',
'_ext' => null,
]
protected data => [
]
protected query => [
]
protected cookies => [
]
protected _environment => [
'USER' => 'nginx',
'HOME' => '/var/lib/nginx',
'HTTP_HOST' => 'ts-teacher-dev.itokchinese.com',
'HTTP_ACCEPT_ENCODING' => 'gzip, br, zstd, deflate',
'HTTP_USER_AGENT' => 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)',
'HTTP_ACCEPT' => '*/*',
'SCRIPT_FILENAME' => '/var/www/virtual/ts-teacher-dev.itokchinese.com/webroot/index.php',
'REDIRECT_STATUS' => '200',
'SERVER_NAME' => 'ts-teacher-dev.itokchinese.com',
'SERVER_PORT' => '443',
'SERVER_ADDR' => '182.239.49.114',
'REMOTE_PORT' => '55793',
'REMOTE_ADDR' => '216.73.216.111',
'SERVER_SOFTWARE' => 'nginx/1.20.1',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'HTTPS' => 'on',
'REQUEST_SCHEME' => 'https',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'DOCUMENT_ROOT' => '/var/www/virtual/ts-teacher-dev.itokchinese.com/webroot',
'DOCUMENT_URI' => '/index.php',
'REQUEST_URI' => '/',
'SCRIPT_NAME' => '/index.php',
'CONTENT_LENGTH' => '',
'CONTENT_TYPE' => '',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'FCGI_ROLE' => 'RESPONDER',
'PHP_SELF' => '/index.php',
'REQUEST_TIME_FLOAT' => (float) 1764989841.6273,
'REQUEST_TIME' => (int) 1764989841,
'ORIGINAL_REQUEST_METHOD' => 'GET',
]
protected base => ''
protected webroot => '/'
protected trustedProxies => [
]
protected _detectors => [
'get' => [
'env' => 'REQUEST_METHOD',
'value' => 'GET',
],
'post' => [
'env' => 'REQUEST_METHOD',
'value' => 'POST',
],
'put' => [
'env' => 'REQUEST_METHOD',
'value' => 'PUT',
],
'patch' => [
'env' => 'REQUEST_METHOD',
'value' => 'PATCH',
],
'delete' => [
'env' => 'REQUEST_METHOD',
'value' => 'DELETE',
],
'head' => [
'env' => 'REQUEST_METHOD',
'value' => 'HEAD',
],
'options' => [
'env' => 'REQUEST_METHOD',
'value' => 'OPTIONS',
],
'https' => [
'env' => 'HTTPS',
'options' => [
'' => [maximum depth reached],
],
],
'ajax' => [
'env' => 'HTTP_X_REQUESTED_WITH',
'value' => 'XMLHttpRequest',
],
'json' => [
'accept' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'json',
],
'xml' => [
'accept' => [
'' => [maximum depth reached],
],
'exclude' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'xml',
],
'mobile' => object(Closure) id:1 {
},
'tablet' => object(Closure) id:2 {
},
]
protected _detectorCache => [
]
protected stream => object(Laminas\Diactoros\Stream) id:3 {
protected resource => (resource (stream)) Resource id #162
protected stream => 'php://input'
}
protected uri => object(Laminas\Diactoros\Uri) id:4 {
protected allowedSchemes => [
'' => [maximum depth reached],
]
private scheme => 'https'
private userInfo => ''
private host => 'ts-teacher-dev.itokchinese.com'
private port => null
private path => '/'
private query => ''
private fragment => ''
private uriString => null
}
protected session => object(Cake\Http\Session) id:5 {
protected _engine => object(App\Http\Session\MongoSession) id:6 {
}
protected _started => false
protected _lifetime => (int) 0
protected _isCLI => false
protected headerSentInfo => null
}
protected flash => object(Cake\Http\FlashMessage) id:7 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 5 {}
protected _config => [
'' => [maximum depth reached],
]
protected _configInitialized => true
}
protected attributes => [
'route' => object(Cake\Routing\Route\DashedRoute) id:8 {
},
'csrfToken' => 'tGbOwEMVNbBgfnKBBEF9jXut9M5FsUbqKWRcPFiqZcV8tvTzeJRRyKZS4ZuRfqlI98RUE6c7LQ53WfWGIVUDBRqm6Y3UbwxnQs7C+nLTc9JMBz4EbcgA8kiClsBAoWjxlmTQqqIcmi6SoWIjwgMdOQ==',
'identity' => null,
'authentication' => object(Authentication\AuthenticationService) id:9 {
},
'authenticationResult' => object(Authentication\Authenticator\Result) id:10 {
},
]
protected emulatedAttributes => [
(int) 0 => 'session',
(int) 1 => 'flash',
(int) 2 => 'webroot',
(int) 3 => 'base',
(int) 4 => 'params',
(int) 5 => 'here',
]
protected uploadedFiles => [
]
protected protocol => null
protected requestTarget => null
}
object(Cake\Http\Runner) id:0 {
protected queue => object(Cake\Http\MiddlewareQueue) id:1 {
protected position => (int) 6
protected queue => [
'' => [maximum depth reached],
]
protected container => object(Cake\Core\Container) id:2 {
}
}
protected fallbackHandler => object(App\Application) id:3 {
protected configDir => '/var/www/virtual/ts-teacher-dev.itokchinese.com/config/'
protected plugins => object(Cake\Core\PluginCollection) id:4 {
}
protected controllerFactory => object(Cake\Controller\ControllerFactory) id:5 {
}
protected container => object(Cake\Core\Container) id: 2 {}
protected _eventManager => object(Cake\Event\EventManager) id:6 {
}
protected _eventClass => 'Cake\Event\Event'
}
}
-
|
|
|
if ($method === 'GET' && $cookieData === null) {
|
|
$token = $this->createToken();
|
|
$request = $request->withAttribute('csrfToken', $this->saltToken($token));
|
|
$response = $handler->handle($request);
|
|
|
|
return $this->_addTokenCookie($token, $request, $response);
|
|
}
|
|
|
Toggle Arguments
object(Cake\Http\ServerRequest) id:0 {
trustProxy => false
protected params => [
'pass' => [
(int) 0 => 'home',
],
'controller' => 'Pages',
'action' => 'display',
'plugin' => null,
'_matchedRoute' => '/',
'_ext' => null,
]
protected data => [
]
protected query => [
]
protected cookies => [
]
protected _environment => [
'USER' => 'nginx',
'HOME' => '/var/lib/nginx',
'HTTP_HOST' => 'ts-teacher-dev.itokchinese.com',
'HTTP_ACCEPT_ENCODING' => 'gzip, br, zstd, deflate',
'HTTP_USER_AGENT' => 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)',
'HTTP_ACCEPT' => '*/*',
'SCRIPT_FILENAME' => '/var/www/virtual/ts-teacher-dev.itokchinese.com/webroot/index.php',
'REDIRECT_STATUS' => '200',
'SERVER_NAME' => 'ts-teacher-dev.itokchinese.com',
'SERVER_PORT' => '443',
'SERVER_ADDR' => '182.239.49.114',
'REMOTE_PORT' => '55793',
'REMOTE_ADDR' => '216.73.216.111',
'SERVER_SOFTWARE' => 'nginx/1.20.1',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'HTTPS' => 'on',
'REQUEST_SCHEME' => 'https',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'DOCUMENT_ROOT' => '/var/www/virtual/ts-teacher-dev.itokchinese.com/webroot',
'DOCUMENT_URI' => '/index.php',
'REQUEST_URI' => '/',
'SCRIPT_NAME' => '/index.php',
'CONTENT_LENGTH' => '',
'CONTENT_TYPE' => '',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'FCGI_ROLE' => 'RESPONDER',
'PHP_SELF' => '/index.php',
'REQUEST_TIME_FLOAT' => (float) 1764989841.6273,
'REQUEST_TIME' => (int) 1764989841,
'ORIGINAL_REQUEST_METHOD' => 'GET',
]
protected base => ''
protected webroot => '/'
protected trustedProxies => [
]
protected _detectors => [
'get' => [
'env' => 'REQUEST_METHOD',
'value' => 'GET',
],
'post' => [
'env' => 'REQUEST_METHOD',
'value' => 'POST',
],
'put' => [
'env' => 'REQUEST_METHOD',
'value' => 'PUT',
],
'patch' => [
'env' => 'REQUEST_METHOD',
'value' => 'PATCH',
],
'delete' => [
'env' => 'REQUEST_METHOD',
'value' => 'DELETE',
],
'head' => [
'env' => 'REQUEST_METHOD',
'value' => 'HEAD',
],
'options' => [
'env' => 'REQUEST_METHOD',
'value' => 'OPTIONS',
],
'https' => [
'env' => 'HTTPS',
'options' => [
'' => [maximum depth reached],
],
],
'ajax' => [
'env' => 'HTTP_X_REQUESTED_WITH',
'value' => 'XMLHttpRequest',
],
'json' => [
'accept' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'json',
],
'xml' => [
'accept' => [
'' => [maximum depth reached],
],
'exclude' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'xml',
],
'mobile' => object(Closure) id:1 {
},
'tablet' => object(Closure) id:2 {
},
]
protected _detectorCache => [
]
protected stream => object(Laminas\Diactoros\Stream) id:3 {
protected resource => (resource (stream)) Resource id #162
protected stream => 'php://input'
}
protected uri => object(Laminas\Diactoros\Uri) id:4 {
protected allowedSchemes => [
'' => [maximum depth reached],
]
private scheme => 'https'
private userInfo => ''
private host => 'ts-teacher-dev.itokchinese.com'
private port => null
private path => '/'
private query => ''
private fragment => ''
private uriString => null
}
protected session => object(Cake\Http\Session) id:5 {
protected _engine => object(App\Http\Session\MongoSession) id:6 {
}
protected _started => false
protected _lifetime => (int) 0
protected _isCLI => false
protected headerSentInfo => null
}
protected flash => object(Cake\Http\FlashMessage) id:7 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 5 {}
protected _config => [
'' => [maximum depth reached],
]
protected _configInitialized => true
}
protected attributes => [
'route' => object(Cake\Routing\Route\DashedRoute) id:8 {
},
'csrfToken' => 'tGbOwEMVNbBgfnKBBEF9jXut9M5FsUbqKWRcPFiqZcV8tvTzeJRRyKZS4ZuRfqlI98RUE6c7LQ53WfWGIVUDBRqm6Y3UbwxnQs7C+nLTc9JMBz4EbcgA8kiClsBAoWjxlmTQqqIcmi6SoWIjwgMdOQ==',
]
protected emulatedAttributes => [
(int) 0 => 'session',
(int) 1 => 'flash',
(int) 2 => 'webroot',
(int) 3 => 'base',
(int) 4 => 'params',
(int) 5 => 'here',
]
protected uploadedFiles => [
]
protected protocol => null
protected requestTarget => null
}
-
|
if ($this->queue->valid()) {
|
|
$middleware = $this->queue->current();
|
|
$this->queue->next();
|
|
|
|
return $middleware->process($request, $this);
|
|
}
|
|
|
|
if ($this->fallbackHandler) {
|
|
return $this->fallbackHandler->handle($request);
|
Toggle Arguments
object(Cake\Http\ServerRequest) id:0 {
trustProxy => false
protected params => [
'pass' => [
(int) 0 => 'home',
],
'controller' => 'Pages',
'action' => 'display',
'plugin' => null,
'_matchedRoute' => '/',
'_ext' => null,
]
protected data => [
]
protected query => [
]
protected cookies => [
]
protected _environment => [
'USER' => 'nginx',
'HOME' => '/var/lib/nginx',
'HTTP_HOST' => 'ts-teacher-dev.itokchinese.com',
'HTTP_ACCEPT_ENCODING' => 'gzip, br, zstd, deflate',
'HTTP_USER_AGENT' => 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)',
'HTTP_ACCEPT' => '*/*',
'SCRIPT_FILENAME' => '/var/www/virtual/ts-teacher-dev.itokchinese.com/webroot/index.php',
'REDIRECT_STATUS' => '200',
'SERVER_NAME' => 'ts-teacher-dev.itokchinese.com',
'SERVER_PORT' => '443',
'SERVER_ADDR' => '182.239.49.114',
'REMOTE_PORT' => '55793',
'REMOTE_ADDR' => '216.73.216.111',
'SERVER_SOFTWARE' => 'nginx/1.20.1',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'HTTPS' => 'on',
'REQUEST_SCHEME' => 'https',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'DOCUMENT_ROOT' => '/var/www/virtual/ts-teacher-dev.itokchinese.com/webroot',
'DOCUMENT_URI' => '/index.php',
'REQUEST_URI' => '/',
'SCRIPT_NAME' => '/index.php',
'CONTENT_LENGTH' => '',
'CONTENT_TYPE' => '',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'FCGI_ROLE' => 'RESPONDER',
'PHP_SELF' => '/index.php',
'REQUEST_TIME_FLOAT' => (float) 1764989841.6273,
'REQUEST_TIME' => (int) 1764989841,
'ORIGINAL_REQUEST_METHOD' => 'GET',
]
protected base => ''
protected webroot => '/'
protected trustedProxies => [
]
protected _detectors => [
'get' => [
'env' => 'REQUEST_METHOD',
'value' => 'GET',
],
'post' => [
'env' => 'REQUEST_METHOD',
'value' => 'POST',
],
'put' => [
'env' => 'REQUEST_METHOD',
'value' => 'PUT',
],
'patch' => [
'env' => 'REQUEST_METHOD',
'value' => 'PATCH',
],
'delete' => [
'env' => 'REQUEST_METHOD',
'value' => 'DELETE',
],
'head' => [
'env' => 'REQUEST_METHOD',
'value' => 'HEAD',
],
'options' => [
'env' => 'REQUEST_METHOD',
'value' => 'OPTIONS',
],
'https' => [
'env' => 'HTTPS',
'options' => [
'' => [maximum depth reached],
],
],
'ajax' => [
'env' => 'HTTP_X_REQUESTED_WITH',
'value' => 'XMLHttpRequest',
],
'json' => [
'accept' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'json',
],
'xml' => [
'accept' => [
'' => [maximum depth reached],
],
'exclude' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'xml',
],
'mobile' => object(Closure) id:1 {
},
'tablet' => object(Closure) id:2 {
},
]
protected _detectorCache => [
]
protected stream => object(Laminas\Diactoros\Stream) id:3 {
protected resource => (resource (stream)) Resource id #162
protected stream => 'php://input'
}
protected uri => object(Laminas\Diactoros\Uri) id:4 {
protected allowedSchemes => [
'' => [maximum depth reached],
]
private scheme => 'https'
private userInfo => ''
private host => 'ts-teacher-dev.itokchinese.com'
private port => null
private path => '/'
private query => ''
private fragment => ''
private uriString => null
}
protected session => object(Cake\Http\Session) id:5 {
protected _engine => object(App\Http\Session\MongoSession) id:6 {
}
protected _started => false
protected _lifetime => (int) 0
protected _isCLI => false
protected headerSentInfo => null
}
protected flash => object(Cake\Http\FlashMessage) id:7 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 5 {}
protected _config => [
'' => [maximum depth reached],
]
protected _configInitialized => true
}
protected attributes => [
'route' => object(Cake\Routing\Route\DashedRoute) id:8 {
},
'csrfToken' => 'tGbOwEMVNbBgfnKBBEF9jXut9M5FsUbqKWRcPFiqZcV8tvTzeJRRyKZS4ZuRfqlI98RUE6c7LQ53WfWGIVUDBRqm6Y3UbwxnQs7C+nLTc9JMBz4EbcgA8kiClsBAoWjxlmTQqqIcmi6SoWIjwgMdOQ==',
]
protected emulatedAttributes => [
(int) 0 => 'session',
(int) 1 => 'flash',
(int) 2 => 'webroot',
(int) 3 => 'base',
(int) 4 => 'params',
(int) 5 => 'here',
]
protected uploadedFiles => [
]
protected protocol => null
protected requestTarget => null
}
object(Cake\Http\Runner) id:0 {
protected queue => object(Cake\Http\MiddlewareQueue) id:1 {
protected position => (int) 6
protected queue => [
'' => [maximum depth reached],
]
protected container => object(Cake\Core\Container) id:2 {
}
}
protected fallbackHandler => object(App\Application) id:3 {
protected configDir => '/var/www/virtual/ts-teacher-dev.itokchinese.com/config/'
protected plugins => object(Cake\Core\PluginCollection) id:4 {
}
protected controllerFactory => object(Cake\Controller\ControllerFactory) id:5 {
}
protected container => object(Cake\Core\Container) id: 2 {}
protected _eventManager => object(Cake\Event\EventManager) id:6 {
}
protected _eventClass => 'Cake\Event\Event'
}
}
-
|
*/
|
|
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
|
|
{
|
|
if (!in_array($request->getMethod(), $this->methods, true)) {
|
|
return $handler->handle($request);
|
|
}
|
|
[$type] = explode(';', $request->getHeaderLine('Content-Type'));
|
|
$type = strtolower($type);
|
|
if (!isset($this->parsers[$type])) {
|
Toggle Arguments
object(Cake\Http\ServerRequest) id:0 {
trustProxy => false
protected params => [
'pass' => [
(int) 0 => 'home',
],
'controller' => 'Pages',
'action' => 'display',
'plugin' => null,
'_matchedRoute' => '/',
'_ext' => null,
]
protected data => [
]
protected query => [
]
protected cookies => [
]
protected _environment => [
'USER' => 'nginx',
'HOME' => '/var/lib/nginx',
'HTTP_HOST' => 'ts-teacher-dev.itokchinese.com',
'HTTP_ACCEPT_ENCODING' => 'gzip, br, zstd, deflate',
'HTTP_USER_AGENT' => 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)',
'HTTP_ACCEPT' => '*/*',
'SCRIPT_FILENAME' => '/var/www/virtual/ts-teacher-dev.itokchinese.com/webroot/index.php',
'REDIRECT_STATUS' => '200',
'SERVER_NAME' => 'ts-teacher-dev.itokchinese.com',
'SERVER_PORT' => '443',
'SERVER_ADDR' => '182.239.49.114',
'REMOTE_PORT' => '55793',
'REMOTE_ADDR' => '216.73.216.111',
'SERVER_SOFTWARE' => 'nginx/1.20.1',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'HTTPS' => 'on',
'REQUEST_SCHEME' => 'https',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'DOCUMENT_ROOT' => '/var/www/virtual/ts-teacher-dev.itokchinese.com/webroot',
'DOCUMENT_URI' => '/index.php',
'REQUEST_URI' => '/',
'SCRIPT_NAME' => '/index.php',
'CONTENT_LENGTH' => '',
'CONTENT_TYPE' => '',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'FCGI_ROLE' => 'RESPONDER',
'PHP_SELF' => '/index.php',
'REQUEST_TIME_FLOAT' => (float) 1764989841.6273,
'REQUEST_TIME' => (int) 1764989841,
'ORIGINAL_REQUEST_METHOD' => 'GET',
]
protected base => ''
protected webroot => '/'
protected trustedProxies => [
]
protected _detectors => [
'get' => [
'env' => 'REQUEST_METHOD',
'value' => 'GET',
],
'post' => [
'env' => 'REQUEST_METHOD',
'value' => 'POST',
],
'put' => [
'env' => 'REQUEST_METHOD',
'value' => 'PUT',
],
'patch' => [
'env' => 'REQUEST_METHOD',
'value' => 'PATCH',
],
'delete' => [
'env' => 'REQUEST_METHOD',
'value' => 'DELETE',
],
'head' => [
'env' => 'REQUEST_METHOD',
'value' => 'HEAD',
],
'options' => [
'env' => 'REQUEST_METHOD',
'value' => 'OPTIONS',
],
'https' => [
'env' => 'HTTPS',
'options' => [
'' => [maximum depth reached],
],
],
'ajax' => [
'env' => 'HTTP_X_REQUESTED_WITH',
'value' => 'XMLHttpRequest',
],
'json' => [
'accept' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'json',
],
'xml' => [
'accept' => [
'' => [maximum depth reached],
],
'exclude' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'xml',
],
'mobile' => object(Closure) id:1 {
},
'tablet' => object(Closure) id:2 {
},
]
protected _detectorCache => [
]
protected stream => object(Laminas\Diactoros\Stream) id:3 {
protected resource => (resource (stream)) Resource id #162
protected stream => 'php://input'
}
protected uri => object(Laminas\Diactoros\Uri) id:4 {
protected allowedSchemes => [
'' => [maximum depth reached],
]
private scheme => 'https'
private userInfo => ''
private host => 'ts-teacher-dev.itokchinese.com'
private port => null
private path => '/'
private query => ''
private fragment => ''
private uriString => null
}
protected session => object(Cake\Http\Session) id:5 {
protected _engine => object(App\Http\Session\MongoSession) id:6 {
}
protected _started => false
protected _lifetime => (int) 0
protected _isCLI => false
protected headerSentInfo => null
}
protected flash => object(Cake\Http\FlashMessage) id:7 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 5 {}
protected _config => [
'' => [maximum depth reached],
]
protected _configInitialized => true
}
protected attributes => [
'route' => object(Cake\Routing\Route\DashedRoute) id:8 {
},
]
protected emulatedAttributes => [
(int) 0 => 'session',
(int) 1 => 'flash',
(int) 2 => 'webroot',
(int) 3 => 'base',
(int) 4 => 'params',
(int) 5 => 'here',
]
protected uploadedFiles => [
]
protected protocol => null
protected requestTarget => null
}
-
|
if ($this->queue->valid()) {
|
|
$middleware = $this->queue->current();
|
|
$this->queue->next();
|
|
|
|
return $middleware->process($request, $this);
|
|
}
|
|
|
|
if ($this->fallbackHandler) {
|
|
return $this->fallbackHandler->handle($request);
|
Toggle Arguments
object(Cake\Http\ServerRequest) id:0 {
trustProxy => false
protected params => [
'pass' => [
(int) 0 => 'home',
],
'controller' => 'Pages',
'action' => 'display',
'plugin' => null,
'_matchedRoute' => '/',
'_ext' => null,
]
protected data => [
]
protected query => [
]
protected cookies => [
]
protected _environment => [
'USER' => 'nginx',
'HOME' => '/var/lib/nginx',
'HTTP_HOST' => 'ts-teacher-dev.itokchinese.com',
'HTTP_ACCEPT_ENCODING' => 'gzip, br, zstd, deflate',
'HTTP_USER_AGENT' => 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)',
'HTTP_ACCEPT' => '*/*',
'SCRIPT_FILENAME' => '/var/www/virtual/ts-teacher-dev.itokchinese.com/webroot/index.php',
'REDIRECT_STATUS' => '200',
'SERVER_NAME' => 'ts-teacher-dev.itokchinese.com',
'SERVER_PORT' => '443',
'SERVER_ADDR' => '182.239.49.114',
'REMOTE_PORT' => '55793',
'REMOTE_ADDR' => '216.73.216.111',
'SERVER_SOFTWARE' => 'nginx/1.20.1',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'HTTPS' => 'on',
'REQUEST_SCHEME' => 'https',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'DOCUMENT_ROOT' => '/var/www/virtual/ts-teacher-dev.itokchinese.com/webroot',
'DOCUMENT_URI' => '/index.php',
'REQUEST_URI' => '/',
'SCRIPT_NAME' => '/index.php',
'CONTENT_LENGTH' => '',
'CONTENT_TYPE' => '',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'FCGI_ROLE' => 'RESPONDER',
'PHP_SELF' => '/index.php',
'REQUEST_TIME_FLOAT' => (float) 1764989841.6273,
'REQUEST_TIME' => (int) 1764989841,
'ORIGINAL_REQUEST_METHOD' => 'GET',
]
protected base => ''
protected webroot => '/'
protected trustedProxies => [
]
protected _detectors => [
'get' => [
'env' => 'REQUEST_METHOD',
'value' => 'GET',
],
'post' => [
'env' => 'REQUEST_METHOD',
'value' => 'POST',
],
'put' => [
'env' => 'REQUEST_METHOD',
'value' => 'PUT',
],
'patch' => [
'env' => 'REQUEST_METHOD',
'value' => 'PATCH',
],
'delete' => [
'env' => 'REQUEST_METHOD',
'value' => 'DELETE',
],
'head' => [
'env' => 'REQUEST_METHOD',
'value' => 'HEAD',
],
'options' => [
'env' => 'REQUEST_METHOD',
'value' => 'OPTIONS',
],
'https' => [
'env' => 'HTTPS',
'options' => [
'' => [maximum depth reached],
],
],
'ajax' => [
'env' => 'HTTP_X_REQUESTED_WITH',
'value' => 'XMLHttpRequest',
],
'json' => [
'accept' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'json',
],
'xml' => [
'accept' => [
'' => [maximum depth reached],
],
'exclude' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'xml',
],
'mobile' => object(Closure) id:1 {
},
'tablet' => object(Closure) id:2 {
},
]
protected _detectorCache => [
]
protected stream => object(Laminas\Diactoros\Stream) id:3 {
protected resource => (resource (stream)) Resource id #162
protected stream => 'php://input'
}
protected uri => object(Laminas\Diactoros\Uri) id:4 {
protected allowedSchemes => [
'' => [maximum depth reached],
]
private scheme => 'https'
private userInfo => ''
private host => 'ts-teacher-dev.itokchinese.com'
private port => null
private path => '/'
private query => ''
private fragment => ''
private uriString => null
}
protected session => object(Cake\Http\Session) id:5 {
protected _engine => object(App\Http\Session\MongoSession) id:6 {
}
protected _started => false
protected _lifetime => (int) 0
protected _isCLI => false
protected headerSentInfo => null
}
protected flash => object(Cake\Http\FlashMessage) id:7 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 5 {}
protected _config => [
'' => [maximum depth reached],
]
protected _configInitialized => true
}
protected attributes => [
'route' => object(Cake\Routing\Route\DashedRoute) id:8 {
},
]
protected emulatedAttributes => [
(int) 0 => 'session',
(int) 1 => 'flash',
(int) 2 => 'webroot',
(int) 3 => 'base',
(int) 4 => 'params',
(int) 5 => 'here',
]
protected uploadedFiles => [
]
protected protocol => null
protected requestTarget => null
}
object(Cake\Http\Runner) id:0 {
protected queue => object(Cake\Http\MiddlewareQueue) id:1 {
protected position => (int) 6
protected queue => [
'' => [maximum depth reached],
]
protected container => object(Cake\Core\Container) id:2 {
}
}
protected fallbackHandler => object(App\Application) id:3 {
protected configDir => '/var/www/virtual/ts-teacher-dev.itokchinese.com/config/'
protected plugins => object(Cake\Core\PluginCollection) id:4 {
}
protected controllerFactory => object(Cake\Controller\ControllerFactory) id:5 {
}
protected container => object(Cake\Core\Container) id: 2 {}
protected _eventManager => object(Cake\Event\EventManager) id:6 {
}
protected _eventClass => 'Cake\Event\Event'
}
}
-
|
);
|
|
}
|
|
$matching = Router::getRouteCollection()->getMiddleware($middleware);
|
|
if (!$matching) {
|
|
return $handler->handle($request);
|
|
}
|
|
|
|
$container = $this->app instanceof ContainerApplicationInterface
|
|
? $this->app->getContainer()
|
Toggle Arguments
object(Cake\Http\ServerRequest) id:0 {
trustProxy => false
protected params => [
'pass' => [
(int) 0 => 'home',
],
'controller' => 'Pages',
'action' => 'display',
'plugin' => null,
'_matchedRoute' => '/',
'_ext' => null,
]
protected data => [
]
protected query => [
]
protected cookies => [
]
protected _environment => [
'USER' => 'nginx',
'HOME' => '/var/lib/nginx',
'HTTP_HOST' => 'ts-teacher-dev.itokchinese.com',
'HTTP_ACCEPT_ENCODING' => 'gzip, br, zstd, deflate',
'HTTP_USER_AGENT' => 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)',
'HTTP_ACCEPT' => '*/*',
'SCRIPT_FILENAME' => '/var/www/virtual/ts-teacher-dev.itokchinese.com/webroot/index.php',
'REDIRECT_STATUS' => '200',
'SERVER_NAME' => 'ts-teacher-dev.itokchinese.com',
'SERVER_PORT' => '443',
'SERVER_ADDR' => '182.239.49.114',
'REMOTE_PORT' => '55793',
'REMOTE_ADDR' => '216.73.216.111',
'SERVER_SOFTWARE' => 'nginx/1.20.1',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'HTTPS' => 'on',
'REQUEST_SCHEME' => 'https',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'DOCUMENT_ROOT' => '/var/www/virtual/ts-teacher-dev.itokchinese.com/webroot',
'DOCUMENT_URI' => '/index.php',
'REQUEST_URI' => '/',
'SCRIPT_NAME' => '/index.php',
'CONTENT_LENGTH' => '',
'CONTENT_TYPE' => '',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'FCGI_ROLE' => 'RESPONDER',
'PHP_SELF' => '/index.php',
'REQUEST_TIME_FLOAT' => (float) 1764989841.6273,
'REQUEST_TIME' => (int) 1764989841,
'ORIGINAL_REQUEST_METHOD' => 'GET',
]
protected base => ''
protected webroot => '/'
protected trustedProxies => [
]
protected _detectors => [
'get' => [
'env' => 'REQUEST_METHOD',
'value' => 'GET',
],
'post' => [
'env' => 'REQUEST_METHOD',
'value' => 'POST',
],
'put' => [
'env' => 'REQUEST_METHOD',
'value' => 'PUT',
],
'patch' => [
'env' => 'REQUEST_METHOD',
'value' => 'PATCH',
],
'delete' => [
'env' => 'REQUEST_METHOD',
'value' => 'DELETE',
],
'head' => [
'env' => 'REQUEST_METHOD',
'value' => 'HEAD',
],
'options' => [
'env' => 'REQUEST_METHOD',
'value' => 'OPTIONS',
],
'https' => [
'env' => 'HTTPS',
'options' => [
'' => [maximum depth reached],
],
],
'ajax' => [
'env' => 'HTTP_X_REQUESTED_WITH',
'value' => 'XMLHttpRequest',
],
'json' => [
'accept' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'json',
],
'xml' => [
'accept' => [
'' => [maximum depth reached],
],
'exclude' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'xml',
],
'mobile' => object(Closure) id:1 {
},
'tablet' => object(Closure) id:2 {
},
]
protected _detectorCache => [
]
protected stream => object(Laminas\Diactoros\Stream) id:3 {
protected resource => (resource (stream)) Resource id #162
protected stream => 'php://input'
}
protected uri => object(Laminas\Diactoros\Uri) id:4 {
protected allowedSchemes => [
'' => [maximum depth reached],
]
private scheme => 'https'
private userInfo => ''
private host => 'ts-teacher-dev.itokchinese.com'
private port => null
private path => '/'
private query => ''
private fragment => ''
private uriString => null
}
protected session => object(Cake\Http\Session) id:5 {
protected _engine => object(App\Http\Session\MongoSession) id:6 {
}
protected _started => false
protected _lifetime => (int) 0
protected _isCLI => false
protected headerSentInfo => null
}
protected flash => object(Cake\Http\FlashMessage) id:7 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 5 {}
protected _config => [
'' => [maximum depth reached],
]
protected _configInitialized => true
}
protected attributes => [
'route' => object(Cake\Routing\Route\DashedRoute) id:8 {
},
]
protected emulatedAttributes => [
(int) 0 => 'session',
(int) 1 => 'flash',
(int) 2 => 'webroot',
(int) 3 => 'base',
(int) 4 => 'params',
(int) 5 => 'here',
]
protected uploadedFiles => [
]
protected protocol => null
protected requestTarget => null
}
-
|
if ($this->queue->valid()) {
|
|
$middleware = $this->queue->current();
|
|
$this->queue->next();
|
|
|
|
return $middleware->process($request, $this);
|
|
}
|
|
|
|
if ($this->fallbackHandler) {
|
|
return $this->fallbackHandler->handle($request);
|
Toggle Arguments
object(Cake\Http\ServerRequest) id:0 {
trustProxy => false
protected params => [
'pass' => [
(int) 0 => 'home',
],
'controller' => 'Pages',
'action' => 'display',
'plugin' => null,
'_matchedRoute' => '/',
'_ext' => null,
]
protected data => [
]
protected query => [
]
protected cookies => [
]
protected _environment => [
'USER' => 'nginx',
'HOME' => '/var/lib/nginx',
'HTTP_HOST' => 'ts-teacher-dev.itokchinese.com',
'HTTP_ACCEPT_ENCODING' => 'gzip, br, zstd, deflate',
'HTTP_USER_AGENT' => 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)',
'HTTP_ACCEPT' => '*/*',
'SCRIPT_FILENAME' => '/var/www/virtual/ts-teacher-dev.itokchinese.com/webroot/index.php',
'REDIRECT_STATUS' => '200',
'SERVER_NAME' => 'ts-teacher-dev.itokchinese.com',
'SERVER_PORT' => '443',
'SERVER_ADDR' => '182.239.49.114',
'REMOTE_PORT' => '55793',
'REMOTE_ADDR' => '216.73.216.111',
'SERVER_SOFTWARE' => 'nginx/1.20.1',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'HTTPS' => 'on',
'REQUEST_SCHEME' => 'https',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'DOCUMENT_ROOT' => '/var/www/virtual/ts-teacher-dev.itokchinese.com/webroot',
'DOCUMENT_URI' => '/index.php',
'REQUEST_URI' => '/',
'SCRIPT_NAME' => '/index.php',
'CONTENT_LENGTH' => '',
'CONTENT_TYPE' => '',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'FCGI_ROLE' => 'RESPONDER',
'PHP_SELF' => '/index.php',
'REQUEST_TIME_FLOAT' => (float) 1764989841.6273,
'REQUEST_TIME' => (int) 1764989841,
'ORIGINAL_REQUEST_METHOD' => 'GET',
]
protected base => ''
protected webroot => '/'
protected trustedProxies => [
]
protected _detectors => [
'get' => [
'env' => 'REQUEST_METHOD',
'value' => 'GET',
],
'post' => [
'env' => 'REQUEST_METHOD',
'value' => 'POST',
],
'put' => [
'env' => 'REQUEST_METHOD',
'value' => 'PUT',
],
'patch' => [
'env' => 'REQUEST_METHOD',
'value' => 'PATCH',
],
'delete' => [
'env' => 'REQUEST_METHOD',
'value' => 'DELETE',
],
'head' => [
'env' => 'REQUEST_METHOD',
'value' => 'HEAD',
],
'options' => [
'env' => 'REQUEST_METHOD',
'value' => 'OPTIONS',
],
'https' => [
'env' => 'HTTPS',
'options' => [
'' => [maximum depth reached],
],
],
'ajax' => [
'env' => 'HTTP_X_REQUESTED_WITH',
'value' => 'XMLHttpRequest',
],
'json' => [
'accept' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'json',
],
'xml' => [
'accept' => [
'' => [maximum depth reached],
],
'exclude' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'xml',
],
'mobile' => object(Closure) id:1 {
},
'tablet' => object(Closure) id:2 {
},
]
protected _detectorCache => [
]
protected stream => object(Laminas\Diactoros\Stream) id:3 {
protected resource => (resource (stream)) Resource id #162
protected stream => 'php://input'
}
protected uri => object(Laminas\Diactoros\Uri) id:4 {
protected allowedSchemes => [
'' => [maximum depth reached],
]
private scheme => 'https'
private userInfo => ''
private host => 'ts-teacher-dev.itokchinese.com'
private port => null
private path => '/'
private query => ''
private fragment => ''
private uriString => null
}
protected session => object(Cake\Http\Session) id:5 {
protected _engine => object(App\Http\Session\MongoSession) id:6 {
}
protected _started => false
protected _lifetime => (int) 0
protected _isCLI => false
protected headerSentInfo => null
}
protected flash => object(Cake\Http\FlashMessage) id:7 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 5 {}
protected _config => [
'' => [maximum depth reached],
]
protected _configInitialized => true
}
protected attributes => [
'route' => object(Cake\Routing\Route\DashedRoute) id:8 {
},
]
protected emulatedAttributes => [
(int) 0 => 'session',
(int) 1 => 'flash',
(int) 2 => 'webroot',
(int) 3 => 'base',
(int) 4 => 'params',
(int) 5 => 'here',
]
protected uploadedFiles => [
]
protected protocol => null
protected requestTarget => null
}
object(Cake\Http\Runner) id:0 {
protected queue => object(Cake\Http\MiddlewareQueue) id:1 {
protected position => (int) 6
protected queue => [
'' => [maximum depth reached],
]
protected container => object(Cake\Core\Container) id:2 {
}
}
protected fallbackHandler => object(App\Application) id:3 {
protected configDir => '/var/www/virtual/ts-teacher-dev.itokchinese.com/config/'
protected plugins => object(Cake\Core\PluginCollection) id:4 {
}
protected controllerFactory => object(Cake\Controller\ControllerFactory) id:5 {
}
protected container => object(Cake\Core\Container) id: 2 {}
protected _eventManager => object(Cake\Event\EventManager) id:6 {
}
protected _eventClass => 'Cake\Event\Event'
}
}
-
|
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
|
|
{
|
|
$url = $request->getUri()->getPath();
|
|
if (str_contains($url, '..') || !str_contains($url, '.')) {
|
|
return $handler->handle($request);
|
|
}
|
|
|
|
if (str_contains($url, '/.')) {
|
|
return $handler->handle($request);
|
Toggle Arguments
object(Cake\Http\ServerRequest) id:0 {
trustProxy => false
protected params => [
'plugin' => null,
'controller' => null,
'action' => null,
'_ext' => null,
'pass' => [
],
]
protected data => [
]
protected query => [
]
protected cookies => [
]
protected _environment => [
'USER' => 'nginx',
'HOME' => '/var/lib/nginx',
'HTTP_HOST' => 'ts-teacher-dev.itokchinese.com',
'HTTP_ACCEPT_ENCODING' => 'gzip, br, zstd, deflate',
'HTTP_USER_AGENT' => 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)',
'HTTP_ACCEPT' => '*/*',
'SCRIPT_FILENAME' => '/var/www/virtual/ts-teacher-dev.itokchinese.com/webroot/index.php',
'REDIRECT_STATUS' => '200',
'SERVER_NAME' => 'ts-teacher-dev.itokchinese.com',
'SERVER_PORT' => '443',
'SERVER_ADDR' => '182.239.49.114',
'REMOTE_PORT' => '55793',
'REMOTE_ADDR' => '216.73.216.111',
'SERVER_SOFTWARE' => 'nginx/1.20.1',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'HTTPS' => 'on',
'REQUEST_SCHEME' => 'https',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'DOCUMENT_ROOT' => '/var/www/virtual/ts-teacher-dev.itokchinese.com/webroot',
'DOCUMENT_URI' => '/index.php',
'REQUEST_URI' => '/',
'SCRIPT_NAME' => '/index.php',
'CONTENT_LENGTH' => '',
'CONTENT_TYPE' => '',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'FCGI_ROLE' => 'RESPONDER',
'PHP_SELF' => '/index.php',
'REQUEST_TIME_FLOAT' => (float) 1764989841.6273,
'REQUEST_TIME' => (int) 1764989841,
'ORIGINAL_REQUEST_METHOD' => 'GET',
]
protected base => ''
protected webroot => '/'
protected trustedProxies => [
]
protected _detectors => [
'get' => [
'env' => 'REQUEST_METHOD',
'value' => 'GET',
],
'post' => [
'env' => 'REQUEST_METHOD',
'value' => 'POST',
],
'put' => [
'env' => 'REQUEST_METHOD',
'value' => 'PUT',
],
'patch' => [
'env' => 'REQUEST_METHOD',
'value' => 'PATCH',
],
'delete' => [
'env' => 'REQUEST_METHOD',
'value' => 'DELETE',
],
'head' => [
'env' => 'REQUEST_METHOD',
'value' => 'HEAD',
],
'options' => [
'env' => 'REQUEST_METHOD',
'value' => 'OPTIONS',
],
'https' => [
'env' => 'HTTPS',
'options' => [
'' => [maximum depth reached],
],
],
'ajax' => [
'env' => 'HTTP_X_REQUESTED_WITH',
'value' => 'XMLHttpRequest',
],
'json' => [
'accept' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'json',
],
'xml' => [
'accept' => [
'' => [maximum depth reached],
],
'exclude' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'xml',
],
'mobile' => object(Closure) id:1 {
},
'tablet' => object(Closure) id:2 {
},
]
protected _detectorCache => [
]
protected stream => object(Laminas\Diactoros\Stream) id:3 {
protected resource => (resource (stream)) Resource id #162
protected stream => 'php://input'
}
protected uri => object(Laminas\Diactoros\Uri) id:4 {
protected allowedSchemes => [
'' => [maximum depth reached],
]
private scheme => 'https'
private userInfo => ''
private host => 'ts-teacher-dev.itokchinese.com'
private port => null
private path => '/'
private query => ''
private fragment => ''
private uriString => null
}
protected session => object(Cake\Http\Session) id:5 {
protected _engine => object(App\Http\Session\MongoSession) id:6 {
}
protected _started => false
protected _lifetime => (int) 0
protected _isCLI => false
protected headerSentInfo => null
}
protected flash => object(Cake\Http\FlashMessage) id:7 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 5 {}
protected _config => [
'' => [maximum depth reached],
]
protected _configInitialized => true
}
protected attributes => [
]
protected emulatedAttributes => [
(int) 0 => 'session',
(int) 1 => 'flash',
(int) 2 => 'webroot',
(int) 3 => 'base',
(int) 4 => 'params',
(int) 5 => 'here',
]
protected uploadedFiles => [
]
protected protocol => null
protected requestTarget => null
}
-
|
if ($this->queue->valid()) {
|
|
$middleware = $this->queue->current();
|
|
$this->queue->next();
|
|
|
|
return $middleware->process($request, $this);
|
|
}
|
|
|
|
if ($this->fallbackHandler) {
|
|
return $this->fallbackHandler->handle($request);
|
Toggle Arguments
object(Cake\Http\ServerRequest) id:0 {
trustProxy => false
protected params => [
'plugin' => null,
'controller' => null,
'action' => null,
'_ext' => null,
'pass' => [
],
]
protected data => [
]
protected query => [
]
protected cookies => [
]
protected _environment => [
'USER' => 'nginx',
'HOME' => '/var/lib/nginx',
'HTTP_HOST' => 'ts-teacher-dev.itokchinese.com',
'HTTP_ACCEPT_ENCODING' => 'gzip, br, zstd, deflate',
'HTTP_USER_AGENT' => 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)',
'HTTP_ACCEPT' => '*/*',
'SCRIPT_FILENAME' => '/var/www/virtual/ts-teacher-dev.itokchinese.com/webroot/index.php',
'REDIRECT_STATUS' => '200',
'SERVER_NAME' => 'ts-teacher-dev.itokchinese.com',
'SERVER_PORT' => '443',
'SERVER_ADDR' => '182.239.49.114',
'REMOTE_PORT' => '55793',
'REMOTE_ADDR' => '216.73.216.111',
'SERVER_SOFTWARE' => 'nginx/1.20.1',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'HTTPS' => 'on',
'REQUEST_SCHEME' => 'https',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'DOCUMENT_ROOT' => '/var/www/virtual/ts-teacher-dev.itokchinese.com/webroot',
'DOCUMENT_URI' => '/index.php',
'REQUEST_URI' => '/',
'SCRIPT_NAME' => '/index.php',
'CONTENT_LENGTH' => '',
'CONTENT_TYPE' => '',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'FCGI_ROLE' => 'RESPONDER',
'PHP_SELF' => '/index.php',
'REQUEST_TIME_FLOAT' => (float) 1764989841.6273,
'REQUEST_TIME' => (int) 1764989841,
'ORIGINAL_REQUEST_METHOD' => 'GET',
]
protected base => ''
protected webroot => '/'
protected trustedProxies => [
]
protected _detectors => [
'get' => [
'env' => 'REQUEST_METHOD',
'value' => 'GET',
],
'post' => [
'env' => 'REQUEST_METHOD',
'value' => 'POST',
],
'put' => [
'env' => 'REQUEST_METHOD',
'value' => 'PUT',
],
'patch' => [
'env' => 'REQUEST_METHOD',
'value' => 'PATCH',
],
'delete' => [
'env' => 'REQUEST_METHOD',
'value' => 'DELETE',
],
'head' => [
'env' => 'REQUEST_METHOD',
'value' => 'HEAD',
],
'options' => [
'env' => 'REQUEST_METHOD',
'value' => 'OPTIONS',
],
'https' => [
'env' => 'HTTPS',
'options' => [
'' => [maximum depth reached],
],
],
'ajax' => [
'env' => 'HTTP_X_REQUESTED_WITH',
'value' => 'XMLHttpRequest',
],
'json' => [
'accept' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'json',
],
'xml' => [
'accept' => [
'' => [maximum depth reached],
],
'exclude' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'xml',
],
'mobile' => object(Closure) id:1 {
},
'tablet' => object(Closure) id:2 {
},
]
protected _detectorCache => [
]
protected stream => object(Laminas\Diactoros\Stream) id:3 {
protected resource => (resource (stream)) Resource id #162
protected stream => 'php://input'
}
protected uri => object(Laminas\Diactoros\Uri) id:4 {
protected allowedSchemes => [
'' => [maximum depth reached],
]
private scheme => 'https'
private userInfo => ''
private host => 'ts-teacher-dev.itokchinese.com'
private port => null
private path => '/'
private query => ''
private fragment => ''
private uriString => null
}
protected session => object(Cake\Http\Session) id:5 {
protected _engine => object(App\Http\Session\MongoSession) id:6 {
}
protected _started => false
protected _lifetime => (int) 0
protected _isCLI => false
protected headerSentInfo => null
}
protected flash => object(Cake\Http\FlashMessage) id:7 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 5 {}
protected _config => [
'' => [maximum depth reached],
]
protected _configInitialized => true
}
protected attributes => [
]
protected emulatedAttributes => [
(int) 0 => 'session',
(int) 1 => 'flash',
(int) 2 => 'webroot',
(int) 3 => 'base',
(int) 4 => 'params',
(int) 5 => 'here',
]
protected uploadedFiles => [
]
protected protocol => null
protected requestTarget => null
}
object(Cake\Http\Runner) id:0 {
protected queue => object(Cake\Http\MiddlewareQueue) id:1 {
protected position => (int) 6
protected queue => [
'' => [maximum depth reached],
]
protected container => object(Cake\Core\Container) id:2 {
}
}
protected fallbackHandler => object(App\Application) id:3 {
protected configDir => '/var/www/virtual/ts-teacher-dev.itokchinese.com/config/'
protected plugins => object(Cake\Core\PluginCollection) id:4 {
}
protected controllerFactory => object(Cake\Controller\ControllerFactory) id:5 {
}
protected container => object(Cake\Core\Container) id: 2 {}
protected _eventManager => object(Cake\Event\EventManager) id:6 {
}
protected _eventClass => 'Cake\Event\Event'
}
}
-
|
*/
|
|
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
|
|
{
|
|
try {
|
|
return $handler->handle($request);
|
|
} catch (RedirectException $exception) {
|
|
return $this->handleRedirect($exception);
|
|
} catch (Throwable $exception) {
|
|
return $this->handleException($exception, Router::getRequest() ?? $request);
|
Toggle Arguments
object(Cake\Http\ServerRequest) id:0 {
trustProxy => false
protected params => [
'plugin' => null,
'controller' => null,
'action' => null,
'_ext' => null,
'pass' => [
],
]
protected data => [
]
protected query => [
]
protected cookies => [
]
protected _environment => [
'USER' => 'nginx',
'HOME' => '/var/lib/nginx',
'HTTP_HOST' => 'ts-teacher-dev.itokchinese.com',
'HTTP_ACCEPT_ENCODING' => 'gzip, br, zstd, deflate',
'HTTP_USER_AGENT' => 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)',
'HTTP_ACCEPT' => '*/*',
'SCRIPT_FILENAME' => '/var/www/virtual/ts-teacher-dev.itokchinese.com/webroot/index.php',
'REDIRECT_STATUS' => '200',
'SERVER_NAME' => 'ts-teacher-dev.itokchinese.com',
'SERVER_PORT' => '443',
'SERVER_ADDR' => '182.239.49.114',
'REMOTE_PORT' => '55793',
'REMOTE_ADDR' => '216.73.216.111',
'SERVER_SOFTWARE' => 'nginx/1.20.1',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'HTTPS' => 'on',
'REQUEST_SCHEME' => 'https',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'DOCUMENT_ROOT' => '/var/www/virtual/ts-teacher-dev.itokchinese.com/webroot',
'DOCUMENT_URI' => '/index.php',
'REQUEST_URI' => '/',
'SCRIPT_NAME' => '/index.php',
'CONTENT_LENGTH' => '',
'CONTENT_TYPE' => '',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'FCGI_ROLE' => 'RESPONDER',
'PHP_SELF' => '/index.php',
'REQUEST_TIME_FLOAT' => (float) 1764989841.6273,
'REQUEST_TIME' => (int) 1764989841,
'ORIGINAL_REQUEST_METHOD' => 'GET',
]
protected base => ''
protected webroot => '/'
protected trustedProxies => [
]
protected _detectors => [
'get' => [
'env' => 'REQUEST_METHOD',
'value' => 'GET',
],
'post' => [
'env' => 'REQUEST_METHOD',
'value' => 'POST',
],
'put' => [
'env' => 'REQUEST_METHOD',
'value' => 'PUT',
],
'patch' => [
'env' => 'REQUEST_METHOD',
'value' => 'PATCH',
],
'delete' => [
'env' => 'REQUEST_METHOD',
'value' => 'DELETE',
],
'head' => [
'env' => 'REQUEST_METHOD',
'value' => 'HEAD',
],
'options' => [
'env' => 'REQUEST_METHOD',
'value' => 'OPTIONS',
],
'https' => [
'env' => 'HTTPS',
'options' => [
'' => [maximum depth reached],
],
],
'ajax' => [
'env' => 'HTTP_X_REQUESTED_WITH',
'value' => 'XMLHttpRequest',
],
'json' => [
'accept' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'json',
],
'xml' => [
'accept' => [
'' => [maximum depth reached],
],
'exclude' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'xml',
],
'mobile' => object(Closure) id:1 {
},
'tablet' => object(Closure) id:2 {
},
]
protected _detectorCache => [
]
protected stream => object(Laminas\Diactoros\Stream) id:3 {
protected resource => (resource (stream)) Resource id #162
protected stream => 'php://input'
}
protected uri => object(Laminas\Diactoros\Uri) id:4 {
protected allowedSchemes => [
'' => [maximum depth reached],
]
private scheme => 'https'
private userInfo => ''
private host => 'ts-teacher-dev.itokchinese.com'
private port => null
private path => '/'
private query => ''
private fragment => ''
private uriString => null
}
protected session => object(Cake\Http\Session) id:5 {
protected _engine => object(App\Http\Session\MongoSession) id:6 {
}
protected _started => false
protected _lifetime => (int) 0
protected _isCLI => false
protected headerSentInfo => null
}
protected flash => object(Cake\Http\FlashMessage) id:7 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 5 {}
protected _config => [
'' => [maximum depth reached],
]
protected _configInitialized => true
}
protected attributes => [
]
protected emulatedAttributes => [
(int) 0 => 'session',
(int) 1 => 'flash',
(int) 2 => 'webroot',
(int) 3 => 'base',
(int) 4 => 'params',
(int) 5 => 'here',
]
protected uploadedFiles => [
]
protected protocol => null
protected requestTarget => null
}
-
|
if ($this->queue->valid()) {
|
|
$middleware = $this->queue->current();
|
|
$this->queue->next();
|
|
|
|
return $middleware->process($request, $this);
|
|
}
|
|
|
|
if ($this->fallbackHandler) {
|
|
return $this->fallbackHandler->handle($request);
|
Toggle Arguments
object(Cake\Http\ServerRequest) id:0 {
trustProxy => false
protected params => [
'plugin' => null,
'controller' => null,
'action' => null,
'_ext' => null,
'pass' => [
],
]
protected data => [
]
protected query => [
]
protected cookies => [
]
protected _environment => [
'USER' => 'nginx',
'HOME' => '/var/lib/nginx',
'HTTP_HOST' => 'ts-teacher-dev.itokchinese.com',
'HTTP_ACCEPT_ENCODING' => 'gzip, br, zstd, deflate',
'HTTP_USER_AGENT' => 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)',
'HTTP_ACCEPT' => '*/*',
'SCRIPT_FILENAME' => '/var/www/virtual/ts-teacher-dev.itokchinese.com/webroot/index.php',
'REDIRECT_STATUS' => '200',
'SERVER_NAME' => 'ts-teacher-dev.itokchinese.com',
'SERVER_PORT' => '443',
'SERVER_ADDR' => '182.239.49.114',
'REMOTE_PORT' => '55793',
'REMOTE_ADDR' => '216.73.216.111',
'SERVER_SOFTWARE' => 'nginx/1.20.1',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'HTTPS' => 'on',
'REQUEST_SCHEME' => 'https',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'DOCUMENT_ROOT' => '/var/www/virtual/ts-teacher-dev.itokchinese.com/webroot',
'DOCUMENT_URI' => '/index.php',
'REQUEST_URI' => '/',
'SCRIPT_NAME' => '/index.php',
'CONTENT_LENGTH' => '',
'CONTENT_TYPE' => '',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'FCGI_ROLE' => 'RESPONDER',
'PHP_SELF' => '/index.php',
'REQUEST_TIME_FLOAT' => (float) 1764989841.6273,
'REQUEST_TIME' => (int) 1764989841,
'ORIGINAL_REQUEST_METHOD' => 'GET',
]
protected base => ''
protected webroot => '/'
protected trustedProxies => [
]
protected _detectors => [
'get' => [
'env' => 'REQUEST_METHOD',
'value' => 'GET',
],
'post' => [
'env' => 'REQUEST_METHOD',
'value' => 'POST',
],
'put' => [
'env' => 'REQUEST_METHOD',
'value' => 'PUT',
],
'patch' => [
'env' => 'REQUEST_METHOD',
'value' => 'PATCH',
],
'delete' => [
'env' => 'REQUEST_METHOD',
'value' => 'DELETE',
],
'head' => [
'env' => 'REQUEST_METHOD',
'value' => 'HEAD',
],
'options' => [
'env' => 'REQUEST_METHOD',
'value' => 'OPTIONS',
],
'https' => [
'env' => 'HTTPS',
'options' => [
'' => [maximum depth reached],
],
],
'ajax' => [
'env' => 'HTTP_X_REQUESTED_WITH',
'value' => 'XMLHttpRequest',
],
'json' => [
'accept' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'json',
],
'xml' => [
'accept' => [
'' => [maximum depth reached],
],
'exclude' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'xml',
],
'mobile' => object(Closure) id:1 {
},
'tablet' => object(Closure) id:2 {
},
]
protected _detectorCache => [
]
protected stream => object(Laminas\Diactoros\Stream) id:3 {
protected resource => (resource (stream)) Resource id #162
protected stream => 'php://input'
}
protected uri => object(Laminas\Diactoros\Uri) id:4 {
protected allowedSchemes => [
'' => [maximum depth reached],
]
private scheme => 'https'
private userInfo => ''
private host => 'ts-teacher-dev.itokchinese.com'
private port => null
private path => '/'
private query => ''
private fragment => ''
private uriString => null
}
protected session => object(Cake\Http\Session) id:5 {
protected _engine => object(App\Http\Session\MongoSession) id:6 {
}
protected _started => false
protected _lifetime => (int) 0
protected _isCLI => false
protected headerSentInfo => null
}
protected flash => object(Cake\Http\FlashMessage) id:7 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 5 {}
protected _config => [
'' => [maximum depth reached],
]
protected _configInitialized => true
}
protected attributes => [
]
protected emulatedAttributes => [
(int) 0 => 'session',
(int) 1 => 'flash',
(int) 2 => 'webroot',
(int) 3 => 'base',
(int) 4 => 'params',
(int) 5 => 'here',
]
protected uploadedFiles => [
]
protected protocol => null
protected requestTarget => null
}
object(Cake\Http\Runner) id:0 {
protected queue => object(Cake\Http\MiddlewareQueue) id:1 {
protected position => (int) 6
protected queue => [
'' => [maximum depth reached],
]
protected container => object(Cake\Core\Container) id:2 {
}
}
protected fallbackHandler => object(App\Application) id:3 {
protected configDir => '/var/www/virtual/ts-teacher-dev.itokchinese.com/config/'
protected plugins => object(Cake\Core\PluginCollection) id:4 {
}
protected controllerFactory => object(Cake\Controller\ControllerFactory) id:5 {
}
protected container => object(Cake\Core\Container) id: 2 {}
protected _eventManager => object(Cake\Event\EventManager) id:6 {
}
protected _eventClass => 'Cake\Event\Event'
}
}
-
|
$this->queue = $queue;
|
|
$this->queue->rewind();
|
|
$this->fallbackHandler = $fallbackHandler;
|
|
|
|
return $this->handle($request);
|
|
}
|
|
|
|
/**
|
|
* Handle incoming server request and return a response.
|
Toggle Arguments
object(Cake\Http\ServerRequest) id:0 {
trustProxy => false
protected params => [
'plugin' => null,
'controller' => null,
'action' => null,
'_ext' => null,
'pass' => [
],
]
protected data => [
]
protected query => [
]
protected cookies => [
]
protected _environment => [
'USER' => 'nginx',
'HOME' => '/var/lib/nginx',
'HTTP_HOST' => 'ts-teacher-dev.itokchinese.com',
'HTTP_ACCEPT_ENCODING' => 'gzip, br, zstd, deflate',
'HTTP_USER_AGENT' => 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)',
'HTTP_ACCEPT' => '*/*',
'SCRIPT_FILENAME' => '/var/www/virtual/ts-teacher-dev.itokchinese.com/webroot/index.php',
'REDIRECT_STATUS' => '200',
'SERVER_NAME' => 'ts-teacher-dev.itokchinese.com',
'SERVER_PORT' => '443',
'SERVER_ADDR' => '182.239.49.114',
'REMOTE_PORT' => '55793',
'REMOTE_ADDR' => '216.73.216.111',
'SERVER_SOFTWARE' => 'nginx/1.20.1',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'HTTPS' => 'on',
'REQUEST_SCHEME' => 'https',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'DOCUMENT_ROOT' => '/var/www/virtual/ts-teacher-dev.itokchinese.com/webroot',
'DOCUMENT_URI' => '/index.php',
'REQUEST_URI' => '/',
'SCRIPT_NAME' => '/index.php',
'CONTENT_LENGTH' => '',
'CONTENT_TYPE' => '',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'FCGI_ROLE' => 'RESPONDER',
'PHP_SELF' => '/index.php',
'REQUEST_TIME_FLOAT' => (float) 1764989841.6273,
'REQUEST_TIME' => (int) 1764989841,
'ORIGINAL_REQUEST_METHOD' => 'GET',
]
protected base => ''
protected webroot => '/'
protected trustedProxies => [
]
protected _detectors => [
'get' => [
'env' => 'REQUEST_METHOD',
'value' => 'GET',
],
'post' => [
'env' => 'REQUEST_METHOD',
'value' => 'POST',
],
'put' => [
'env' => 'REQUEST_METHOD',
'value' => 'PUT',
],
'patch' => [
'env' => 'REQUEST_METHOD',
'value' => 'PATCH',
],
'delete' => [
'env' => 'REQUEST_METHOD',
'value' => 'DELETE',
],
'head' => [
'env' => 'REQUEST_METHOD',
'value' => 'HEAD',
],
'options' => [
'env' => 'REQUEST_METHOD',
'value' => 'OPTIONS',
],
'https' => [
'env' => 'HTTPS',
'options' => [
'' => [maximum depth reached],
],
],
'ajax' => [
'env' => 'HTTP_X_REQUESTED_WITH',
'value' => 'XMLHttpRequest',
],
'json' => [
'accept' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'json',
],
'xml' => [
'accept' => [
'' => [maximum depth reached],
],
'exclude' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'xml',
],
'mobile' => object(Closure) id:1 {
},
'tablet' => object(Closure) id:2 {
},
]
protected _detectorCache => [
]
protected stream => object(Laminas\Diactoros\Stream) id:3 {
protected resource => (resource (stream)) Resource id #162
protected stream => 'php://input'
}
protected uri => object(Laminas\Diactoros\Uri) id:4 {
protected allowedSchemes => [
'' => [maximum depth reached],
]
private scheme => 'https'
private userInfo => ''
private host => 'ts-teacher-dev.itokchinese.com'
private port => null
private path => '/'
private query => ''
private fragment => ''
private uriString => null
}
protected session => object(Cake\Http\Session) id:5 {
protected _engine => object(App\Http\Session\MongoSession) id:6 {
}
protected _started => false
protected _lifetime => (int) 0
protected _isCLI => false
protected headerSentInfo => null
}
protected flash => object(Cake\Http\FlashMessage) id:7 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 5 {}
protected _config => [
'' => [maximum depth reached],
]
protected _configInitialized => true
}
protected attributes => [
]
protected emulatedAttributes => [
(int) 0 => 'session',
(int) 1 => 'flash',
(int) 2 => 'webroot',
(int) 3 => 'base',
(int) 4 => 'params',
(int) 5 => 'here',
]
protected uploadedFiles => [
]
protected protocol => null
protected requestTarget => null
}
-
|
}
|
|
|
|
$this->dispatchEvent('Server.buildMiddleware', ['middleware' => $middleware]);
|
|
|
|
$response = $this->runner->run($middleware, $request, $this->app);
|
|
|
|
if ($request instanceof ServerRequest) {
|
|
$request->getSession()->close();
|
|
}
|
Toggle Arguments
object(Cake\Http\MiddlewareQueue) id:0 {
protected position => (int) 6
protected queue => [
(int) 0 => object(Cake\Error\Middleware\ErrorHandlerMiddleware) id:1 {
},
(int) 1 => object(Cake\Routing\Middleware\AssetMiddleware) id:2 {
},
(int) 2 => object(Cake\Routing\Middleware\RoutingMiddleware) id:3 {
},
(int) 3 => object(Cake\Http\Middleware\BodyParserMiddleware) id:4 {
},
(int) 4 => object(Cake\Http\Middleware\CsrfProtectionMiddleware) id:5 {
},
(int) 5 => object(Authentication\Middleware\AuthenticationMiddleware) id:6 {
},
]
protected container => object(Cake\Core\Container) id:7 {
protected defaultToShared => false
protected definitions => object(League\Container\Definition\DefinitionAggregate) id:8 {
}
protected providers => object(League\Container\ServiceProvider\ServiceProviderAggregate) id:9 {
}
protected inflectors => object(League\Container\Inflector\InflectorAggregate) id:10 {
}
protected delegates => [
'' => [maximum depth reached],
]
}
}
object(Cake\Http\ServerRequest) id:0 {
trustProxy => false
protected params => [
'plugin' => null,
'controller' => null,
'action' => null,
'_ext' => null,
'pass' => [
],
]
protected data => [
]
protected query => [
]
protected cookies => [
]
protected _environment => [
'USER' => 'nginx',
'HOME' => '/var/lib/nginx',
'HTTP_HOST' => 'ts-teacher-dev.itokchinese.com',
'HTTP_ACCEPT_ENCODING' => 'gzip, br, zstd, deflate',
'HTTP_USER_AGENT' => 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)',
'HTTP_ACCEPT' => '*/*',
'SCRIPT_FILENAME' => '/var/www/virtual/ts-teacher-dev.itokchinese.com/webroot/index.php',
'REDIRECT_STATUS' => '200',
'SERVER_NAME' => 'ts-teacher-dev.itokchinese.com',
'SERVER_PORT' => '443',
'SERVER_ADDR' => '182.239.49.114',
'REMOTE_PORT' => '55793',
'REMOTE_ADDR' => '216.73.216.111',
'SERVER_SOFTWARE' => 'nginx/1.20.1',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'HTTPS' => 'on',
'REQUEST_SCHEME' => 'https',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'DOCUMENT_ROOT' => '/var/www/virtual/ts-teacher-dev.itokchinese.com/webroot',
'DOCUMENT_URI' => '/index.php',
'REQUEST_URI' => '/',
'SCRIPT_NAME' => '/index.php',
'CONTENT_LENGTH' => '',
'CONTENT_TYPE' => '',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'FCGI_ROLE' => 'RESPONDER',
'PHP_SELF' => '/index.php',
'REQUEST_TIME_FLOAT' => (float) 1764989841.6273,
'REQUEST_TIME' => (int) 1764989841,
'ORIGINAL_REQUEST_METHOD' => 'GET',
]
protected base => ''
protected webroot => '/'
protected trustedProxies => [
]
protected _detectors => [
'get' => [
'env' => 'REQUEST_METHOD',
'value' => 'GET',
],
'post' => [
'env' => 'REQUEST_METHOD',
'value' => 'POST',
],
'put' => [
'env' => 'REQUEST_METHOD',
'value' => 'PUT',
],
'patch' => [
'env' => 'REQUEST_METHOD',
'value' => 'PATCH',
],
'delete' => [
'env' => 'REQUEST_METHOD',
'value' => 'DELETE',
],
'head' => [
'env' => 'REQUEST_METHOD',
'value' => 'HEAD',
],
'options' => [
'env' => 'REQUEST_METHOD',
'value' => 'OPTIONS',
],
'https' => [
'env' => 'HTTPS',
'options' => [
'' => [maximum depth reached],
],
],
'ajax' => [
'env' => 'HTTP_X_REQUESTED_WITH',
'value' => 'XMLHttpRequest',
],
'json' => [
'accept' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'json',
],
'xml' => [
'accept' => [
'' => [maximum depth reached],
],
'exclude' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'xml',
],
'mobile' => object(Closure) id:1 {
},
'tablet' => object(Closure) id:2 {
},
]
protected _detectorCache => [
]
protected stream => object(Laminas\Diactoros\Stream) id:3 {
protected resource => (resource (stream)) Resource id #162
protected stream => 'php://input'
}
protected uri => object(Laminas\Diactoros\Uri) id:4 {
protected allowedSchemes => [
'' => [maximum depth reached],
]
private scheme => 'https'
private userInfo => ''
private host => 'ts-teacher-dev.itokchinese.com'
private port => null
private path => '/'
private query => ''
private fragment => ''
private uriString => null
}
protected session => object(Cake\Http\Session) id:5 {
protected _engine => object(App\Http\Session\MongoSession) id:6 {
}
protected _started => false
protected _lifetime => (int) 0
protected _isCLI => false
protected headerSentInfo => null
}
protected flash => object(Cake\Http\FlashMessage) id:7 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 5 {}
protected _config => [
'' => [maximum depth reached],
]
protected _configInitialized => true
}
protected attributes => [
]
protected emulatedAttributes => [
(int) 0 => 'session',
(int) 1 => 'flash',
(int) 2 => 'webroot',
(int) 3 => 'base',
(int) 4 => 'params',
(int) 5 => 'here',
]
protected uploadedFiles => [
]
protected protocol => null
protected requestTarget => null
}
object(App\Application) id:0 {
protected configDir => '/var/www/virtual/ts-teacher-dev.itokchinese.com/config/'
protected plugins => object(Cake\Core\PluginCollection) id:1 {
protected plugins => [
'' => [maximum depth reached],
]
protected names => [
'' => [maximum depth reached],
]
protected positions => [
'' => [maximum depth reached],
]
protected loopDepth => (int) -1
}
protected controllerFactory => object(Cake\Controller\ControllerFactory) id:2 {
protected container => object(Cake\Core\Container) id:3 {
}
protected controller => [uninitialized]
}
protected container => object(Cake\Core\Container) id: 3 {}
protected _eventManager => object(Cake\Event\EventManager) id:4 {
'_listeners' => [
]
'_isGlobal' => true
'_trackEvents' => false
'_generalManager' => '(object) EventManager'
'_dispatchedEvents' => null
}
protected _eventClass => 'Cake\Event\Event'
}
-
|
// Bind your application to the server.
|
|
$server = new Server(new Application(dirname(__DIR__) . '/config'));
|
|
|
|
// Run the request/response through the application and emit the response.
|
|
$server->emit($server->run());
|
|
|
Toggle Arguments
-
If you want to customize this error message, create
templates/Error/error500.php