Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour a tous,
voila j'ai voulu tester mon application sur ma machine virtuelle (environnement préproduction, or je me suis retrouver face a une erreur.
Ne voyant pas d'ou elle venait j'ai voulu essayer de mettre le skeletonApplication en preprod et la j'ai la même erreur qui est :
Fatal error: Uncaught exception 'Zend\Loader\Exception\InvalidArgumentException' with message 'Autoloader class Zend\Loader\StandardAutoloader must implement Zend\Loader\SplAutoloader' in /data/rouille/vendor/zendframework/zendframework/library/Zend/Loader/AutoloaderFactory.php:91 Stack trace: #0 /data/rouille/vendor/zendframework/zendframework/library/Zend/ModuleManager/Listener/AutoloaderListener.php(34): Zend\Loader\AutoloaderFactory::factory(Array) #1 [internal function]: Zend\ModuleManager\Listener\AutoloaderListener->__invoke(Object(Zend\ModuleManager\ModuleEvent)) #2 /data/rouille/vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php(468): call_user_func(Object(Zend\ModuleManager\Listener\AutoloaderListener), Object(Zend\ModuleManager\ModuleEvent)) #3 /data/rouille/vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php(207): Zend\EventManager\EventManager->triggerListeners('loadModule', Object(Zend\ModuleManager\ModuleEvent), NULL) #4 /data/rouille/vendor/zendframework in /data/rouille/vendor/zendframework/zendframework/library/Zend/Loader/AutoloaderFactory.php on line 91
Voici mon fichier .htaccess :
#RewriteEngine On # The following rule tells Apache that if the requested filename # exists, simply serve it. #RewriteCond %{REQUEST_FILENAME} -s [OR] #RewriteCond %{REQUEST_FILENAME} -l [OR] #RewriteCond %{REQUEST_FILENAME} -d #RewriteRule ^.*$ - [NC,L] # The following rewrites all other queries to index.php. The # condition ensures that if you are using Apache aliases to do # mass virtual hosting, the base path will be prepended to # allow proper resolution of the index.php file; it will work # in non-aliased environments as well, providing a safe, one-size # fits all solution. #RewriteCond %{REQUEST_URI}::$1 ^(/.+)(.+)::\2$ #RewriteRule ^(.*) - [E=BASE:%1] #RewriteRule ^(.*)$ %{ENV:BASE}index.php [NC,L] RewriteEngine On RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ - [NC,L] RewriteRule ^.*$ index.php [NC,L]
et voici le vhost :
NameVirtualHost *:80 <VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/ ErrorLog /etc/httpd/logs/error_log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /etc/httpd/logs/access_log combined ServerSignature On <Directory /> Options FollowSymLinks AllowOverride None </Directory> #Exemple d'Alias # Alias /monalias /cheminreel # <Directory /cheminreel> # Options Indexes # AllowOverride None # Order allow,deny # Allow from all # </Directory> Alias /phppg "/data/phppgadmin/5.1" <Directory "/data/phppgadmin/5.1"> Options Indexes MultiViews FollowSymlinks AllowOverride None Order deny,allow # Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 Allow from all </Directory> Alias /rouille "/data/rouille/public" <Directory "/data/rouille/public"> Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all </Directory> </VirtualHost>
j'ai essayer plein de choses mais rien a faire auriez vous une piste pour résoudre mon problème?
N'hésitez pas si il vous faut des informations complémentaires.
Merci d'avance
Cordialement
Hors ligne
Hello c'est pas un soucis lié à ton htaccess ou ton vhost.
Là c'est un problème lié avec l'autoloader donc je dirais au pif composer ? Essaies de faire un composer update
Hors ligne
Merci pour ta réponse,
je viens de vérifier dans zend studio et dans les préférence j'ai bien :
- built-in composer.phar
et update composer.phar automatically
je viens de créer un projet sous zend studio et j'ai toujours la même erreur.
encore merci de ton aide
Hors ligne
Ok donc je ré-itère fais un composer update à la main histoire de voir ce qu'il te dit. Là ça ressemble à une version du skeleton qui n'est pas la bonne pour la version ZF2.
Hors ligne
Bonjour,
voici les manipulation effectuées :
E:\Zend studio 12 Workspace\test>composer self-update
Updating to version .
Downloading: 100%
puis ensuite :
E:\Zend studio 12 Workspace\test>composer update
Loading composer repositories with package information
Updating dependencies (including require-dev)
- Installing zendframework/zendxml (1.0.0)
Loading from cache
- Removing zendframework/zendframework (2.3.1)
- Installing zendframework/zendframework (2.3.7)
Loading from cache
Writing lock file
et j'ai toujours la même erreur de StandartAutoloader
Ai-je mal fais quelque chose? Aurais tu d'autre pistes?
Merci d'avance
Cordialement
Edit : en testant j'ai remarqué qu'avec la version 2.4 et 2.3 du framework j'obtenais l'erreur alors qu'avec la version 2.2 j'obtenais bien ma page d'accueil, cependant j'aimerais pouvoir utiliser la version 2.4 du framework ou au moins la 2.3
Dernière modification par shishi (05-05-2015 14:23:23)
Hors ligne
Tu peux remarquer que la version que tu utilisais n'étais pas à jour via Zend Studio :
- Removing zendframework/zendframework (2.3.1)
- Installing zendframework/zendframework (2.3.7)
De plus tu n'as pas la bonne version du ZendSkeleton puisque celle-ci demande d'utiliser ZF 2.4 donc il y a quelque chose que tu as mal fait quelque part.
Hors ligne
Effectivement zend studio créé les projet avec une mauvaise version du ZendSkeleton (étant débutant avec on doit surement pouvoir le configurer)...
Donc j'ai ré-essayé en faisant ceci :
Télécharger zendSkeleton a cette URL : https://github.com/zendframework/ZendSk … pplication
ensuite j'ai effectué :
-composer self-update
- composer install
et la toujours le même résultat je ne vois vraiment pas d'où vient le problème car en local j'ai bien la page d'acceuil indiquant que c'est la version 2.4 du framework
Vraiment désolé de t'embêter avec ce genre d'erreur qui doit surement être une erreur stupide de ma part
PS j'ai même essayer avec zftool même résultat mais apparement zftool utilise la version 2.2 du framework
Hors ligne
Je viens de tester en local pour être sûr ça fonctionne très bien. Voici les étapes :
git clone https://github.com/zendframework/ZendSk … cation.git
php composer.phar self-update
php composer.phar update
Et chez moi ça fonctionne.
Essaies de faire ça et montre le résultat des commandes que tu as tapé histoire de voir ce que ça donne .
Hors ligne
Bonjour,
voici le résultat de chaque commande :
E:\>git clone https://github.com/zendframework/ZendSk … cation.git
Cloning into 'ZendSkeletonApplication'...
remote: Counting objects: 2547, done.
rRemote: Total 2547 (delta 0), reused 0 (delta 0), pack-reused 2547eceiving obje
R
Receiving objects: 100% (2547/2547), 1.54 MiB | 1.38 MiB/s, done.
Resolving deltas: 100% (1109/1109), done.
E:\ZendSkeletonApplication>php composer.phar self-update
Updating to version 4d8b37190836a22028c4e4d2c0538f1ed98ee7df.
Downloading: 100%
Use composer self-update --rollback to return to version 7adc41d02c3536b3e19a6b9
06cf0c4cf6d3beb70
E:\ZendSkeletonApplication>php composer.phar update
Loading composer repositories with package information
Updating dependencies (including require-dev)
- Installing zendframework/zendxml (1.0.0)
Loading from cache
- Installing zendframework/zendframework (2.4.0)
Loading from cache
zendframework/zendframework suggests installing ext-intl (ext/intl for i18n feat
ures (included in default builds of PHP))
zendframework/zendframework suggests installing doctrine/annotations (Doctrine A
nnotations >=1.0 for annotation features)
zendframework/zendframework suggests installing ircmaxell/random-lib (Fallback r
andom byte generator for Zend\Math\Rand if OpenSSL/Mcrypt extensions are unavail
able)
zendframework/zendframework suggests installing ocramius/proxy-manager (ProxyMan
ager 0.5.* to handle lazy initialization of services)
zendframework/zendframework suggests installing zendframework/zendpdf (ZendPdf f
or creating PDF representations of barcodes)
zendframework/zendframework suggests installing zendframework/zendservice-recapt
cha (ZendService\ReCaptcha for rendering ReCaptchas in Zend\Captcha and/or Zend\
Form)
Writing lock file
Generating autoload files
Donc ensuite en local tout fonctionne trés bien (xampp 3.2.1) je copie le répertoire sur ma machine virtuelle (CENTOS) dans le dossier /data/rouille (qui correspond a mon vhost) et la j'ai toujours la même erreur d'autoloader
Hors ligne
En local t'es sous quel système d'exploitation ?
Hors ligne
Windows 7 et en production CENTOS 6
Hors ligne
Bon bah voila t'as ta réponse. Tu génères l'autoloader sous windows pour le copier/coller sous Centos c'est évident que ça pose des problèmes ...
Donc tu refais ton php composer.phar update sur ton serveur et ça fonctionnera.
Hors ligne
Merci beaucoup pour ta réponse, je n'y avais pas pensé vu que les autre fois c'est zend studio qui me généré les loader..
Je viens de lancer la commande update et la il me dit que la version du php (5.3.3) n'est pas suffisante qu'il faut au minimum la version 5.3.23.
Il ne me reste plus qu'a demander a l'ingénieur si une telle mise a jour est possible.
Encore merci je reviendrais vers vous si je rencontre un nouveau problème.
Hors ligne
Sinon tu prends une version du ZF2 plus ancienne tout simplement.
Hors ligne
oui c'est ce que je lui ai proposé mais j'espère qu'il voudra car pour ma part je trouve mieux de garder le framework dans sa dernière version
Hors ligne