Partage
  • Partager sur Facebook
  • Partager sur Twitter

Get url non fonctionnel symfony

Aucune requête Get dans l'url ne fonctionne hors de ma route principal

    3 février 2023 à 9:24:57

    Bonjour,

    J'ai un petit soucis, la méthode get en passant dans l'url n'est pas reconnue sur d'autres routes que la home '/'
    exemple: /test?foo=bar

    Quand je dump $_GET sur ma route home 'website.domain?foo=bar' j'obtiens bien foo=bar mais lorsque je $_GET sur une autre route comme 'website.domain/test?foo=bar' je n'obtiens rien dans mon dump de $_GET, un tableau vide m'est retourné.

    [EDIT] En local tout fonctionne normalement, c'est sur serveur j'ai ce soucis.

    Je ne trouve aucune solution sur internet, peut être ma recherche est mauvaise. Avez-vous des idées ?

    -
    Edité par Chirikumo89 3 février 2023 à 9:33:44

    • Partager sur Facebook
    • Partager sur Twitter
      3 février 2023 à 9:30:44

      Bonjour,

      Tu peux montrer le code qui défini ta route : annotation ? attribut ?

      A+

      • Partager sur Facebook
      • Partager sur Twitter
        3 février 2023 à 9:40:10

        monkey3d a écrit:

        Bonjour,

        Tu peux montrer le code qui défini ta route : annotation ? attribut ?

        A+


        Oui bien sûr, 

        #[Route('/', name: 'home')]
        public function new(): Response{
        //...
        }

        Donc cette route aucun soucis, mais sur toutes les autres ça ne fonctionne pas.

        #[Route('/connect/azure', name: 'connect_azure')]
        public function connectAction()
        {
        //...
        }
        
        #[Route('/connect/azure/check', name: 'connect_azure_check', schemes:['http'])]
        public function connectCheckAction()
        {
        //...   
        }
        
        #[Route('/fournisseurs', name: 'fournisseurs')]
        public function fournisseurs(): Response
        {
        //...
        }
        
        #[Route('/fournisseur/edit/{id}', name: 'editerFournisseur', defaults: ['id' => ''])]
        public function editerFournisseur(): Response
        {
        //...
        }





        • Partager sur Facebook
        • Partager sur Twitter
          3 février 2023 à 9:47:14

          Bon pas de route test ... mais supposons le cas de /fournisseur/edit/{id} tu dois me semble t-il mettre dans ta fonction :

          public function editerFournisseur(int $id): Response


          A+

          • Partager sur Facebook
          • Partager sur Twitter
            3 février 2023 à 9:53:36

            monkey3d a écrit:

            Bon pas de route test ... mais supposons le cas de /fournisseur/edit/{id} tu dois me semble t-il mettre dans ta fonction :

            public function editerFournisseur(int $id): Response


            A+


            C'était un exemple, mais si je fais un requête genre site.domaine?foo=bar et que je dump($_GET) j'obtiens ma valeur, mais lorsque je vais sur une autre route autre que la home et que je fais site.domaine/fournisseurs?foo=bar et que je dump($_GET) j'obtiens un tableau vide, sur serveur en tout cas, en localhost tout fonctionne.

            [EDIT] Sinon, pas d'inquiétude pour cette url avec l'id, aucun soucis pour ça, j'ai juste raccourcie le public function(...)

            -
            Edité par Chirikumo89 3 février 2023 à 9:55:21

            • Partager sur Facebook
            • Partager sur Twitter
              3 février 2023 à 9:59:41

              Si tu passes des infos qui sont erronées, pas évident de trouver.

              Quand tu parles serveur (car localhost est aussi sur un serveur ...) tu parles de la prod ? As tu un finchier de conf apache par exemple ? un .htaccess ?

              A+

              • Partager sur Facebook
              • Partager sur Twitter
                3 février 2023 à 10:06:22

                monkey3d a écrit:

                Si tu passes des infos qui sont erronées, pas évident de trouver.

                Quand tu parles serveur (car localhost est aussi sur un serveur ...) tu parles de la prod ? As tu un finchier de conf apache par exemple ? un .htaccess ?

                A+


                J'ai une pre-prod, qui est sur un server Nginx

                Le htaccess:

                # https://docs.microsoft.com/fr-fr/azure/app-service/configure-language-php?pivots=platform-linux#change-site-root
                <IfModule mod_rewrite.c>
                    RewriteEngine on
                    RewriteCond %{REQUEST_URI} ^(.*)
                    RewriteRule ^(.*)$ /public/$1 [NC,L,QSA]
                </IfModule>
                
                php_value upload_max_filesize 100M
                php_value memory_limit 300M



                et le nginx.conf:

                server {
                    #proxy_cache cache;
                	#proxy_cache_valid 200 1s;
                    listen 8080;
                    listen [::]:8080;
                    root /home/site/wwwroot/public;
                    index  index.php index.html index.htm;
                    server_name  example.com www.example.com; 
                    port_in_redirect off;
                    client_max_body_size 1000M;
                
                    location / {            
                        index  index.php index.html index.htm hostingstart.html;
                    }
                
                    error_page 404 /index.php;
                   
                    # Disable .git directory
                    location ~ /\.git {
                        deny all;
                        access_log off;
                        log_not_found off;
                    }
                
                    # Add locations of phpmyadmin here.
                    location ~ [^/]\.php(/|$) {
                        fastcgi_split_path_info ^(.+?\.php)(|/.*)$;
                        fastcgi_pass 127.0.0.1:9000;
                        include fastcgi_params;
                        fastcgi_param HTTP_PROXY "";
                        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                        fastcgi_param PATH_INFO $fastcgi_path_info;
                        fastcgi_param QUERY_STRING $query_string;
                        fastcgi_intercept_errors on;
                        fastcgi_connect_timeout         300; 
                        fastcgi_send_timeout           3600; 
                        fastcgi_read_timeout           3600;
                        fastcgi_buffer_size 128k;
                        fastcgi_buffers 4 256k;
                        fastcgi_busy_buffers_size 256k;
                        fastcgi_temp_file_write_size 256k;
                    }
                
                    error_log /var/log/nginx/project_error.log;
                    access_log /var/log/nginx/project_access.log;
                }
                
                




                • Partager sur Facebook
                • Partager sur Twitter
                  3 février 2023 à 10:09:28

                  Alors si cela vient de là je ne vais pouvoir t'aider car moi j'utilise apache comme serveur web.

                  Pour ma part quand je configure apache je n'utilise pas le .htaccess.

                  A+

                  • Partager sur Facebook
                  • Partager sur Twitter
                    3 février 2023 à 10:11:54

                    monkey3d a écrit:

                    Alors si cela vient de là je ne vais pouvoir t'aider car moi j'utilise apache comme serveur web.

                    Pour ma part quand je configure apache je n'utilise pas le .htaccess.

                    A+


                    Nous utilisons Azure pour l'hébergement de serveur et depuis php 8 c'est du Nginx et plus du apache malheureusement
                    • Partager sur Facebook
                    • Partager sur Twitter
                      3 février 2023 à 23:38:57

                      Salut

                      Si j'en crois la documentation officielle, je comparerais les lignes 12 à 14 de ton nginx.conf avec les lignes 5 à 8 qui y sont proposées. Pareil pour la ligne 27 d'ici et la 19 de là-bas.

                      • Partager sur Facebook
                      • Partager sur Twitter
                        6 février 2023 à 10:02:21

                        J'ai trouvé mon problème, c'était ma configuration Nginx qui n'était pas correcte.
                        Ma nouvelle configuration si ça peut aider:
                        nginx.conf
                        server {
                            #proxy_cache cache;
                        	#proxy_cache_valid 200 1s;
                            listen 8080;
                            listen [::]:8080;
                            root /home/site/wwwroot/public;
                            index  index.php index.html index.htm;
                            server_name  example.com www.example.com; 
                            port_in_redirect off;
                            client_max_body_size 1000M;
                        
                            location / {            
                                try_files $uri $uri/ /index.php$is_args$args;
                            }
                        
                            error_page 404 /index.php;
                           
                            # Disable .git directory
                            location ~ /\.git {
                                deny all;
                                access_log off;
                                log_not_found off;
                            }
                        
                            # Add locations of phpmyadmin here.
                            location ~ ^/index\.php(/|$) {
                                try_files $uri =404;
                                fastcgi_index index.php;
                                fastcgi_split_path_info ^(.+?\.php)(|/.*)$;
                                fastcgi_pass 127.0.0.1:9000;
                                include fastcgi_params;
                                fastcgi_param HTTP_PROXY "";
                                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                                fastcgi_param PATH_INFO $fastcgi_path_info;
                                fastcgi_param QUERY_STRING $query_string;
                                fastcgi_intercept_errors on;
                                fastcgi_connect_timeout         300; 
                                fastcgi_send_timeout           3600; 
                                fastcgi_read_timeout           3600;
                                fastcgi_buffer_size 128k;
                                fastcgi_buffers 4 256k;
                                fastcgi_busy_buffers_size 256k;
                                fastcgi_temp_file_write_size 256k;
                            }
                        
                            error_log /var/log/nginx/project_error.log;
                            access_log /var/log/nginx/project_access.log;
                        }
                        • Partager sur Facebook
                        • Partager sur Twitter
                          6 février 2023 à 10:15:31

                          Chirikumo89 a écrit:

                          J'ai trouvé mon problème, c'était ma configuration Nginx qui n'était pas correcte.

                          Bonjour,

                          Sujet résolu

                          Tu peux passer le sujet à "résolu" (bouton en haut à droite du sujet) et cliquer sur les pouces levés des messages qui t'ont aidé⋅e ;)

                          • Partager sur Facebook
                          • Partager sur Twitter

                          Get url non fonctionnel symfony

                          × 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