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 :
- 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 json : Sélectionner tout - Visualiser dans une fenêtre à part
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.
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)

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