IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Zend Framework PHP Discussion :

Erreur dans le tutoriel


Sujet :

Zend Framework PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2005
    Messages : 487
    Par défaut Erreur dans le tutoriel
    Bonjour,

    Je suis entrain d'essayer le tutoriel ébuter avec Zend Framework 1.5 (approche MVC)
    et je n'y arrive pas.

    1) cette ligne me semble incorrect: Si vous allez à http://localhost/tutoriel-zf/ pour essayer, vous devriez voir quelque chose de similaire à :

    ---> Plus haut, on demande de créer le répertoire: Commencez par créer un répertoire "zf-tutorial"

    Je suis peut-être dans le champs.

    2) J'essaie cette ligne: http://localhost/zf-tutorial/

    et j'obtiens ceci:
    Warning: include(Zend/Loader.php) [function.include]: failed to open stream: No such file or directory in C:\xampplite\htdocs\zf-tutorial\index.php on line 11

    Warning: include() [function.include]: Failed opening 'Zend/Loader.php' for inclusion (include_path='.;../library;../application/models/;.;C:\xampplite\php\pear\') in C:\xampplite\htdocs\zf-tutorial\index.php on line 11

    Fatal error: Class 'Zend_Loader' not found in C:\xampplite\htdocs\zf-tutorial\index.php on line 12
    Le fichier index.php est aussi un copier-coller du tuto.:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <?php
    error_reporting(E_ALL|E_STRICT);
    ini_set('display_errors', 1);
    date_default_timezone_set('Europe/Paris');
     
    // mise en place des répertoires et chargement des classes
    set_include_path('.'
        . PATH_SEPARATOR . '../library'
        . PATH_SEPARATOR . '../application/models/'
        . PATH_SEPARATOR . get_include_path());
    include "Zend/Loader.php";
    Zend_Loader::registerAutoload();
     
    // setup controller
    $frontController = Zend_Controller_Front::getInstance();
    $frontController->throwExceptions(true);
    $frontController->setControllerDirectory('../application/controllers');
     
    // run!
    $frontController->dispatch();

    Quelqu'un peut m'aider ?

    Merci!

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Mai 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : Mai 2008
    Messages : 10
    Par défaut
    Bonjour,

    L'erreur vient de la mise en place des répertoires

    Si tu place ton fichier index.php directement sous ton dossier zf-tutorial/
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    set_include_path('.'
    . PATH_SEPARATOR . './library'
    . PATH_SEPARATOR . './application/models/'
    . PATH_SEPARATOR . get_include_path());
    sinon si ton fichier index.php est dans un sous-répertoire de zf-tutorial
    remplace le par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    set_include_path('.'
    . PATH_SEPARATOR . '../library'
    . PATH_SEPARATOR . '../application/models/'
    . PATH_SEPARATOR . get_include_path());

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2005
    Messages : 487
    Par défaut
    Pourtant, j'es respecté ce que le tutoriel demandait!

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2005
    Messages : 487
    Par défaut
    Citation Envoyé par bochudlo Voir le message
    Bonjour,

    L'erreur vient de la mise en place des répertoires

    Si tu place ton fichier index.php directement sous ton dossier zf-tutorial/
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    set_include_path('.'
    . PATH_SEPARATOR . './library'
    . PATH_SEPARATOR . './application/models/'
    . PATH_SEPARATOR . get_include_path());
    sinon si ton fichier index.php est dans un sous-répertoire de zf-tutorial
    remplace le par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    set_include_path('.'
    . PATH_SEPARATOR . '../library'
    . PATH_SEPARATOR . '../application/models/'
    . PATH_SEPARATOR . get_include_path());

    J'obtiens la même erreur.

  5. #5
    Membre expérimenté
    Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2006
    Messages : 251
    Par défaut
    Pour mon projet, j'ai ce bout de code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    define("LIB_DIR",dirname(__FILE__).DIRECTORY_SEPARATOR.'lib');
    define("APP_DIR",dirname(__FILE__).DIRECTORY_SEPARATOR.'application');
    define("MODEL_DIR",APP_DIR.'/models');
     
    set_include_path(
    	".".PATH_SEPARATOR.
    	APP_DIR.PATH_SEPARATOR.
    	LIB_DIR.PATH_SEPARATOR.
    	MODEL_DIR.PATH_SEPARATOR.
    	get_include_path()
    );
     
    require_once "Zend/Loader.php";
    Zend_Loader::registerAutoload();
    J'utilise des chemin absolue et pas relatif, ton problème viens peut être de là

  6. #6
    Membre habitué
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Mai 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : Mai 2008
    Messages : 10
    Par défaut
    J'ai eu la même erreur que toi en respectant le tutoriel. Pour y remedier j'ai créé un repertoire public dans le dossier zf-tutorial et j'ai placé mon fichier index.php dans le dossier public.

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2005
    Messages : 487
    Par défaut
    Mon objectif premier était d'alerter pour que le tutorial soit corrigé!

    Très bien fait en passant!

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 14
    Par défaut
    Citation Envoyé par bochudlo Voir le message
    J'ai eu la même erreur que toi en respectant le tutoriel. Pour y remedier j'ai créé un repertoire public dans le dossier zf-tutorial et j'ai placé mon fichier index.php dans le dossier public.
    Je me permet juste de citer la démarche d'un membre pour comprendre qu'elle est naturelle.

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 14
    Par défaut Quelques corrections
    Bonjour,
    je me permet d'ajouter ma contributions en corrigeant quelques erreurs.
    J'ai pas le science absolue, et j'ai peux-être mal compris le tutoriel.

    Dans "III. Le contrôleur" (Fin de page): http://g-rossolini.developpez.com/tu...age=controleur

    Il nous propose d'aller à: Or, la structure est la suivante:



    Donc on devrait plutôt se rendre à : (Un détail, on pouvait le deviner !).

    Par contre, si on se rend à cette adresse, rien puisque pas d' index.php et
    .htaccess .

    En effet, il nous à été dit de le mettre dans le répertoire "zf-tutorial".

    Solution :

    Déplacer ces deux fichiers dans "public" et mettre à jour index.php comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    set_include_path('.'
        . PATH_SEPARATOR . '../library'
        . PATH_SEPARATOR . '../application/models'
        . PATH_SEPARATOR . get_include_path());
    Et retirer du .htaccess :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    # Sécurité : Ne pas autoriser le parcours de répertoires
    Options -Indexes
    Pas besoin, car en production, le VIRTUAL HOST pointe vers le
    dossier "public".

    Voilà ma petite contribution ,

    Snake

  10. #10
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Salut

    Merci d'avoir pris le temps de remonter cela.
    Citation Envoyé par snakeware Voir le message
    Dans "III. Le contrôleur" (Fin de page): http://g-rossolini.developpez.com/tu...age=controleur

    Il nous propose d'aller à:

    Or, la structure est la suivante:



    Donc on devrait plutôt se rendre à : (Un détail, on pouvait le deviner !).
    Non, je n'ai simplement pas refait la capture d'écran (j'ai repris la capture de l'article original) mais le chemin "texte" est correct. C'est l'image qui n'est pas correcte pour la traduction.

    Pour le reste, tu es le premier à remonter cette erreur. Es-tu certain de ne pas avoir faut une fausse manipulation ? Il n'y a pas de .htaccess car il y a un VirtualHost, ce qui revient au même...

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 14
    Par défaut
    Re,

    Je ne pense pas avoir avoir fais d'erreurs,

    Par contre pour le .htaccess et index.php dans le répertoire "main",
    pas de problème sur: .

    Mais tu dit d'aller dans: et le problème est là, car dans "public" il n'y à rien donc "Apache" ne peut pas
    redirigé et de plus zend recherchera le controller 'public'.

    Après, oui d'accord avec toi, avec le virtual host ça fonctionnera.
    Mais comme le tutoriel est expliqué avec localhost, ça prête à confusion:

    Dans un site réel, vous feriez un VirtualHost pour le site et ...
    J'en déduit que je ne dois pas le faire.

    Puis personnellement, j'irais naturellement dans public voir ou pointe l'index dans le cadre d'une modification. (ça reste perso, mais je trouve que ça se rapproche plus de la facilité du MVC).

    Sans prétentions,
    Snake

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur dans un tutoriel Java
    Par adbask dans le forum Contribuez
    Réponses: 2
    Dernier message: 11/02/2010, 22h40
  2. Erreur dans le tutoriel : "Zend_Acl / Zend_Auth scénario d'exemple"
    Par Invité dans le forum Zend_Acl & Zend_Auth
    Réponses: 3
    Dernier message: 10/08/2008, 19h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo