Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
J’avais tester le zf2 il y a quelque temps, mon test fonctionnai plutôt bien pas de soucis.
Là j'ai voulu me remettre dessus, je me dit qu'il doit surement y avoir une nouvelle version du framework en circulation et je décide de l'updater avec composer, je change mon composer.json pour indiquer les dernières versions, et depuis plus moyen de lancer mon application.
l'erreur est la suivante
Fatal error: Uncaught exception 'RuntimeException' with message 'Unable to load ZF2. Run `php composer.phar install` or define a ZF2_PATH environment variable.'
Je suis un peu étonné, du coup vu l'avancement de mes tests je me dit que tant pis, je repart du debut et je suit la procédure "Getting started", mais rien n'y fait, toujours la même erreur...
Je ne sais plus trop quoi faire, si une bonne âme passe par là et a une idée....
(ma configuration est un php 5.4.7 sur un iis, j'ai déjà configuré le web.config pour avoir la redirection d'url)
j'ai une trace xdebug si ça peut aider :
Dernière modification par PeuX (12-04-2013 10:30:12)
Hors ligne
Retélécharge le ZendSkeleton à sa dernière version et fais l'installation proprement avec le composer ça m'est arrivé en copiant mon application d'un windows vers un linux et j'avais tout réinstallé proprement et ça avait fonctionné.
Hors ligne
J'ai refait la procédure:
copier les fichiers du zip master du git
faire le self update sur composer
et ensuite le install depuis composer, et même soucis....
Hors ligne
Tu as le soucis en ayant que le ZendFramework et aucun module d'activé ? Parce que sur ta trace on voit du ZfcUser ?
Hors ligne
Hmm j'arrive pas à voir ce qui peut clocher alors ... Ton include_path dans ton fichier php.ini ressemble à quoi ?
Hors ligne
je n'ai pas d'include_path de configuré
Hors ligne
{ "name": "zendframework/skeleton-application", "description": "Skeleton Application for ZF2", "license": "BSD-3-Clause", "keywords": [ "framework", "zf2" ], "homepage": "http://framework.zend.com/", "require": { "php": ">=5.3.3", "zendframework/zendframework": ">2.1.3" } }
Hors ligne
PeuX a écrit:
je n'ai pas d'include_path de configuré
Essaie de le configurer comme ceci :
include_path = "."
Voir si ça change quelque chose, je doute mais bon.
Le problème ne vient pas du composer.json puisque c'est celui du Skeleton
Hors ligne
ça n'a rien changé, sur mes précédents tests j'avais essayé d'assigner directement la variable zf2Path (dans le init_autolaoder.php) mais ça n'avait pas été franchement concluant
Hors ligne
Autant pour moi j'avais pas capté qu'il était repartit sur quelque chose de sain. En effet le problème est assez étrange !
Lorsque tu fais "php composer.phar install", tu peux nous montrer le log d'installation ?
Hors ligne
Essaies aussi un php composer.phar self-update pour mettre à jour le composer.
Hors ligne
c'est le fichier composer.lock?
{ "_readme": [ "This file locks the dependencies of your project to a known state", "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file" ], "hash": "f48cd484c508e7aae0a9a2a3cfd1241d", "packages": [ { "name": "zendframework/zendframework", "version": "2.1.4", "source": { "type": "git", "url": "https://github.com/zendframework/zf2.git", "reference": "release-2.1.4" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/zendframework/zf2/zipball/release-2.1.4", "reference": "release-2.1.4", "shasum": "" }, "require": { "php": ">=5.3.3" }, "replace": { "zendframework/zend-authentication": "self.version", "zendframework/zend-barcode": "self.version", "zendframework/zend-cache": "self.version", "zendframework/zend-captcha": "self.version", "zendframework/zend-code": "self.version", "zendframework/zend-config": "self.version", "zendframework/zend-console": "self.version", "zendframework/zend-crypt": "self.version", "zendframework/zend-db": "self.version", "zendframework/zend-debug": "self.version", "zendframework/zend-di": "self.version", "zendframework/zend-dom": "self.version", "zendframework/zend-escaper": "self.version", "zendframework/zend-eventmanager": "self.version", "zendframework/zend-feed": "self.version", "zendframework/zend-file": "self.version", "zendframework/zend-filter": "self.version", "zendframework/zend-form": "self.version", "zendframework/zend-http": "self.version", "zendframework/zend-i18n": "self.version", "zendframework/zend-inputfilter": "self.version", "zendframework/zend-json": "self.version", "zendframework/zend-ldap": "self.version", "zendframework/zend-loader": "self.version", "zendframework/zend-log": "self.version", "zendframework/zend-mail": "self.version", "zendframework/zend-math": "self.version", "zendframework/zend-memory": "self.version", "zendframework/zend-mime": "self.version", "zendframework/zend-modulemanager": "self.version", "zendframework/zend-mvc": "self.version", "zendframework/zend-navigation": "self.version", "zendframework/zend-paginator": "self.version", "zendframework/zend-permissions-acl": "self.version", "zendframework/zend-permissions-rbac": "self.version", "zendframework/zend-progressbar": "self.version", "zendframework/zend-serializer": "self.version", "zendframework/zend-server": "self.version", "zendframework/zend-servicemanager": "self.version", "zendframework/zend-session": "self.version", "zendframework/zend-soap": "self.version", "zendframework/zend-stdlib": "self.version", "zendframework/zend-tag": "self.version", "zendframework/zend-test": "self.version", "zendframework/zend-text": "self.version", "zendframework/zend-uri": "self.version", "zendframework/zend-validator": "self.version", "zendframework/zend-version": "self.version", "zendframework/zend-view": "self.version", "zendframework/zend-xmlrpc": "self.version" }, "require-dev": { "doctrine/common": ">=2.1", "ircmaxell/random-lib": "dev-master", "ircmaxell/security-lib": "dev-master", "phpunit/phpunit": "3.7.*" }, "suggest": { "doctrine/common": "Doctrine\\Common >=2.1 for annotation features", "ext-intl": "ext/intl for i18n features", "ircmaxell/random-lib": "Fallback random byte generator for Zend\\Math\\Rand if OpenSSL/Mcrypt extensions are unavailable", "pecl-weakref": "Implementation of weak references for Zend\\Stdlib\\CallbackHandler", "zendframework/zendpdf": "ZendPdf for creating PDF representations of barcodes", "zendframework/zendservice-recaptcha": "ZendService\\ReCaptcha for rendering ReCaptchas in Zend\\Captcha and/or Zend\\Form" }, "bin": [ "bin/classmap_generator.php" ], "type": "library", "extra": { "branch-alias": { "dev-master": "2.1-dev", "dev-develop": "2.2-dev" } }, "autoload": { "psr-0": { "Zend\\": "library/", "ZendTest\\": "tests/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "description": "Zend Framework 2", "homepage": "http://framework.zend.com/", "keywords": [ "framework", "zf2" ], "time": "2013-03-13 22:26:48" } ], "packages-dev": [ ], "aliases": [ ], "minimum-stability": "stable", "stability-flags": [ ], "platform": { "php": ">=5.3.3" }, "platform-dev": [ ] }
j'ai fait le self update au moment ou j'ai repris l'installation au debut
(je doit y aller là, je reprend mes tests demain matin, merci)
Dernière modification par PeuX (11-04-2013 18:32:02)
Hors ligne
C'était pas exactement ça. Lorsque tu tape la commande "php composer.phar install", il doit te parler le script. C'est ce qu'il te dit à cette étape qui nous intéresse.
Sinon, juste comme ca, tu as bien vérifié que tu as bien le dossier C:\inetpub\wwwroot\ACM_NEW\vendor\zendframework\zendframework\library ?
En lisant le chemin, tu as des \ jusque ACM_NEW et ensuite des /.... Ton problème vient de là !
L'installation de ton composer plante à cause des chemins Windows. Par contre ce n'est pas normal que tu ai à la fois des / et à la fois des \. Tu n'aurais pas modifié quelque chose dans ta conf apache ?
Normalement, sur un serveur Windows tu dois avoir des chemins en / et apache s'occupe de les transformer en \... Mais là une mauvaise config doit être la cause de ce mixage.
Dans le fichier vendor/composer/autoload_namespaces.php, remplace tes / en \ et je pense que ca devrait marcher. Mais ce n'est pas une solution. Il faut trouver la config qui n'est pas bonne.
Hors ligne
Pourrais-tu aussi nous montrer ton fichier autoload_namespaces.php dans vendor/composer stp ?
Hors ligne
Bonjour,
Bon alors pour YannickDa
quand je refait composer install, il me dit plus grand chose car les installation on déja été faite
Loading composer repositories with package information Installing dependencies from lock file Nothing to install or update Generating autoload files
J'ai vérifier et j'ai bien Zend dans "C:\inetpub\wwwroot\ACM_NEW\vendor\zendframework\zendframework\library"
Pour les chemin, je ne suis pas sur que ça change qqch (j'utilise un iis configuré par default pour information), j'ai quand même tester et ça n'a pas fait évoluer le message d'erreur (mais avec les slashs dans le bon sens^^)
sinon voici mon fichier autoload_namespaces.php
[lang=php]<?php // autoload_namespaces.php generated by Composer $vendorDir = dirname(dirname(__FILE__)); $baseDir = dirname($vendorDir); return array( 'Zend\\' => $vendorDir . '/zendframework/zendframework/library', 'ZendTest\\' => $vendorDir . '/zendframework/zendframework/tests', );
(j'ai remis les slashs dans leur sens d'origine)
Hors ligne
Remplace tes deux premières lignes par ça :
[lang=php] $vendorDir = dirname(__DIR__); $baseDir = dirname($vendorDir);
Hors ligne
Helas, pas mieu...
Hors ligne
Dernière suggestion utilise apache :p ? IIS c'est quand même pas "the must have". Déjà ça permettra de valider si le problème vient de l'installation en elle même ou de IIS qui se comporte différemment.
Hors ligne
Bon, je m'en veux, mais je m'en veux...
j'ai vérifié les droits sur le dossier library, tout paraissais cohérent, et la par acquis de conscience j'ai vérifié les droits sur le fichier AutoloaderFactory.php, et paf, pas les bons droits...
En fait tous ce qui était sous library n'avait pas les bons droits, iis n'avait pas le droit d’accès au dossier Zend... je suis un boulet...
Bon, je me demande si la perte des droits n'est pas lier au remplacement du framework par composer (voir même au droit que j'avais sur mon shell quand j'ai lancer composer).
En tout cas merci pour le coup de main et encore désolé pour le dérangement.
Hors ligne
Pour info, afin de refaire un composer.phar install il suffit de supprimer ton dossier vendor et ton fichier composer.lock.
Pour les droits, j'aurai jamais pensé qu'il pouvait y avoir des problèmes de droits sous Windows !!
Tant mieux alors.
Hors ligne