Vamos a realizar una serie de artículos breves donde iremos explicando por qué se generan algunos errores en Magento 2 y cómo corregirlos. Por ejemplo, hemos migrado de un servidor a otro y al intentar entrar en la página, nos encontramos con este error
PHP Fatal error: Uncaught Error: Call to a member function setActive() on boolean in vendor\magento\module-backend\Model\View\Result\Page.php:27 Stack trace: #0 vendor\magento\module-backend\Controller\Adminhtml\Dashboard\Index.php(35): Magento\Backend\Model\View\Result\Page->setActiveMenu('Magento_Backend...') #1 vendor\magento\framework\App\Action\Action.php(107): Magento\Backend\Controller\Adminhtml\Dashboard\Index->execute() #2 vendor\magento\module-backend\App\AbstractAction.php(229): Magento\Framework\App\Action\Action->dispatch(Object(Magento\Framework\App\Request\Http)) #3 vendor\magento\framework\App\FrontController.php(55): Magento\Backend\App\AbstractAction->dispatch(Object(Magento\Framework\App\Request\Http)) #4 vendor\magento\framework\App\Http.php(135): Magento\Framework\App\FrontController->dispatch(Object(Magento\Framework\App\Request\Http)) #5 C:\WTServer\WWW\ma in vendor\magento\module-backend\Model\View\Result\Page.php on line 27
La solución más inmediata es ir a la carpeta generated/metadata y borrar el archivo global.php, pero este error indica otro problema: seguramente no tengamos los permisos de los archivos y carpetas correctamente puestos, y el sistema sea incapaz de generar los archivos para mostrar la web. Lo que nos indica este error es que debemos revisar el grupo y usuario propietarios de los archivos y directorios, porque el sistema es incapaz de actuar sobre ellos. Lo normal es tenerlos a www-data:www-data, y con unos permisos de 775 para carpetas y 664 para archivos, pero depende también de la configuración del servidor. En cualquier caso, este error señala más allá del borrado de global.php.