安装OK后,访问前端空白的时候,并且报错如下。就要开启开发者模式进行调试,开发者模式不用进行升级和编译的,直接更改代码保存就可以使用,非常方便。
首先查看当前的模式,magento 2的模式一般分为3中模式 production | developer | default ,设置开发模式:
1 2 | php bin/magento deploy:mode:show php bin/magento deploy:mode:set developer |
错误如下:
当你打开开发者模式,页面显示报错如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | 1 exception(s): Exception #0 (Magento\Framework\Exception\ValidatorException): Invalid template file: 'C:/xampp/htdocs/www/mm/vendor/magento/module-backend/view/adminhtml/templates/page/js/require_js.phtml' in module: 'Magento_Backend' block's name: 'require.js' Exception #0 (Magento\Framework\Exception\ValidatorException): Invalid template file: 'C:/xampp/htdocs/www/mm/vendor/magento/module-backend/view/adminhtml/templates/page/js/require_js.phtml' in module: 'Magento_Backend' block's name: 'require.js' #0 C:\xampp\htdocs\www\mm\vendor\magento\framework\View\Element\Template.php(301): Magento\Framework\View\Element\Template->fetchView('C:/xampp/htdocs...') #1 C:\xampp\htdocs\www\mm\vendor\magento\framework\View\Element\AbstractBlock.php(668): Magento\Framework\View\Element\Template->_toHtml() #2 C:\xampp\htdocs\www\mm\vendor\magento\framework\View\Result\Page.php(249): Magento\Framework\View\Element\AbstractBlock->toHtml() #3 C:\xampp\htdocs\www\mm\vendor\magento\framework\View\Result\Layout.php(171): Magento\Framework\View\Result\Page->render(Object(Magento\Framework\App\Response\Http\Interceptor)) #4 C:\xampp\htdocs\www\mm\generated\code\Magento\Backend\Model\View\Result\Page\Interceptor.php(193): Magento\Framework\View\Result\Layout->renderResult(Object(Magento\Framework\App\Response\Http\Interceptor)) #5 C:\xampp\htdocs\www\mm\vendor\magento\framework\App\Http.php(139): Magento\Backend\Model\View\Result\Page\Interceptor->renderResult(Object(Magento\Framework\App\Response\Http\Interceptor)) #6 C:\xampp\htdocs\www\mm\generated\code\Magento\Framework\App\Http\Interceptor.php(24): Magento\Framework\App\Http->launch() #7 C:\xampp\htdocs\www\mm\vendor\magento\framework\App\Bootstrap.php(258): Magento\Framework\App\Http\Interceptor->launch() #8 C:\xampp\htdocs\www\mm\pub\index.php(37): Magento\Framework\App\Bootstrap->run(Object(Magento\Framework\App\Http\Interceptor)) #9 {main} |
则这是Magento 2为了考虑安全性问题,不建议window是平台安装Magento 2
Windows 使用 “\” 作为分隔符, 这个数组 “directories” 包含了使用 “/” 当做分隔符, 所以每次检查失败。包以上错误。
若果非要使用windows平台则解决办法如下:
Magento\Framework\View\Element\Template\File\Validator function isPathInDirectories函数更改为下面代码,替换即可。
保存上传,刷新页面即可,报错即可消失。
如果刷新页面出现了下面报错,这说明你启动了开发模式没有清理 magento2.3\generated\metadata\目录下的文件。
Fatal error: Uncaught Error: Call to a member function setActive() on boolean in C:\xampp\htdocs\www\mm\vendor\magento\module-backend\Model\View\Result\Page.php:27 Stack trace: #0 C:\xampp\htdocs\www\mm\vendor\magento\module-backend\Controller\Adminhtml\Dashboard\Index.php(39): Magento\Backend\Model\View\Result\Page->setActiveMenu(‘Magento_Backend…’) #1 C:\xampp\htdocs\www\mm\vendor\magento\framework\App\Action\Action.php(108): Magento\Backend\Controller\Adminhtml\Dashboard\Index->execute() #2 C:\xampp\htdocs\www\mm\vendor\magento\module-backend\App\AbstractAction.php(231): Magento\Framework\App\Action\Action->dispatch(Object(Magento\Framework\App\Request\Http)) #3 C:\xampp\htdocs\www\mm\vendor\magento\framework\App\FrontController.php(159): Magento\Backend\App\AbstractAction->dispatch(Object(Magento\Framework\App\Request\Http)) #4 C:\xampp\htdocs\www\mm\vendor\magento\framework\App\FrontController.php(99): Magento\Framework\App\FrontController->processRequest(Object(Magento\Framework\App\Request\Http), Object(Magento\B in C:\xampp\htdocs\www\mm\vendor\magento\module-backend\Model\View\Result\Page.php on line 27
解决办法,则需要执行命令:
1 2 3 | rm -rf generated\metadata\* #最后刷新缓存 php bin/magento c:f |
继错误消失访问正常。希望对你有帮助,不懂得地方请留言!