最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Blank admin page on Magento 2.3.0 CE in localhost - Stack Overflow

programmeradmin4浏览0评论

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}

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}
Share Improve this question edited Nov 30, 2018 at 7:13 prasad maganti 1033 bronze badges asked Nov 30, 2018 at 5:43 user8143979user8143979 1271 gold badge3 silver badges11 bronze badges
Add a comment  | 

3 Answers 3

Reset to default 13

This would be a bug that addresses this commit. Author changed $path to

$this->fileDriver->getRealPath($path)

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);

On a Windows OS this will revert changes of above str_replace so that a path like

D:/Magento2.3/vendor/magento

will be canonicalized to its Windows specific version:

D:\Magento2.3\vendor\magento

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;
    }
}

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;
    }
}

Step 01. Go to this directory C:\xampp\htdocs\magento\vendor\magento\framework\View\Element\Template\File

Step 02. Open file validator.php Comment line 139($realPath = $this->fileDriver->getRealPath($path);) Add this code

$realPath=str_replace('\\','/', $this->fileDriver->getRealPath($path));

And also some time admin page load but not load css So how to fix this issue

Step _01 Goto the this directory App/etc/di.xml

step 02 Find this line

<item name="view_preprocessed" xsi:type="object">Magento\Framework\App\View\Asset\MaterializationStrategy\Symlink</item>

Step 03 change this like below

<item name="view_preprocessed" xsi:type="object">Magento\Framework\App\View\Asset\MaterializationStrategy\copy</item>

And also some time the home page not load correctly so how can solve

Step 01 Go to the this directory var/cache

Step 02 Delete cache files and refresh your page

This is Magento 2.3.0's core issue. To fix this issue you have to change the code in the core file of Magento.

Go to path /vendor/magento/framework/View/Element/Template/File/Validator.php In this file find:

$realPath = $this->fileDriver->getRealPath($path);

Replace with:

$realPath = str_replace('\\', '/', $this->fileDriver->getRealPath($path));
发布评论

评论列表(0)

  1. 暂无评论