Bonjour,

Voila je rencontre un petit problème lors de la migration de ma version local (serveur sur mon pc) vers le serveur mutualisé. Désolé, c'est un projet en tant que membre d'une petit association, la présidence a pris une offre mutualisé.
Localement, tout fonctionne, je peux m'identifier, actualiser......
Par contre, en ligne, quand j'accède à la page administration, j'obtiens une erreur 500.
Voici mon fichier route.php

<?php
Router::scope('/', function (RouteBuilder $routes) {
    /**
     * Here, we are connecting '/' (base path) to a controller called 'Pages',
     * its action called 'display', and we pass a param to select the view file
     * to use (in this case, src/Template/Pages/home.ctp)...
     */
    $slug='[0-9a-z\-]+';
    $id='[0-9]+';
    $routes->connect('/:slug', ['controller' => 'Posts', 'action' => 'view', 'slug' => $slug],['pass' => ['slug']]);
    $routes->connect('/actualite', ['controller' => 'Posts', 'action' => 'index']);
    $routes->connect('/', ['controller' => 'Posts', 'action' => 'index']);
    $routes->connect('/links', ['controller' => 'Links', 'action' => 'index']);
    $routes->connect('/hommage', ['controller' => 'Hommages', 'action' => 'index']);
    $routes->fallbacks(DashedRoute::class);
});
Router::prefix('administration', ['_namePrefix' => 'admin:'], function (RouteBuilder $routes) {
    $routes->connect('/', ['controller' => 'Users', 'action' => 'login']);
    $routes->connect('/logout', ['controller' => 'Users', 'action' => 'logout']);
    $routes->connect('/posts/:action/*', ['controller' => 'Posts']);
    $routes->connect('/posts/', ['controller' => 'Posts', 'action' => 'index']);
    $routes->connect('/users/:action/*', ['controller' => 'Users']);
    $routes->connect('/links/:action/*', ['controller' => 'Links']);
    $routes->connect('/links/', ['controller' => 'Links', 'action' => 'index']);
    $routes->connect('/citations/:action/*', ['controller' => 'Citations']);
    $routes->connect('/citations/', ['controller' => 'Citations', 'action' => 'index']);
    $routes->connect('/hommages/:action/*', ['controller' => 'Hommages']);
    $routes->connect('/hommages/', ['controller' => 'Hommages', 'action' => 'index']);
    $routes->connect('/pages/:action/*', ['controller' => 'Pages']);
    $routes->fallbacks(DashedRoute::class);
});
?>

Ce que je veux

Je voudrais que ça marche!!! Non je blague, c'est logique. Je pense que le problème que j'ai viens du module Auth qui permet dans CakePHP de s'identifier simplement.

Mon projet

Actuellement, mon projet est sur framagit avant de disparaitre dès que le site sera fini.
Vous pouvez consulter ce projet sur https://framagit.org/leknoppix/FrequenceCountry/tree/cakephp/www

J'espère que certains d'entre vous verrons mon erreur.

5 réponses


Lartak
Réponse acceptée

Bonjour.
C'est bien beau de nous fournir un lien pour visualiser le projet, mais à mon avis il doit être privé ou quelque chose du genre car on ne peut pas aller plus loin que https://framagit.org/leknoppix/FrequenceCountry, ça va donc nous être sacrément difficile de le visualiser.

leknoppix
Auteur
Réponse acceptée

J'ai trouvé par moi-même, l'espace web mutualisé que j'utilise est chez OVH, et la version de php avait sauté, j'étais repassé à la version 5.4, donc incompatible avec la version 3 de Php qui demandait au minimum du php 5.6.

Pourtant le lien fonctionne;

Maintenant ça fonctionne oui.
Ce qui m'étonne beaucoup, ce serait que tu arrives à accéder à ton action login de ton controller Users pour l'administration.
Car dans le controller Users, au lieu d'autoriser l'action login, tu autorises l'action logout.
Ce qui n'est pas tellement logique, en général on autorise les actions de connexions et d'inscription au minimum.
Un utilisateur devant être obligatoirement connecté pour se déconnecter, ce n'est pas logique d'autoriser l'action de déconnexion pour les utilisateurs qui ne sont pas connecté.

Exact, mais identique, toujours une erreur 500.

J'ai pourtant modifié mon Administration/UsersController.php

<?php
public function beforeFilter(Event $event)
    {
        parent::beforeFilter($event);
        // Allow users to register and logout.
        // You should not add the "login" action to allow list. Doing so would
        // cause problems with normal functioning of AuthComponent.
        $this->Auth->allow(['login']);
    }
    ?>