Before this I was trying to fix the file permissions throughout the Magento root because I got a 500 error, and then I got this error both on the website and admin page.
1 exception(s): Exception #0 (Magento\Framework\Config\Dom\ValidationException): Element 'link', attribute 'href': The attribute 'href' is not allowed. Line: 1083 Element 'link', attribute 'integrity': The attribute 'integrity' is not allowed. Line: 1083 Element 'link', attribute 'crossorigin': The attribute 'crossorigin' is not allowed. Line: 1083 Element 'link': The attribute 'src' is required but missing. Line: 1083 Exception #0 (Magento\Framework\Config\Dom\ValidationException): Element 'link', attribute 'href': The attribute 'href' is not allowed. Line: 1083 Element 'link', attribute 'integrity': The attribute 'integrity' is not allowed. Line: 1083 Element 'link', attribute 'crossorigin': The attribute 'crossorigin' is not allowed. Line: 1083 Element 'link': The attribute 'src' is required but missing. Line: 1083 <pre>#1 Magento\Framework\Config\Dom->__construct('<layout xmlns:xs...', &Magento\Framework\App\Arguments\ValidationState#000000000eb44c4b000000004b32ab31#, array(), NULL, '/var/www/science...', '%message%\nLine: ...') called at [vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php:121] #2 Magento\Framework\ObjectManager\Factory\AbstractFactory->createObject('Magento\Framewor...', array('<layout xmlns:xs...', &Magento\Framework\App\Arguments\ValidationState#000000000eb44c4b000000004b32ab31#, array(), NULL, '/var/www/science...', '%message%\nLine: ...')) called at [vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php:66] #3 Magento\Framework\ObjectManager\Factory\Dynamic\Developer->create('Magento\Framewor...', array('xml' => '<layout xmlns:xs...', 'schemaFile' => '/var/www/science...', 'validationState' => &Magento\Framework\App\Arguments\ValidationState#000000000eb44c4b000000004b32ab31#)) called at [vendor/magento/framework/ObjectManager/ObjectManager.php:56] #4 Magento\Framework\ObjectManager\ObjectManager->create('Magento\Framewor...', array('xml' => '<layout xmlns:xs...', 'schemaFile' => '/var/www/science...', 'validationState' => &Magento\Framework\App\Arguments\ValidationState#000000000eb44c4b000000004b32ab31#)) called at [vendor/magento/framework/Config/DomFactory.php:43] #5 Magento\Framework\Config\DomFactory->createDom(array('xml' => '<layout xmlns:xs...', 'schemaFile' => '/var/www/science...', 'validationState' => &Magento\Framework\App\Arguments\ValidationState#000000000eb44c4b000000004b32ab31#)) called at [vendor/magento/framework/View/Model/Layout/Update/Validator.php:141] #6 Magento\Framework\View\Model\Layout\Update\Validator->isValid('<layout xmlns:xs...', 'layout_merged', false) called at [vendor/magento/framework/View/Model/Layout/Merge.php:512] #7 Magento\Framework\View\Model\Layout\Merge->_validateMergedLayout('LAYOUT_frontend_...', '<body>\n <refer...') called at [vendor/magento/framework/View/Model/Layout/Merge.php:488] #8 Magento\Framework\View\Model\Layout\Merge->load() called at [vendor/magento/framework/View/Layout/Builder.php:86] #9 Magento\Framework\View\Layout\Builder->loadLayoutUpdates() called at [vendor/magento/framework/View/Layout/Builder.php:63] #10 Magento\Framework\View\Layout\Builder->build() called at [vendor/magento/framework/View/Layout.php:259] #11 Magento\Framework\View\Layout->build() called at [vendor/magento/framework/View/Layout.php:884] #12 Magento\Framework\View\Layout->getBlock('page_content_hea...') called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:414] #13 Magento\Framework\View\Layout\Interceptor->getBlock('page_content_hea...') called at [vendor/magento/module-cms/Helper/Page.php:215] #14 Magento\Cms\Helper\Page->prepareResultPage(&Magento\Cms\Controller\Index\Index\Interceptor#000000000eb44e47000000004b32ab31#, 'home') called at [vendor/magento/framework/Interception/Interceptor.php:58] #15 Magento\Cms\Helper\Page\Interceptor->___callParent('prepareResultPag...', array(&Magento\Cms\Controller\Index\Index\Interceptor#000000000eb44e47000000004b32ab31#, 'home')) called at [vendor/magento/framework/Interception/Interceptor.php:138] #16 Magento\Cms\Helper\Page\Interceptor->Magento\Framework\Interception\{closure}(&Magento\Cms\Controller\Index\Index\Interceptor#000000000eb44e47000000004b32ab31#, 'home') called at [vendor/magento/framework/Interception/Interceptor.php:153] #17 Magento\Cms\Helper\Page\Interceptor->___callPlugins('prepareResultPag...', array(&Magento\Cms\Controller\Index\Index\Interceptor#000000000eb44e47000000004b32ab31#, 'home'), array(array('swissupAmp'))) called at [generated/code/Magento/Cms/Helper/Page/Interceptor.php:26] #18 Magento\Cms\Helper\Page\Interceptor->prepareResultPage(&Magento\Cms\Controller\Index\Index\Interceptor#000000000eb44e47000000004b32ab31#, 'home') called at [vendor/magento/module-cms/Controller/Index/Index.php:74] #19 Magento\Cms\Controller\Index\Index->execute() called at [vendor/magento/framework/Interception/Interceptor.php:58] #20 Magento\Cms\Controller\Index\Index\Interceptor->___callParent('execute', array()) called at [vendor/magento/framework/Interception/Interceptor.php:138] #21 Magento\Cms\Controller\Index\Index\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/framework/Interception/Interceptor.php:153] #22 Magento\Cms\Controller\Index\Index\Interceptor->___callPlugins('execute', array(), array(array('redirectToHomepa...', 'pluginAfterActio...'))) called at [generated/code/Magento/Cms/Controller/Index/Index/Interceptor.php:26] #23 Magento\Cms\Controller\Index\Index\Interceptor->execute() called at [vendor/magento/framework/App/Action/Action.php:108] #24 Magento\Framework\App\Action\Action->dispatch(&Magento\Framework\App\Request\Http#000000000eb44dc0000000004b32ab31#) called at [vendor/magento/framework/Interception/Interceptor.php:58] #25 Magento\Cms\Controller\Index\Index\Interceptor->___callParent('dispatch', array(&Magento\Framework\App\Request\Http#000000000eb44dc0000000004b32ab31#)) called at [vendor/magento/framework/Interception/Interceptor.php:138] #26 Magento\Cms\Controller\Index\Index\Interceptor->Magento\Framework\Interception\{closure}(&Magento\Framework\App\Request\Http#000000000eb44dc0000000004b32ab31#) called at [vendor/magento/framework/Interception/Interceptor.php:153] #27 Magento\Cms\Controller\Index\Index\Interceptor->___callPlugins('dispatch', array(&Magento\Framework\App\Request\Http#000000000eb44dc0000000004b32ab31#), array(array('designLoader', 'customerNotifica...', 'catalog_app_acti...', 'tax-app-action-d...', 'weee-app-action-...', 'storeCheck', 'contextPlugin', 'customer-app-act...'))) called at [generated/code/Magento/Cms/Controller/Index/Index/Interceptor.php:39] #28 Magento\Cms\Controller\Index\Index\Interceptor->dispatch(&Magento\Framework\App\Request\Http#000000000eb44dc0000000004b32ab31#) called at [vendor/magento/framework/App/FrontController.php:162] #29 Magento\Framework\App\FrontController->processRequest(&Magento\Framework\App\Request\Http#000000000eb44dc0000000004b32ab31#, &Magento\Cms\Controller\Index\Index\Interceptor#000000000eb44e47000000004b32ab31#) called at [vendor/magento/framework/App/FrontController.php:98] #30 Magento\Framework\App\FrontController->dispatch(&Magento\Framework\App\Request\Http#000000000eb44dc0000000004b32ab31#) called at [vendor/magento/framework/Interception/Interceptor.php:58] #31 Magento\Framework\App\FrontController\Interceptor->___callParent('dispatch', array(&Magento\Framework\App\Request\Http#000000000eb44dc0000000004b32ab31#)) called at [vendor/magento/framework/Interception/Interceptor.php:138] #32 Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception\{closure}(&Magento\Framework\App\Request\Http#000000000eb44dc0000000004b32ab31#) called at [vendor/magento/module-store/App/FrontController/Plugin/RequestPreprocessor.php:99] #33 Magento\Store\App\FrontController\Plugin\RequestPreprocessor->aroundDispatch(&Magento\Framework\App\FrontController\Interceptor#000000000eb44c32000000004b32ab31#, &Closure#000000000eb44ce2000000004b32ab31#, &Magento\Framework\App\Request\Http#000000000eb44dc0000000004b32ab31#) called at [vendor/magento/framework/Interception/Interceptor.php:135] #34 Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception\{closure}(&Magento\Framework\App\Request\Http#000000000eb44dc0000000004b32ab31#) called at [vendor/magento/module-page-cache/Model/App/FrontController/BuiltinPlugin.php:73] #35 Magento\PageCache\Model\App\FrontController\BuiltinPlugin->aroundDispatch(&Magento\Framework\App\FrontController\Interceptor#000000000eb44c32000000004b32ab31#, &Closure#000000000eb44ce2000000004b32ab31#, &Magento\Framework\App\Request\Http#000000000eb44dc0000000004b32ab31#) called at [vendor/magento/framework/Interception/Interceptor.php:135] #36 Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception\{closure}(&Magento\Framework\App\Request\Http#000000000eb44dc0000000004b32ab31#) called at [vendor/swissup/module-amp/Plugin/Framework/FrontController.php:48] #37 Swissup\Amp\Plugin\Framework\FrontController->aroundDispatch(&Magento\Framework\App\FrontController\Interceptor#000000000eb44c32000000004b32ab31#, &Closure#000000000eb44ce2000000004b32ab31#, &Magento\Framework\App\Request\Http#000000000eb44dc0000000004b32ab31#) called at [vendor/magento/framework/Interception/Interceptor.php:135] #38 Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception\{closure}(&Magento\Framework\App\Request\Http#000000000eb44dc0000000004b32ab31#) called at [vendor/magento/framework/Interception/Interceptor.php:153] #39 Magento\Framework\App\FrontController\Interceptor->___callPlugins('dispatch', array(&Magento\Framework\App\Request\Http#000000000eb44dc0000000004b32ab31#), NULL) called at [generated/code/Magento/Framework/App/FrontController/Interceptor.php:26] #40 Magento\Framework\App\FrontController\Interceptor->dispatch(&Magento\Framework\App\Request\Http#000000000eb44dc0000000004b32ab31#) called at [vendor/magento/framework/App/Http.php:116] #41 Magento\Framework\App\Http->launch() called at [vendor/magento/framework/App/Bootstrap.php:261] #42 Magento\Framework\App\Bootstrap->run(&Magento\Framework\App\Http\Interceptor#000000000eb44dae000000004b32ab31#) called at [index.php:39] </pre>
Hello @kanchi777k3aa3
Please run the below commands in your system.
cd <your Magento install dir> // 644 permission for files find . -type f -exec chmod 644 {} \; // 755 permission for directory find . -type d -exec chmod 755 {} \; chmod 644 ./app/etc/*.xml chown -R :<web server group> . chmod u+x bin/magento
If you get the solution then please, "Kudos" and "Accept as Solution" for Token of Appreciation
Hello @dipmegpro
The <web server group> would be apache, right?
Now I'm getting this error. Does this mean the error is resolved and this is a separate issue?
Is this also a file permission error?
Fatal error: Uncaught Zend_Cache_Exception: cache_dir "/var/www/sciencelltestsite.com/html/var/page_cache" is not writable in /var/www/sciencelltestsite.com/html/vendor/magento/zendframework1/library/Zend/Cache.php:209 Stack trace: #0 /var/www/sciencelltestsite.com/html/vendor/magento/zendframework1/library/Zend/Cache/Backend/File.php(180): Zend_Cache::throwException('cache_dir "/var...') #1 /var/www/sciencelltestsite.com/html/vendor/colinmollenhour/cache-backend-file/File.php(87): Zend_Cache_Backend_File->setCacheDir('/var/www/scienc...') #2 /var/www/sciencelltestsite.com/html/vendor/magento/zendframework1/library/Zend/Cache.php(153): Cm_Cache_Backend_File->__construct(Array) #3 /var/www/sciencelltestsite.com/html/vendor/magento/zendframework1/library/Zend/Cache.php(94): Zend_Cache::_makeBackend('Cm_Cache_Backen...', Array, true, true) #4 /var/www/sciencelltestsite.com/html/vendor/magento/framework/App/Cache/Frontend/Factory.php(156): Zend_Cache::factory('Magento\\Framewo...', 'Cm_Cache_Backen...', Array, Array, true, tr in /var/www/sciencelltestsite.com/html/vendor/magento/zendframework1/library/Zend/Cache.php on line 209
EDIT: Afterwards, I ran these:
chmod -R 777 var/ generated/ pub/media/ pub/static/php bin/magento setup:upgrade php bin/magento setup:di:compile php bin/magento setup:static-content:deploy -f php bin/magento c:f chmod -R 777 var/ generated/ pub/media/ pub/static/
But went back to the original error.
Hi @dipmegpro
I tried, it doesn't work
When you say full permission, do the files/folders within "var" and "generate" should all be given full permission(777)?
Also, does the error not have anything to do with href and src?
Here is the error on my admin page, if it'll help. I tried to make pub/static and everything in that folder to be 777. But it is still giving me the same issue, that it is not writable.
1 exception(s): Exception #0 (Magento\Framework\Exception\FileSystemException): The path "/var/www/sciencelltestsite.com/html/pub/static/adminhtml/Magento/backend/en_US" is not writable. Exception #0 (Magento\Framework\Exception\FileSystemException): The path "/var/www/sciencelltestsite.com/html/pub/static/adminhtml/Magento/backend/en_US" is not writable. <pre>#1 Magento\Framework\Filesystem\Directory\Write->openFile('adminhtml/Magent...', 'w+') called at [vendor/magento/framework/Filesystem/Directory/Write.php:341] #2 Magento\Framework\Filesystem\Directory\Write->writeFile('adminhtml/Magent...', '(function(requir...') called at [vendor/magento/module-require-js/Model/FileManager.php:135] #3 Magento\RequireJs\Model\FileManager->ensureSourceFile('adminhtml/Magent...') called at [vendor/magento/module-require-js/Model/FileManager.php:63] #4 Magento\RequireJs\Model\FileManager->createRequireJsConfigAsset() called at [vendor/magento/module-require-js/Block/Html/Head/Config.php:126] #5 Magento\RequireJs\Block\Html\Head\Config->_prepareLayout() called at [vendor/magento/framework/View/Element/AbstractBlock.php:286] #6 Magento\Framework\View\Element\AbstractBlock->setLayout(&Magento\Framework\View\Layout\Interceptor#00000000278672c4000000007ef78838#) called at [vendor/magento/framework/View/Layout/Generator/Block.php:149] #7 Magento\Framework\View\Layout\Generator\Block->process(&Magento\Framework\View\Layout\Reader\Context#000000002786739d000000007ef78838#, &Magento\Framework\View\Layout\Generator\Context#0000000027867364000000007ef78838#) called at [vendor/magento/framework/View/Layout/GeneratorPool.php:81] #8 Magento\Framework\View\Layout\GeneratorPool->process(&Magento\Framework\View\Layout\Reader\Context#000000002786739d000000007ef78838#, &Magento\Framework\View\Layout\Generator\Context#0000000027867364000000007ef78838#) called at [vendor/magento/framework/View/Layout.php:352] #9 Magento\Framework\View\Layout->generateElements() called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:89] #10 Magento\Framework\View\Layout\Interceptor->generateElements() called at [vendor/magento/framework/View/Layout/Builder.php:129] #11 Magento\Framework\View\Layout\Builder->generateLayoutBlocks() called at [vendor/magento/framework/View/Page/Builder.php:55] #12 Magento\Framework\View\Page\Builder->generateLayoutBlocks() called at [vendor/magento/framework/View/Layout/Builder.php:65] #13 Magento\Framework\View\Layout\Builder->build() called at [vendor/magento/framework/View/Page/Config.php:224] #14 Magento\Framework\View\Page\Config->build() called at [vendor/magento/framework/View/Page/Config.php:237] #15 Magento\Framework\View\Page\Config->publicBuild() called at [vendor/magento/framework/View/Result/Page.php:242] #16 Magento\Framework\View\Result\Page->render(&Magento\Framework\App\Response\Http\Interceptor#000000002786704a000000007ef78838#) called at [vendor/magento/framework/View/Result/Layout.php:171] #17 Magento\Framework\View\Result\Layout->renderResult(&Magento\Framework\App\Response\Http\Interceptor#000000002786704a000000007ef78838#) called at [generated/code/Magento/Backend/Model/View/Result/Page/Interceptor.php:24] #18 Magento\Backend\Model\View\Result\Page\Interceptor->renderResult(&Magento\Framework\App\Response\Http\Interceptor#000000002786704a000000007ef78838#) called at [vendor/magento/framework/App/Http.php:120] #19 Magento\Framework\App\Http->launch() called at [vendor/magento/framework/App/Bootstrap.php:261] #20 Magento\Framework\App\Bootstrap->run(&Magento\Framework\App\Http\Interceptor#0000000027867048000000007ef78838#) called at [index.php:39] </pre>
Issue is just simple to rename link tag with href to src and save file.
You just check in your default.xml or default_head_blocks.xml in your theme folder or any module layout file.
Replace
<link href="link_to_css" rel="stylesheet" type="text/css"/>
with src
<link src="link_to_css" rel="stylesheet" type="text/css"/>