Partage
  • Partager sur Facebook
  • Partager sur Twitter

Symfony .env.local pas pris en compte

Sujet résolu
    18 septembre 2020 à 11:16:55

    composer.json

    {
        "type": "project",
        "license": "proprietary",
        "require": {
            "php": "^7.1.3",
            "ext-ctype": "*",
            "ext-iconv": "*",
            "ext-soap": "*",
            "cocur/slugify": "^3.2",
            "doctrine/doctrine-bundle": "^1.11",
            "doctrine/orm": "^2.7",
            "doctrine/phpcr-bundle": "^2.0",
            "doctrine/phpcr-odm": "^1.4",
            "friendsofsymfony/ckeditor-bundle": "^2.0",
            "gregwar/image-bundle": "^2.2",
            "helios-ag/fm-elfinder-bundle": "^9.3",
            "jackalope/jackalope-doctrine-dbal": "^1.3",
            "jackalope/jackalope-jackrabbit": "^1.3",
            "knplabs/knp-paginator-bundle": "^4.0",
            "pixassociates/sortable-behavior-bundle": "^1.5",
            "sensio/framework-extra-bundle": "^5.4",
            "sonata-project/admin-bundle": "^3.9",
            "sonata-project/doctrine-orm-admin-bundle": "^3.18",
            "sonata-project/easy-extends-bundle": "^2.5",
            "sonata-project/intl-bundle": "^2.6",
            "sonata-project/user-bundle": "^4.4",
            "stof/doctrine-extensions-bundle": "^1.3",
            "symfony/acl-bundle": "^1.0",
            "symfony/apache-pack": "^1.0",
            "symfony/asset": "4.4.*",
            "symfony/console": "4.4.*",
            "symfony/debug-pack": "^1.0",
            "symfony/dotenv": "4.4.*",
            "symfony/expression-language": "4.4.*",
            "symfony/flex": "^1.3.1",
            "symfony/form": "4.4.*",
            "symfony/framework-bundle": "4.4.*",
            "symfony/http-client": "4.4.*",
            "symfony/intl": "4.4.*",
            "symfony/ldap": "4.4.*",
            "symfony/monolog-bundle": "^3.4",
            "symfony/orm-pack": "*",
            "symfony/process": "4.4.*",
            "symfony/security-bundle": "4.4.*",
            "symfony/serializer-pack": "*",
            "symfony/stopwatch": "4.4.*",
            "symfony/swiftmailer-bundle": "^3.1",
            "symfony/translation": "4.4.*",
            "symfony/twig-bundle": "4.4.*",
            "symfony/validator": "4.4.*",
            "symfony/web-link": "4.4.*",
            "symfony/web-profiler-bundle": "4.4.*",
            "symfony/webpack-encore-bundle": "^1.7",
            "symfony/yaml": "4.4.*"
        },
        "require-dev": {
            "doctrine/doctrine-fixtures-bundle": "^3.2",
            "symfony/maker-bundle": "^1.0",
            "symfony/phpunit-bridge": "^5.1",
            "symfony/test-pack": "*",
            "symfony/web-server-bundle": "4.4.*"
        },
        "config": {
            "preferred-install": {
                "*": "dist"
            },
            "sort-packages": true,
            "component-dir": "public/build"
        },
        "autoload": {
            "psr-4": {
                "App\\": "src/"
            }
        },
        "autoload-dev": {
            "psr-4": {
                "App\\Tests\\": "tests/"
            }
        },
        "replace": {
            "paragonie/random_compat": "2.*",
            "symfony/polyfill-ctype": "*",
            "symfony/polyfill-iconv": "*",
            "symfony/polyfill-php71": "*",
            "symfony/polyfill-php70": "*",
            "symfony/polyfill-php56": "*"
        },
        "scripts": {
        },
        "conflict": {
            "symfony/symfony": "*"
        },
        "extra": {
            "symfony": {
                "allow-contrib": false,
                "require": "4.4.*"
            }
        }
    }
    

    Mon composer.lock est trop gros je ne vois pas comment l'envoyer.

    • Partager sur Facebook
    • Partager sur Twitter
      18 septembre 2020 à 11:31:18

      Tu l'uploades quelque part et tu nous en fournis le lien ?

      Edit

      Je ne me souvenais pas que les composer.json de Symfony 4.4 avant flex étaient autant fournis…

      -
      Edité par Ymox 18 septembre 2020 à 11:39:30

      • Partager sur Facebook
      • Partager sur Twitter
        18 septembre 2020 à 11:38:07

        https://www.partage-temporaire.fr/2020/09/18/composer/


        Ymox a écrit:

        Edit

        Je ne me souvenais pas que les composer.json de Symfony 4.4 avant flex étaient autant fournis…

        -
        Edité par Ymox il y a 8 minutes

        Je ne sais pas si il y a un sous-entendu mais j'ai repris un projet à mon travail donc je ne sais pas comment tout a été développé.


        -
        Edité par Akame14 18 septembre 2020 à 11:50:18

        • Partager sur Facebook
        • Partager sur Twitter
          18 septembre 2020 à 13:26:14

          Je n'arrive pas à avoir une base de projet qui permette de tester, il y a des dépendances qui à mon humble avis ne sont pas vraiment compatibles avec PHP 7.4 en fait (je pense notamment à FOSUserBundle). D'autre part, étrangement, c'est Symfony 4.4.11 et non 4.4.13 qui s'est installé avec le composer.lock fourni. Tente déjà un composer update en restant avec PHP 7.4.

          • Partager sur Facebook
          • Partager sur Twitter
            18 septembre 2020 à 13:37:38

            J'ai fait le composer update, maintenant j'ai des erreurs :

            Compile Error: Declaration of App\Block\UserBlogCommentBlockService::execute(Sonata\BlockBundle\Block\BlockContextInterface $blockContext, ?Symfony\Component\HttpFoundation\Response $response = NULL) must be compatible with Sonata\BlockBundle\Block\Service\AbstractBlockService::execute(Sonata\BlockBundle\Block\BlockContextInterface $blockContext, ?Symfony\Component\HttpFoundation\Response $response = NULL): Symfony\Component\HttpFoundation\Response

            Du coup le projet ne vas plus marcher. Finalement j'ai peut-être fait à l'inverse de ce qu'il fallait faire, j'étais en php7.3 sur mon hôte car le site en production est en 7.3.

            • Partager sur Facebook
            • Partager sur Twitter
              18 septembre 2020 à 13:40:58

              Au vu de l'erreur, oui, mais je n'avais pas l'information avant.

              Tu devrais pouvoir mettre tes deux environnements en PHP 7.3 et relancer un composer update, ça fonctionne aussi pour "ajouter ce qu'il manque" quand on descend de version de PHP.

              • Partager sur Facebook
              • Partager sur Twitter
                18 septembre 2020 à 13:48:43

                Je suis repassée en 7.3, j'ai fait composer install/update ça a créé des erreurs étranges:

                syntax error, unexpected '?', expecting function (T_FUNCTION) or const (T_CONST)
                (1/1) ParseError
                
                syntax error, unexpected '?', expecting function (T_FUNCTION) or const (T_CONST)
                in Configuration.php line 29
                at DebugClassLoader->loadClass('ProxyManager\\Configuration')
                at spl_autoload_call('ProxyManager\\Configuration')
                at class_exists('ProxyManager\\Configuration')in Kernel.php line 751
                at Kernel->getContainerBuilder()in Kernel.php line 695
                at Kernel->buildContainer()in Kernel.php line 595
                at Kernel->initializeContainer()in Kernel.php line 136
                at Kernel->boot()in Kernel.php line 196
                at Kernel->handle(object(Request))in index.php line 37


                De ce que j'ai lu sur Internet  ce serait une erreur de syntaxe. La ligne indiquée est celle-ci:

                protected ?string $proxiesTargetDir;

                Sauf que le fichier est dans un vendor donc encore une fois je vois pas comment solutionner.

                -
                Edité par Akame14 18 septembre 2020 à 14:30:38

                • Partager sur Facebook
                • Partager sur Twitter
                  18 septembre 2020 à 14:48:25

                  Mmm, peut-être que tu peux ne lancer que composer install sous PHP 7.3 avec le composer.lock d'origine du projet, avant que tu ne fasses quoi que ce soit d'autre dans le projet.

                  Je me serais attendu à ce qu'il enlève les dépendances désormais inutiles/incompatibles, là c'est très clairement pas le cas : l'erreur vient d'une dépendance prévue pour PHP 7.4 et plus, la syntaxe de typage de propriété étant apparue avec cette version de PHP.

                  • Partager sur Facebook
                  • Partager sur Twitter
                    18 septembre 2020 à 14:54:58

                    J'ai repris mon composer.lock que j'avais partagé (heureusement au final) et j'ai supprimé de nouveau le fichier vendor, mon site remarche! Hallelujah.

                    Donc retour à l'erreur de base, .env.local toujours pas pris en compte.

                    • Partager sur Facebook
                    • Partager sur Twitter
                      18 septembre 2020 à 15:00:16

                      Je ne sais plus si tu l'as déjà dit, mais tu utilises quelle pile serveur ?

                      • Partager sur Facebook
                      • Partager sur Twitter
                        18 septembre 2020 à 15:24:07

                        Est-ce que tu peux expliquer ce qu'est une pile serveur? Je suis encore débutante ^^
                        • Partager sur Facebook
                        • Partager sur Twitter
                          18 septembre 2020 à 16:27:00

                          Par pile serveur, j'entends les trois "briques" pour un site web : serveur web (Apache, nginx, IIS), PHP et serveur de bases de données (MySQL/MariaDB). Elles existent aussi en "packs".

                          As-tu installé WampServer, XAMPP, EasyPHP, MAMP, AMPPS ou quelque chose du genre ? Sous quel OS ?

                          -
                          Edité par Ymox 18 septembre 2020 à 16:28:31

                          • Partager sur Facebook
                          • Partager sur Twitter
                            21 septembre 2020 à 8:54:13

                            Non j'ai rien installé de ce genre, je suis sur Ubuntu focal, j'ai apache, php et mysql sur ce projet.

                            J'ai trouvé une commande pour débugguer les variables d’environnement.

                            Je fais

                            php bin/console debug:container --env-vars

                            J'ai donc fait des tests, imaginons sur LDAP_HOST. Premièrement, LDAP_HOST est présent dans .env et .env.local sauf qu'il est vide dans .env. Je reçois la valeur du fichier .env.local. Même si je supprime LDAP_PASS dans mon fichier .env si je refais la commande je reçois la valeur du fichier .env.local.

                            -
                            Edité par Akame14 21 septembre 2020 à 10:58:57

                            • Partager sur Facebook
                            • Partager sur Twitter
                              14 octobre 2020 à 21:13:55

                              Akame14 a écrit (le 21 septembre 2020 à 10:58:57):

                              Premièrement, LDAP_HOST est présent dans .env et .env.local sauf qu'il est vide dans .env. Je reçois la valeur du fichier .env.local.

                              Dans ce sens, c'est normal, .env.local prime sur .env. C'est l'inverse de ce qui a fait ouvrir le sujet. J'en conclus que le problème est résolu ?

                              Akame14 a écrit (le 17 septembre 2020 à 10:17:32):

                              Mon fichier .env.local n'est pas pris en compte, seul le .env est utilisé. Comment résoudre ce problème? Mes deux fichiers sont identiques donc je ne comprends pas pourquoi le .local ne fonctionne pas.

                              -
                              Edité par Ymox 14 octobre 2020 à 21:29:15

                              • Partager sur Facebook
                              • Partager sur Twitter
                                15 octobre 2020 à 9:01:22

                                Bonjour,

                                Ce que je voulais dire c'est que avec la commande dont je parlais, je recevais bien la valeur de .env.local mais en pratique, dans le code, je recevais la valeur de .env.

                                J'ai réglé le problème, mon fichier bootstrap.php était mauvais et un autre fichier, je ne me souviens plus du nom.

                                • Partager sur Facebook
                                • Partager sur Twitter

                                Symfony .env.local pas pris en compte

                                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                • Editeur
                                • Markdown