Mon site fonctionne en local mais pas sur mon serveur distant

Eléphanteau du PHP | 13 Messages

03 oct. 2016, 22:06

Bonjour,

Je développe un site en local et lorsque que je veux l'envoyer sur mon serveur distant j'ai toute la partie admin de mon site qui plante... J'ai la même configuration en local et à distance. Je ne pense pas que ça vienne de la configuration serveur puisque le reste du site fonctionne. Je n'ai aucune erreur PHP (je suis sûr et certain que le display_errors est à on ^^) Je me dis donc que cela peut venir de PHP et de ses extensions ou autre à vrai dire je sais dev en PHP mais je ne m'y connais pas beaucoup plus :D

Si quelqu'un a des suggestions que je test au point où j'en suis :)

Merci d'avance

Avatar de l’utilisateur
Administrateur PHPfrance
Administrateur PHPfrance | 7162 Messages

04 oct. 2016, 00:18

Bonjour,
j'ai toute la partie admin de mon site qui plante
C'est un peu mince comme infos pour faire un diagnostic ^^
Qu'est-ce qui ne marche pas exactement.

Vérifie dans les logs de ton serveur, si c'est un pb PHP tu as forcément qqch dedans.
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphanteau du PHP | 13 Messages

04 oct. 2016, 00:24

Bah c'est un système de module et enfaite ce que le site fait sur le serveur distant c'est qu'il charge les modules de la partie public au lieu de charger ceux de la parties de l'admin... Bah le problème justement c'est que je n'ai rien nul part aucune erreur PHP sur la page aucune erreur PHP dans les loges aucune erreur Apache non plus, simplement ce "Module ont found" qui me fait perdre espoir j'ai essayer d'éplucher le code mais je ne trouve pas l'erreur et je me dis que si il marche en local il devrait forcément fonctionner ailleurs :|

Avatar de l’utilisateur
Administrateur PHPfrance
Administrateur PHPfrance | 7162 Messages

04 oct. 2016, 00:28

simplement ce "Module ont found"
Bah c'est peut être un début déjà...
C'est quoi ce message d'erreur ? Où l'as tu vu ? Quel est le message d'erreur exact ? Qu'est-ce qui le génère ?
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphanteau du PHP | 13 Messages

04 oct. 2016, 00:31

Bah c'est une erreur définie dans une condition... c'est trop dur à expliquer dans un post sur un forum tu ne pourrais pas comprendre ici je devrais te faire un roman sans être sur que tu comprenne à la fin la seul chose que je peux te dire ici c'est que je n'ai pas ce message en local mais ça tu dois l'avoir compris ^^

Avatar de l’utilisateur
Administrateur PHPfrance
Administrateur PHPfrance | 7162 Messages

04 oct. 2016, 01:29

Donc il faut que tu regardes les paramètres de cette condition et que tu cherches pourquoi elle se déclenche
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphanteau du PHP | 13 Messages

04 oct. 2016, 01:39

Oui j'ai regardé sauf que c'est une condition sur une propriété qui est modifier de méthodes en méthode. Je ne comprend rien c'est vraiment décourageant au possible...

Avatar de l’utilisateur
Administrateur PHPfrance
Administrateur PHPfrance | 7162 Messages

04 oct. 2016, 08:53

Donc on ne pourra pas t'aider davantage.
Quand tout le reste a échoué, lisez le mode d'emploi...

Avatar de l’utilisateur
Modérateur PHPfrance
Modérateur PHPfrance | 8747 Messages

04 oct. 2016, 10:06

salut,

il faut debuger au maximum ton code.

si tu as un accès ssh tu va pourvoir aller vite.
Il faut afficher ou logger toutes les étapes qui conduise à ton message d'erreur afin de savoir exactement pourquoi tu en arrive la.

tu doit bien savoir d'où elle vient au départ, est ce que ce n'est pas un fichier de configuration de l'application qui n'est pas correcte ? (un chemin foireux des propriétés inversées etc).

Malheureusement on ne peu que te fournir des pistes et de méthode de recherche sans plus d'infos ;)

@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 13 Messages

04 oct. 2016, 11:59

A savoir en premier : l'URL pour accéder à l'administration du site est http://monurl.fr/admin/index.php/LeNomDuModuleRecherché. Dans le fichier index.php est définit la constante "ADMIN_PANEL" cette constante est bien définit à true. A la ligne qui suit ce define est inclue le fichier de configuration dont je vais vous parler ensuite.

Dans ce fichier de configuration il y a une condition (si la constante "ADMIN_PANEL" est défini et quelle est à true alors on définit le chemin vers les modules de l'administration (/admin/modules/) sinon on utilise le chemin des module par défaut (/core/modules/)). J'ai donc debug cette constante en mettant un print_r(ADMIN_PANEL); dans le fichier de config et en appelant des URL différente je me rend compte que pour charger l'accueil de l'admin (http://monurl.fr/admin/) cette constante vaut true et à partir du module ou il y a un nom de module la constante n'est pas définit... Je suis bloqué à ce niveau la, je ne comprend plus rien une constante à une porter sur tout un site normalement...

Avatar de l’utilisateur
Modérateur PHPfrance
Modérateur PHPfrance | 8747 Messages

04 oct. 2016, 14:12

la constant est globale au script (donc le script appelé et tous ce que tu peux y inclure).

quand je vois l'url je me demande si tu as utiliser de la réécriture d'url ou si tu as des sous dossier par "module" directement accessible (site/admin/modulexx) ?
dans le premier cas je supposerais que tu passes toujours par l'index du répertoire admin et donc ce que tu indiques est étonnant.
Dans le second cas si le fichier index du répertoire admin n'est pas inclus dans les index des modules le comportement indiqué est normal.


@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 13 Messages

04 oct. 2016, 14:37

Il y a un sous-dossier par module... Aucune réécriture.

Le plus bizarre je me répète mais c'est ce qui m'étonne c'est que le site marche en local... Donc je ne comprend vraiment rien

Avatar de l’utilisateur
Modérateur PHPfrance
Modérateur PHPfrance | 8747 Messages

04 oct. 2016, 14:59

ben je ne fait qu'explorer les possibilité n'ayant pas de code pour étayer.
tosu ce que je peux dire c'est que ce qui est fait dans admin/index.php n'est pas prit en compte autre part
sauf si
- il est inclus par un autre fichier
- il définit une variable de session qui est utilisée autre part.

je ne peux pas savoir pourquoi cela fonction dans un cas et pas dans l'autre sans du code.

Ce que je peux dire en plus, c'est que ton administration devrait être couplée à une session utilisateur et que c'est à partir de cette session utilisateur que tu vas pouvoir déterminer si l'administration et si certain module sont utilisables.
du coup chaque module doit inclure le fichier de conf qui définis les accès à la base, démarrage de la session (et tout ce qui est "globale") pour qu'il puisse déterminer si oui ou non il doit être utilisé ou non ;)


@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 13 Messages

04 oct. 2016, 15:07

Dans mon cas l'accès est différent du reste c'est à dire que le fautif je pense que c'est vraiment cette constante

Eléphanteau du PHP | 13 Messages

04 oct. 2016, 15:19

Ça ne pourrait pas venir de la config de PHP ? Une extension ? Une librairies ? Je dis peut-être des bêtises en demandant ça mais je suis à court d'idées.