问题描述
我在本地机器上安装了Magento 2.3,安装顺利。我可以在 localhost / magento 访问我的商店。我试图访问我的管理页面 localhost / magento / admin_pogi 但它给了我一个空白页面并重定向到网址 http:// localhost / magento / admin_pogi / admin / index / index / key / a062e79f617010c42b07d662103d5142cd9bbe86314fb54da3e4cb5542b11eee / 。
I have installed Magento 2.3 on my local-machine, installation goes fine. I can access my store at localhost/magento. I tried to access my admin page localhost/magento/admin_pogi but it gives me a blank page and redirected to the url http://localhost/magento/admin_pogi/admin/index/index/key/a062e79f617010c42b07d662103d5142cd9bbe86314fb54da3e4cb5542b11eee/.
到目前为止我尝试的是启用开发模式,我在我的管理页面上看到此错误:
What I have tried so far is to enable development mode, and I see this error on my admin page:
1 exception(s): Exception #0 (Magento\Framework\Exception\ValidatorException): Invalid template file: 'C:/xampp/htdocs/magento/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/magento/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\magento\vendor\magento\framework\View\Element\Template.php(301): Magento\Framework\View\Element\Template->fetchView('C:/xampp/htdocs...') #1 C:\xampp\htdocs\magento\vendor\magento\framework\View\Element\AbstractBlock.php(668): Magento\Framework\View\Element\Template->_toHtml()#2 C:\xampp\htdocs\magento\vendor\magento\framework\View\Result\Page.php(249): Magento\Framework\View\Element\AbstractBlock->toHtml() #3 C:\xampp\htdocs\magento\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\magento\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\magento\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\magento\generated\code\Magento\Framework\App\Http\Interceptor.php(24): Magento\Framework\App\Http->launch() #7 C:\xampp\htdocs\magento\vendor\magento\framework\App\Bootstrap.php(258): Magento\Framework\App\Http\Interceptor->launch() #8 C:\xampp\htdocs\magento\index.php(39): Magento\Framework\App\Bootstrap->run(Object(Magento\Framework\App\Http\Interceptor)) #9 {main}
推荐答案
这将是一个地址错误。作者将 $ path 更改为
This would be a bug that addresses this commit. Author changed $path to
$this->fileDriver->getRealPath($path)
这只是调用 realpath() on $ path 但这可能会改变以前受< $ path 影响的目录分隔符/ p>
which is simply calling realpath() on $path but that might change directory separators on the $path that previously were affected by
#/vendor/magento/framework/View/Element/Template/File/Validator.php:114 $filename = str_replace('\\', '/', $filename);
在Windows操作系统上,这将还原以上 str_replace $ c的更改$ c>这样的路径就像
On a Windows OS this will revert changes of above str_replace so that a path like
D:/Magento2.3/vendor/magento
将被规范化为其特定于Windows的版本:
will be canonicalized to its Windows specific version:
D:\Magento2.3\vendor\magento
这不会导致中的成功比较isPathInDirectories() 的方法Magento \ Framework \ View \\\\\\\\\\\\\\\\\\\\\ / code> class:
and this will not result in a successful comparison within isPathInDirectories() method of Magento\Framework\View\Element\Template\File\Validator class:
foreach ($directories as $directory) { if (0 === strpos($realPath, $directory)) { return true; } }
解决方案
目前我们可以在上面的 foreach 循环中进行一次肮脏的快速更改,以便我们可以运行我们的magento而不会出现进一步的问题:
Solution
Currently we can go for a dirty quick change in the above foreach loop so that we can run our magento with no further problems on this:
#/vendor/magento/framework/View/Element/Template/File/Validator.php:139 foreach ($directories as $directory) { // Add this line $realDirectory = $this->fileDriver->getRealPath($directory); // and replace `$directory` with `$realDirectory` if (0 === strpos($realPath, $realDirectory)) { return true; } }
这篇关于在localhost上Magento 2.3.0 CE上的空白管理页面的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!