Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
Je viens de démarrer sur le zend framework, et comme si ce n'était pas assez compliqué je viens également de migrer de PC vers mac…
Suivant le tuto de démarrage http://www.kitpages.fr/zf_quickIntroduction.html j'obtiens toujours une erreur de chargement de ZendLoader.php
Warning: require_once(Zend/Loader.php) [function.require-once]: failed to open stream: No such file or directory in /Applications/MAMP/htdocs/zend_01/html/index.php on line 9
Fatal error: require_once() [function.require]: Failed opening required 'Zend/Loader.php' (include_path='::Application/MAMP/htdocs/zend_01/PHP-INF:/Application/MAMP/ZendFramework/library:.:/Applications/MAMP/bin/php5/lib/php') in /Applications/MAMP/htdocs/zend_01/html/index.php on line 9
Je suppose que le problème viens de l'adresse que j'ai donné là :
define("WEBAPP_DIR","Application/MAMP/htdocs/zend_01"); define("MODEL_DIR",WEBAPP_DIR."/PHP-INF"); define("ROOT_URL","http://localhost:8888/zend_01"); define("BASE_URL","/zend_01/"); define("ZEND_FRAMEWORK_DIR","/Application/MAMP/ZendFramework/library");
Mais je patauge complètement pour trouver quelle adresse lui donner :-/ J'ai placé la librairie zend dans MAMP/ZendFramework/library, mais ça doit être le début de l'adresse qui manque, et là… je sèche
Dernière modification par yd01 (30-05-2008 12:04:59)
Hors ligne
Après de meilleures recherches j'ai trouvé
Ca paraitra sans doute évident aux habitués, mais bon…
define("WEBAPP_DIR","Users/nom_d_utilisateur/www/zend_01"); define("MODEL_DIR",WEBAPP_DIR."/PHP-INF"); define("ROOT_URL","http://localhost:8888/zend_01"); define("BASE_URL","/~nom_d_utilisateur/zend_01/"); define("ZEND_FRAMEWORK_DIR","/Users/nom_d_utilisateur/ZendFramework/library");
Par contre j'ai une
Uncaught exception 'Zend_Controller_Dispatcher_Exception' with message 'Invalid controller specified (index)'
Quelqu'un aurait'il une idée??
Hors ligne
Bonjour,
Ca veut dire qu'il ne trouve pas ton controlleur IndexController. Vérifie que l'emplacement des controlleurs est bien configuré dans index.php et que ton IndexController.php est au bon endroit. (Vérifie aussi les majuscules dans tes noms de classe et de fichiers)
A+, Philippe
Hors ligne
Merci pour ta réponse Philippe, je n'avais pas lu les précisions sur le tuto, notament la partie "Problèmes".
Après avoir essayé pas mal de choses ça ne fonctionne toujours pas, ou plutôt je ne suis toujours pas arrivé à le configurer comme il faut :-/
Mon architectue se compose comme ceci :
www/
zend_01/
application/
controllers/
ErrorController.php
IndexController.php
models/
views/
filters/
helpers/
scripts/
error/
error.phtml
index/
index.phtml
html/
index.php
.htaccess
Et mon indexphp se présente comme ceci :
<?php ini_set('error_reporting', E_ALL); ini_set('display_errors', 1); // mettre vos constantes ici... define("WEBAPP_DIR","Users/yohanndecharraud/www/zend_01"); define("MODEL_DIR",WEBAPP_DIR."/application"); define("ROOT_URL","http://localhost:8888/zend_01"); define("BASE_URL","/Users/yohanndecharraud/www/zend_01/"); define("ZEND_FRAMEWORK_DIR","/Users/yohanndecharraud/ZendFramework/library"); set_include_path( ":".PATH_SEPARATOR. MODEL_DIR.PATH_SEPARATOR. ZEND_FRAMEWORK_DIR.PATH_SEPARATOR. get_include_path() ); require_once 'Zend/Loader.php'; // Registry init Zend_Loader::loadClass("Zend_Registry"); // Controller init Zend_Loader::loadClass('Zend_Controller_Front'); Zend_Loader::loadClass('Zend_Controller_Router_Rewrite'); $controller = Zend_Controller_Front::getInstance(); $controller->setBaseUrl(BASE_URL); $controller->setControllerDirectory('application/controllers'); $controller->throwExceptions(true); // init viewRenderer Zend_Loader::loadClass("Zend_View"); $view = new Zend_View(); $viewRenderer = Zend_Controller_Action_HelperBroker:: getStaticHelper('viewRenderer'); $viewRenderer->setView($view) ->setViewSuffix('phtml'); // call dispatcher $controller->dispatch(); ?>
La partie qui semble poser problème serait donc :
define("BASE_URL","/Users/yohanndecharraud/www/zend_01/");
Le define("BASE_URL","") sert bien à indiquer le chemin du dossier contenant le site?
Petite précision niveau config (au cas ou ça viendrait de là --> version de PHP??) :
Mac OS 10.3.9
MAMP
PHP 5.1.6
ZendFramework 1.5.2
EDIT : il semble que j'ai un problème d'url_rewriting, alors que le module est bien chargé dans Apache, peut être que mon probème peut etre lié à ça? :-/
--------
-_- BouletMan -_-
Dernière modification par yd01 (23-05-2008 10:56:51)
Hors ligne
pfff, grossière erreur de ma part, voilà la solution, un chemin écrit correctement :
$controller->setControllerDirectory('../application/controllers');
Et parce que ca ne se voit pas forcement rapport à mon souci, j'avais juste oublié de faire remonter d'un répertoire, donc "../", et maintenant tout fonctionne (problème d'url rewrite réglé également)
Merci Philippe
Dernière modification par yd01 (30-05-2008 12:04:31)
Hors ligne
Pages: 1