[ZF] Mise en place de zendframework/zendframework 2.5.3
Bonjour,
J’essaie de suivre le tutoriel Zend 2. J’essaie d’abord Zend framework ZF2 2.5.3
car :
-avec Zend framework 3 je n’arrive pas faire un skeleton avec composer car j’ai installé php avec xampp à la version 8.1 et la commande de création du skeleton s’interrompt
(1) C:\xampp\php\php.exe C:\xampp\composer\composer.phar create-project -s dev zendframework/skeleton-application zf3-tutorial
Car on me demande une version de php ≤ 8.0
Avec xampp j'ai
Apache 2.4.58
php 7.4.33
MariaDB 10.4.32
Je me suis tourné vers une version de Zend Framework 2 en installant dans un sous repertoire de xampp la version 7 de php et composer-1 dans un autre sous répertoire. Pourquoi alors ne pas installer une version 8.0 de php si j’y suis arrivé et retester ? Parce que j’ai trouvé un tutoriel de zf2 sur youtube (Romanenko, ZF2 2013) et que j’ai reussi à faire marcher la création du skeleton pour zf2-tutorial, donc pourquoi pas ? De plus j’obtenais avec la commande (1) ceci :
Citation:
- Root composer.json requires zendframework/zend-skeleton-installer ^0.1.7 || ^1.0 -> satisfiable by zendframework/zend-skeleton-installer[0.1.7].
Donc je suis parti sur zf2-tutorial. Pour faire un update, j’ai du modifier ceci dans composer.json :
Code:
1 2 3 4 5 6 7 8 9
| "require": {
"php": "^5.6 || ^7.0",
"zendframework/zend-component-installer": "^1.0 || ^2.1",
"zendframework/zend-eventmanager": "^2.5.2",
"zendframework/zend-servicemanager": "^2.5.1",
"zendframework/zend-mvc": "^2.5.3",
"zfcampus/zf-development-mode": "^2.1.1",
"zendframework/zendframework": "^2.5.3"
}, |
J’ai obtenu plein de messages du type :, mais la commande (1) est allée au bout.
Citation:
Package zendframework/zend-authentication is abandoned, you should avoid using it. Use laminas/laminas-authentication instead.
J’ai progressé jusqu’à la partie Database and Album model du tutoriel. Le problème maintenant est que j’obtient une erreur lorsque je fais une requete https://zf2-tutorial.localhost:8080 dans edge (après avoir démarré apache avec xampp)
J’obtiens des notice Deprecated et l’erreur suivante (dans edge, Wndows 10)
Citation:
Fatal error: Uncaught Zend\ModuleManager\Exception\RuntimeException: Module (Application) could not be initialized. in C:\Users\frede\phpStorm\artist_project\vendor\zendframework\zend-modulemanager\src\ModuleManager.php:201 Stack trace: #0 C:\Users\frede\phpStorm\artist_project\vendor\zendframework\zend-modulemanager\src\ModuleManager.php(173): Zend\ModuleManager\ModuleManager->loadModuleByName(Object(Zend\ModuleManager\ModuleEvent)) #1 C:\Users\frede\phpStorm\artist_project\vendor\zendframework\zend-modulemanager\src\ModuleManager.php(95): Zend\ModuleManager\ModuleManager->loadModule('Application') #2 [internal function]: Zend\ModuleManager\ModuleManager->onLoadModules(Object(Zend\ModuleManager\ModuleEvent)) #3 C:\Users\frede\phpStorm\artist_project\vendor\zendframework\zend-eventmanager\src\EventManager.php(490): call_user_func(Array, Object(Zend\ModuleManager\ModuleEvent)) #4 C:\Users\frede\phpStorm\artist_project\vendor\zendframework\zend-eventmanager\src\EventManager.php(248): Zend\EventManager\EventManager->triggerListeners('loadModules', Object(Zend\ModuleManager\ModuleEvent)) #5 C:\Users\frede\phpStorm\artist_project\vendor\zendframework\zend-modulemanager\src\ModuleManager.php(118): Zend\EventManager\EventManager->triggerEvent(Object(Zend\ModuleManager\ModuleEvent)) #6 C:\Users\frede\phpStorm\artist_project\vendor\zendframework\zend-mvc\src\Application.php(272): Zend\ModuleManager\ModuleManager->loadModules() #7 C:\Users\frede\phpStorm\artist_project\public\index.php(25): Zend\Mvc\Application::init(Array) #8 {main} thrown in C:\Users\frede\phpStorm\artist_project\vendor\zendframework\zend-modulemanager\src\ModuleManager.php on line 201
Le fait qu'il me donne une exception pour un fichier dans le répertoire vendor/ plus les warnings deprecated me conduisent à repartir vers une config plus actuelle. Mais comment résoudre le problème de la version de php?
Sur la conf précédnte, j’ai bien ajouté les lignes <VirtualHost >dans le httpd.conf de mon apache et localhost dans host de mon system32 de windows.
Que faire ? Je cherche une solution qui marche juste pour le developpement. Si je dois installer docker je peux le faire (prend un peu de temps donc je voulais consulter d’abord).
Merci