Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
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
Si j'ai bien tout compris, cela se passe dans application.ini et/ou Bootstrap.php.
Utilises tu l'autoload des class ?
Hors ligne
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
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
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
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
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
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
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