Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 08-05-2010 01:45:02

dialloma
Membre
Date d'inscription: 15-02-2010
Messages: 29
Site web

Problème de chargement de classe

Bonjour à tous,

Je viens de créer un projet Zend sous XP en suivant le tuto "QuickStart" de Zend. Le problème est que tout marche bien sous XP, mais quand j'ai copié le code sous Windows 7, j'ai des erreurs. Certaines de mes classes ne sont pas chargé par Zend à mon avis en particulier ceux du modèle. Pourtant que je clique dans l'editeur eclipse sur le nom de la classe en question, j'arrive bien à voir la classe mais Zend n'arrive. J'ai comme l'impression que c'est un problème d'include path. J'ai suivi ce lien http://www.z-f.fr/forum/viewtopic.php?id=2585 mais sans succès. Voici mon fichier public/index.php


// Define path to application directory
defined('APPLICATION_PATH')
    || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));

// Define application environment
defined('APPLICATION_ENV')
    || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));

// Ensure library/ is on include_path
set_include_path(implode(PATH_SEPARATOR, array(
    realpath(APPLICATION_PATH . '/../library'),
    get_include_path(),
)));

/** Zend_Application */
require_once 'Zend/Application.php';

// Create application, bootstrap, and run
$application = new Zend_Application(
    APPLICATION_ENV,
    APPLICATION_PATH . '/configs/application.ini'
);
$application->bootstrap()
            ->run();

Merci d'avance

Hors ligne

 

#2 08-05-2010 09:45:37

Damien
Membre
Lieu: Tassin la Demi Lune
Date d'inscription: 22-03-2007
Messages: 88

Re: Problème de chargement de classe

Si j'ai bien tout compris, cela se passe dans application.ini et/ou Bootstrap.php.

Utilises tu l'autoload des class ?

Hors ligne

 

#3 08-05-2010 10:55:06

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: Problème de chargement de classe

deux chose vérifie que le chemin des classes que tu ne peux charger est bien dans le include path.
tu nous donnes ton bootstrap mais pas le chemin des classes qui cause l'erreur
on ne peut donc te garantir que cela ne vient pas de là.

si le chemin est correct prends ton fusil et tire une décharge sur windows 7
il y a des chance que tu tue au passage le gestionnaire de la sécurité
bref il y a des chances que windows 7 ait fixé des restrictions sur certains fichiers par exemple s'il sont à ton nom dans ton dossier il est probable que toi seul ait les droit et apache n'y ait pas accès
d'où un "class not found"

A+JYT

Hors ligne

 

#4 08-05-2010 12:36:12

dialloma
Membre
Date d'inscription: 15-02-2010
Messages: 29
Site web

Re: Problème de chargement de classe

Je vous remercie tous pour vos réponses: C'est étonnant, j'ai un peu modifié mon fichier index.php en remplançant la partie de l'include path par

$paths = array(
APPLICATION_PATH . '/../library',
APPLICATION_PATH . DIRECTORY_SEPARATOR . 'models',
get_include_path()
);
set_include_path(implode(PATH_SEPARATOR, $paths));

Mais ça ne change rien. Là je ne comprends plus rien.

Si vous avez un exemple ça serait super.

Merci d'avance

Hors ligne

 

#5 08-05-2010 18:39:54

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: Problème de chargement de classe

encore une fois si tu veux qu'on t'aide
donne le chemin de tes classes et vérifie que W7 n'a pas fixer des droits qui empêchent apache de lire les fichier

A+JYT

Hors ligne

 

#6 08-05-2010 19:20:55

dialloma
Membre
Date d'inscription: 15-02-2010
Messages: 29
Site web

Re: Problème de chargement de classe

sekaijin a écrit:

encore une fois si tu veux qu'on t'aide
donne le chemin de tes classes et vérifie que W7 n'a pas fixer des droits qui empêchent apache de lire les fichier

A+JYT

Merci pour ta réponse

Les classes en question se trouvent dans le dossier "models" de mon projet: Voici le chemin complet

C:\Users\dialloma\Documents\projects\php\zend\code\zend-sample\application\models\HomeMapper.php

Le projet s'appelle "zend-sample"

Et comment puis je vérifier que W7 a fixer des droits qui empêche Apache d'accéder ?

Merci d'avance

Hors ligne

 

#7 09-05-2010 10:21:20

Damien
Membre
Lieu: Tassin la Demi Lune
Date d'inscription: 22-03-2007
Messages: 88

Re: Problème de chargement de classe

Normalement un clic droit puis propriétés sur un dossier permet d'accéder à l'onglet Sécurité où l'on peut fixer les droits sur le dossier. (c'est la version pour vista, mais ça devrait être la même chose pour seven)

Hors ligne

 

#8 09-05-2010 12:12:09

dialloma
Membre
Date d'inscription: 15-02-2010
Messages: 29
Site web

Re: Problème de chargement de classe

Salut Damien,
Merci pour ta réponse. Mais j'avais déjà fait ça. Pour les 3 types d'utilisateurs de mon PC (SYSTEM, monUser, administrator), tout est en full controll. En plus en regardant le code source du projet "quick start" de zendFramework, j'ai constaté qu'il n'y a rien de spécial dans le Bootstrap et application.ini etc... Alors là j'ai tendence à dire que Windows7 fait des truc bizarre.

Hors ligne

 

#9 09-05-2010 12:51:31

dialloma
Membre
Date d'inscription: 15-02-2010
Messages: 29
Site web

Re: Problème de chargement de classe

Hey les amis, je viens de trouver la solution à mon problème. C'était juste un problème de version. Moi j'avais la version 1.9.5 de Zend Framework. Alors j'ai téléchargé la nouvelle version 1.10.4 que j'ai copié dans le dossier C:\Program Files (x86)\Zend\ZendServer\share\ZendFramework\library en remplaçant le dossier Zend existant. Et là tout a marché du premier coup. Donc pas la peine de charger soit même dans l'include_path le chemin des classes Models tout marche sans problème. Merci à tous pour vos aides.
A+

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages