When updating the files from my vendor folder on the server I had the following errors:
Fatal error: Call to undefined method Cake \ View \ Widget \ SelectBoxWidget :: outputError () in /var/www/vhosts/domain/em>.com.br/vendor/cakephp/cakephp/src/Error/ErrorHandler.php online 118
Notice: Undefined property: Cake \ View \ Widget \ SelectBoxWidget :: $ _ outputFormat in /var/www/vhosts/domain/em>.com.br/vendor/cakephp/cakephp/src/Error/Debugger.php online 302
Fatal error: Can not access protected property Cake \ View \ Widget \ SelectBoxWidget :: $ _ templates in /var/www/vhosts/domain/em>.com.br/vendor/cakephp/cakephp/src/Error/Debugger.php online 352
I can not explain the reason for the error, but the local is working normally. I tested in two environments: docker linux running on ubuntu and xampp running on windows, both worked, only on the server that appears that error.
[UPDATE] I tested the same code on other servers (one hostgator and one kinghost), both worked normally.
[UPDATE 2] Error:
2017-07-10 12:29:00 Warning: Warning (2): transliterator_transliterate():
Could not create transliterator with ID "Any-Latin; Latin-ASCII; [\u0080-\u7fff] remove" (transliterator_create: unable to open ICU transliterator with id "Any-Latin; Latin-ASCII; [\u0080-\u7fff] remove": U_INVALID_ID) in [/var/www/vhosts/MEU_DOMINIO.com.br/MEU_SITE.com.br/vendor/cakephp/cakephp/src/Utility/Text.php, line 1070]
Request URL: /
Client IP: MEU_IP
Trace:
Cake\Error\BaseErrorHandler::handleError() - CORE/src/Error/BaseErrorHandler.php, line 153
transliterator_transliterate - [internal], line ??
Cake\Utility\Text::transliterate() - CORE/src/Utility/Text.php, line 1070
Cake\Utility\Text::slug() - CORE/src/Utility/Text.php, line 1103
Cake\View\Helper\FormHelper::_domId() - CORE/src/View/Helper/IdGeneratorTrait.php, line 82
Cake\View\Helper\FormHelper::control() - CORE/src/View/Helper/FormHelper.php, line 1084
Cake\View\Helper\FormHelper::input() - CORE/src/View/Helper/FormHelper.php, line 1165
include - APP/Template/Pages/home.ctp, line 19
Cake\View\View::_evaluate() - CORE/src/View/View.php, line 1025
Cake\View\View::_render() - CORE/src/View/View.php, line 986
Cake\View\View::render() - CORE/src/View/View.php, line 610
Cake\Controller\Controller::render() - CORE/src/Controller/Controller.php, line 623
App\Controller\PagesController::display() - APP/Controller/PagesController.php, line 101
Cake\Controller\Controller::invokeAction() - CORE/src/Controller/Controller.php, line 440
Cake\Http\ActionDispatcher::_invoke() - CORE/src/Http/ActionDispatcher.php, line 119
Cake\Http\ActionDispatcher::dispatch() - CORE/src/Http/ActionDispatcher.php, line 93
Cake\Http\BaseApplication::__invoke() - CORE/src/Http/BaseApplication.php, line 78
Cake\Http\Runner::__invoke() - CORE/src/Http/Runner.php, line 65
Cake\Routing\Middleware\RoutingMiddleware::__invoke() - CORE/src/Routing/Middleware/RoutingMiddleware.php, line 59
Cake\Http\Runner::__invoke() - CORE/src/Http/Runner.php, line 65
Cake\Routing\Middleware\AssetMiddleware::__invoke() - CORE/src/Routing/Middleware/AssetMiddleware.php, line 88
Cake\Http\Runner::__invoke() - CORE/src/Http/Runner.php, line 65
Cake\Error\Middleware\ErrorHandlerMiddleware::__invoke() - CORE/src/Error/Middleware/ErrorHandlerMiddleware.php, line 92
Cake\Http\Runner::__invoke() - CORE/src/Http/Runner.php, line 65
DebugKit\Middleware\DebugKitMiddleware::__invoke() - ROOT/vendor/cakephp/debug_kit/src/Middleware/DebugKitMiddleware.php, line 52
Cake\Http\Runner::__invoke() - CORE/src/Http/Runner.php, line 65
Cake\Http\Runner::run() - CORE/src/Http/Runner.php, line 51
Cake\Http\Server::run() - CORE/src/Http/Server.php, line 80
[main] - ROOT/webroot/index.php, line 37
Function with indication
public function display()
{
$this->set('title', 'Home');
$this->viewBuilder()->layout('extern');
$undertakings = $this->loadModel('Undertakings');
$developers = $this->loadModel('Developers');
$abouts = $this->loadModel('Abouts');
$undertaking = $this->Undertakings->find('all', [
'limit' => 3,
'contain' => ['Pictures', 'Cities'],
'order' => 'rand()',
'conditions' => [
'status' => 'A',
'Undertakings.id IN' => [27, 18, 76]
]
]);
$about = $this->Abouts->get(1);
$developer = $this->Developers->find('all', [
'contain' => ['Pictures'],
'order' => 'rand()',
'conditions' => [
'Developers.id >' => 1
]
]);
$this->set(compact('undertaking', 'about', 'developer'));
$path = func_get_args();
$count = count($path);
if (!$count) {
return $this->redirect('/');
}
if (in_array('..', $path, true) || in_array('.', $path, true)) {
throw new ForbiddenException();
}
if (!empty($path[0])) {
$page = $path[0];
}
if (!empty($path[1])) {
$subpage = $path[1];
}
//AQUI O ERRO É INDICADO (LINHA 101)
try {
$this->render(implode('/', $path));
} catch (MissingTemplateException $e) {
if (Configure::read('debug')) {
throw $e;
}
throw new NotFoundException();
}
}