skip to Main Content

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 (MagentoFrameworkExceptionValidatorException): 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 (MagentoFrameworkExceptionValidatorException): 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:xampphtdocsmagentovendormagentoframeworkViewElementTemplate.php(301): 
MagentoFrameworkViewElementTemplate->fetchView('C:/xampp/htdocs...')
#1 C:xampphtdocsmagentovendormagentoframeworkViewElementAbstractBlock.php(668): MagentoFrameworkViewElementTemplate->_toHtml()#2 
C:xampphtdocsmagentovendormagentoframeworkViewResultPage.php(249): 
MagentoFrameworkViewElementAbstractBlock->toHtml()
#3 
C:xampphtdocsmagentovendormagentoframeworkViewResultLayout.php(171): MagentoFrameworkViewResultPage->render(Object(MagentoFrameworkAppResponseHttpInterceptor))
#4 C:xampphtdocsmagentogeneratedcodeMagentoBackendModelViewResultPageInterceptor.php(193): MagentoFrameworkViewResultLayout->renderResult(Object(MagentoFrameworkAppResponseHttpInterceptor))
#5 C:xampphtdocsmagentovendormagentoframeworkAppHttp.php(139): MagentoBackendModelViewResultPageInterceptor->renderResult(Object(MagentoFrameworkAppResponseHttpInterceptor))
#6 C:xampphtdocsmagentogeneratedcodeMagentoFrameworkAppHttpInterceptor.php(24): MagentoFrameworkAppHttp->launch()
#7 C:xampphtdocsmagentovendormagentoframeworkAppBootstrap.php(258): MagentoFrameworkAppHttpInterceptor->launch()
#8 C:xampphtdocsmagentoindex.php(39): MagentoFrameworkAppBootstrap->run(Object(MagentoFrameworkAppHttpInterceptor))
#9 {main}

3

Answers


  1. 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.3vendormagento
    

    and this will not result in a successful comparison within isPathInDirectories() method of MagentoFrameworkViewElementTemplateFileValidator 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;
        }
    }
    
    Login or Signup to reply.
  2. 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));
    
    Login or Signup to reply.
  3. Step 01.
    Go to this directory
    C:xampphtdocsmagentovendormagentoframeworkViewElementTemplateFile

    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">MagentoFrameworkAppViewAssetMaterializationStrategySymlink</item>
    

    Step 03
    change this like below

    <item name="view_preprocessed" xsi:type="object">MagentoFrameworkAppViewAssetMaterializationStrategycopy</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

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search