recherche

Maison  >  Questions et réponses  >  le corps du texte

php - Phalcon ne peut accéder qu'au chemin /, et les autres chemins utilisent indexAction. Que se passe-t-il?

En suivant les étapes ci-dessous, un problème étrange s'est produit.
J'ai créé un projet, test, en utilisant l'outil phalcon-devtools-2.0.13.
Ensuite, il fonctionne avec succès !
Après cela, j'ai modifié le contenu suivant :

< /p>

Pas de problème :

< /p>

Mais :

< /p>

J'ai ajouté un itinéraire et quelque chose s'est mal passé :

< /p>

Excusez-moi, que se passe-t-il ? Je suis actuellement php5.6 phalcon2.0 configuration nginx :

serveur { écoutez 80 ; test du nom du serveur ; racine /Utilisateurs/ryugou/test/public ; index index.php index.html index.htm; jeu de caractères utf-8 ; emplacement/{ try_files $uri $uri/ /index.php; } emplacement ~ \.php$ { try_files $uri =404; fastcgi_pass 127.0.0.1:9000 ; fastcgi_index /index.php; inclure fastcgi_params ; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } emplacement ~ /\.ht { nier tout ; }
phpcn_u1582phpcn_u15822747 Il y a quelques jours731

répondre à tous(2)je répondrai

  • 怪我咯

    怪我咯2017-05-16 13:15:09

    Code d'enregistrement Post DI

    répondre
    0
  • PHPz

    PHPz2017-05-16 13:15:09

    Le problème environnemental n'est pas un bug de la version php ou de la version Phalcon, mais un problème de configuration nginx !
    Piège !
    Les informations URI par défaut de Phalcon sont obtenues à partir de $_GET['_url'], ou elles peuvent être définies sur $_SERER['REQUEST_URI'].
    L'utilisation de ces deux méthodes différentes pour obtenir nécessite des configurations nginx différentes ! ! (Pour plus de détails, veuillez consulter la documentation Phalcon Configuration de Phalcon nginx)
    Cela doit être configuré !
    Utilisez $_GET['_url'] (par défaut) :

    emplacement / {

        try_files $uri $uri/ /index.php?_url=$uri&$args;

    }
    Utilisez $_SERVER['REQUEST_URI'], configuration nginx :

    emplacement / {

        try_files $uri $uri/ /index.php;

    }
    Si vous souhaitez utiliser $_SERVER['REQUEST_URI'] normalement, peu importe si nginx est configuré, vous devez quand même le modifier dans le code php :

    utilisez PhalconMvcRouter;
    $router->setUriSource(Router::URI_SOURCE_SERVER_REQUEST_URI);

    répondre
    0
  • Annulerrépondre