J'ai récemment installé la dernière version de magento, c.-à-d. Magento 2.3.0 dans une machine locale avec php 7.2.4
Installé en utilisant l'interface de ligne de commande.
Mais quand je suis fatigué de courir, montrez-moi une erreur comme
Exception #0 (Magento\Framework\Exception\ValidatorException): Invalid template file: 'D:/wamp64/www/mage23/vendor/magento/module-theme/view/frontend/templates/page/js/require_js.phtml' in module: '' block's name: 'require.js'
magento2
magento2.3.0
MageLerner
la source
la source
Réponses:
Oui, c'est le problème avec Windows. Windows utilise "\" comme séparateur, le tableau "répertoires" contient des entrées avec "/" comme séparateur, donc la vérification échouera toujours. Vous devez donc résoudre ce problème en remplaçant le séparateur dans le fichier core:
La fonction isPathInDirectories remplace le code ci-dessous dans la fonction isPathInDirectories
la source
DIRECTORY_SEPARATOR
comme le reste du monde et ne pas avoir ce problème spécifique qui semble être la seule chose à le faire fonctionner sous Windows?Pour moi, la solution a fonctionné en allant dans le fichier \ vendor \ magento \ framework \ View \ Element \ Template \ File \ Validator.php et en remplaçant la définition de fonction ci-dessous comme ci-dessous:
PS: Il s'agit d'un problème spécifique à Windows.
la source
Magento 2.3 ne prend pas en charge les fenêtres. Vous pouvez trouver ma solution ici: entrez la description du lien ici
la source
C'est le problème principal non seulement de Magento 2.3.0, mais j'ai également rencontré ce problème dans Magento 2.2.7. Afin de faire fonctionner le code sur Windows au lieu d'utiliser realpath, utilisez simplement l'argument $ path passé à la méthode
Accédez au chemin /vendor/magento/framework/View/Element/Template/File/Validator.php et au lieu de la ligne
utilisation
Ou suivez cette discussion https://github.com/magento/magento2/issues/19480
la source
Dans Magento 2.2.9, remplacez /vendor/magento/framework/View/Element/Template/File/Validator.php le code de la fonction isPathInDirectories par ce code
la source
Cela se produit probablement lors du développement sous Windows.
Allez à la ligne 140 dans le fichier Path /vendor/magento/framework/View/Element/Template/File/Validator.php Remplacez ce code de ligne
Avec
Méfiez-vous de cette ligne de code
Cela ne fonctionnera probablement pas en raison de la barre oblique inverse de PHP. vous devez faire une double barre oblique inverse pour dire explicitement à PHP qu'il ne s'agit pas ici d'une nouvelle ligne mais d'une barre oblique inverse.
la source
Veuillez voir que cela devrait être une double barre oblique, c'est-à-dire "\\"
la source
Comme mentionné, le problème est la compatibilité de Windows. Mais je recommanderais de le changer un peu différemment pour fonctionner même lors de la migration de systèmes, par exemple pour le développement local sur Windows et le déploiement ultérieur sur un serveur Linux. De sorte que seulement dans le cas où vous utilisez Windows, vous ajusterez le chemin.
Dans
dans
remplacer
avec:
a) PHP> = 7,2:
b) PHP <7,2:
la source