Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour à tous,
merci d'abord pour toutes les infos que j'ai pu trouver ici et qui m'ont pas mal aidées !
Je débute avec ce framework, à la base je suis développeur ActionScript et j'ai décidé d'utiliser Zend pour réécrire un back-office. Et c'est super tripant.
Problème : une fois envoyé sur le serveur de "prod", le fichier "index.php" n'est plus interprété mais affiché tel quel. Donc si j'affiche la source de ma page web, je vois tout le code PHP, ce qui est assez ennuyeux quand même.
L'exemple est ici, basé sur le tuto de Kitpages :
http://www.philippegourier.net/adm/
C'est peut-être un problème de configuration du serveur, mais c'est un mutualisé sur lequel je n'ai pas la main, et je ne sais pas à quels paramètres ce bug peut être dû...
Merci pour vos lumières !
N.
Hors ligne
Je soupçonne une erreur de syntaxe : avant le setBaseUrl, tu as du écrire ?> au lieu de -> et donc tu es ressorti du PHP.
A+, Philippe
Hors ligne
Cela ressemble à quelque chose que j'ai déjà rencontré il y a quelque temps (ce qui ne veut pas dire que c'est cela qui se produit ici).
Certains hébergeurs obligent à avoir des droits particuliers sur les fichiers et le répertoires pour exécuter les scripts (tel PHP). Si je me souviens bien, mon problème était un droit en écriture pour tout le monde sur un répertoire, ce qui désactivait automatiquement l'exécution des scripts s'y trouvant et (ou, je ne me souviens plus) les droits d'exécution pour tous mis sur les fichiers ".php".
Je vous conseille de regarder ce que dit votre hébergeur là dessus et de vérifier les droits.
Hors ligne
Soit t'as mal fait ta balise d'ouverture, soit ton apache est mal configuré.
Seul les droits de lecture par le groupe ou l'utilisateur d'apache son nécessaire
Hors ligne
Les causes sont multiples, mais une solution de sécurité à ce style de problème est simple :
index.php :
require "path/to/bootstrap.php";
et bootstrap.php contient le code d'amorçage.
Ca ne résoud clairement pas le problème, mais ca permet de savoir d'où il provient et d'éviter l'affichage de tout le bootstrap à l'écran (niveau sécurité, c'est bien bien mieux).
Je pense plutot à première vue à un problème de config Apache et/ou de droits.
Hors ligne
philippe a écrit:
Je soupçonne une erreur de syntaxe : avant le setBaseUrl, tu as du écrire ?> au lieu de -> et donc tu es ressorti du PHP.
A+, Philippe
MMmm, logiquement, si c'était ça, la partie située avant le setBaseUrl ne se verrait pas dans la source non ?
Hors ligne
En fait, ta page PHP est pas interprétée. Elle est vue comme du HTML c'est pour ça que le contenu de <?php ... > ne s'affiche pas mais la suite oui.
A mon avis, il faut que tu actives le mod PHP dans Apache. Si c'est toi qui gère le serveur, regarde dans apache/conf/httpd.conf. Tu devrais avoir une ligne LoadModule php5_module ou quelque chose comme ça.
Hors ligne
@neojick : j'ai répondu un peu vite, je n'avais pas regardé le source, juste la page interprétée par le navigateur chez moi ça commençait à setBaseUrl, le reste n'était pas visible... en fait il a considéré tout le PHP comme un tag HTML... La prochaine fois je tournerai 7 fois mes doigts au dessus du clavier avant de répondre
Hors ligne
Hello,
@philippe : moi, je tourne toujours sept fois ma langue dans la bouche de ma voisine. C'est un principe auquel je ne souhaite pas déroger
A+
Hors ligne
Salut à tous,
merci pour vos réponse, j'avance, j'avance !
J'ai fait le tour, et :
- ce n'est pas une question de droits sur les fichiers
- en effet c'est bien toute la page PHP qui n'est pas interprétée, et qui est renvoyée tel quel comme du html
- par contre le serveur interprète bien le code PHP : http://www.philippegourier.net/test/echo.php
- et c'est là que j'ai quelque chose, je crois : le "phpinfo" me dit que c'est PHP 4.4.8... PHP5 est indispensable avec Zend, non ?
On dirait que je tiens un truc, je vais creuser par là !
N.
Hors ligne
Oui, il faut PHP5 pour ZF, mais même en PHP4, il ne devrait pas te retourner tout ton code source. Il devrait commencer à bosser avant de coincer à cause d'éléments manquants dans PHP4.
Hors ligne
Ça a l'air d'être ça.
Dans mon fichier .htaccess, je demandais l'activation du module PHP5. Si je supprime cette ligne, le serveur n'affiche plus le code PHP mais bien un message d'erreur "Parse error" lorsqu'il tombe sur une particularité de PHP5.
Donc en interprétant le code, le serveur par défaut en PHP4 se plante, et si on le force en PHP5, il ne fait plus rien : le problème viendrait donc bien du serveur.
Je me suis renseigné, PHP5 n'est pas dispo avec l'offre d'hébergement qu'utilise ce site, va donc falloir faire un transfert vers quelque chose d'un peu plus sérieux.
Merci à tous pour votre aide !
N.
Hors ligne
Pages: 1