Bonsoir,

J'ai actuellement un projet en Symfony 2, PHP 5.6 qui est sur ma machine en local et aussi sur une adresse web.

J'ai fait pas mal de travaux en local dont le HTTPS et le cryptage des mots de passe, que j'ai pu commit en production et tout s'est bien passé.

J'ai pas fait ça tout seul et un dev m'a vraiment beaucoup aidé et je l'en remercie !

Pour des questions de référencement, j'avais besoin de modifier certaines pages donc j'ai dû activer l'interface admin du site.

Du coup j'ai fait je crois un assets install et Sonata s'est mis à marcher sur mon site web, en partie.

En fait quand j'allais pour Créer qqc tout marchait mais quand il fallait lister, j'avais une erreur PHP :

"deprecated preg_replace() the /e modifier is deprecated use preg_replace_callback instead in /var/html/vendor/bundles/Sonata/AdminBundle/Admin/BaseFieldDescription.php"
Et ça me faisait une grosse erreur Symfony et la page n'était pas accessible :
Nom : ErreurSonata.png
Affichages : 164
Taille : 361,0 Ko

Et puis ce matin, comme je voulais montrer les améliorations que j'avais faites sur le site Web à la personne qui valide mes développements, j'ai bidouillé un peu et jsuis allé modifier le fichier BaseFieldDescription.php,d'abord en local où j'ai réussi à corriger l'erreur en modifiant le fichier puis ensuite en production en modifiant mon fichier sur le Centos avec vi ( j'ai juste commenté la ligne qui marchait pas et inséré ma nouvelle ligne qui marche)

Nom : CorrectifSonata.png
Affichages : 131
Taille : 24,5 Ko

D'ailleurs ça a très bien marché, on a même pu modifier quelques pages du site sans aucun souci, on a vraiment eu 0 bugs !

Mais bon, je pense pas que ce soit une bonne solution, et j'aimerais bien upgrade ma version de Sonata pour plus avoir cette erreur et pas bidouiller dans les fichiers de Sonata.

Du coup, j'ai voulu mettre Sonata à jour en passant la version de PHP de 5.3 à 5.6.0 dans composer.json et c'est là que ça merde.

Mon composer.json modifié :

Code json : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
{
    "name": "symfony/framework-standard-edition",
    "license": "MIT",
    "type": "project",
    "description": "The \"Symfony Standard Edition\" distribution",
    "autoload": {
        "psr-0": { "": "src/" }
    },
    "require": {
        "php": ">=5.6.0",
        "symfony/symfony": "~2.8",
        "doctrine/orm": "~2.2,>=2.2.3",
        "doctrine/doctrine-bundle": "~1.2",
        "twig/extensions": "~1.0",
        "symfony/assetic-bundle": "~2.3",
        "symfony/swiftmailer-bundle": "~2.3",
        "symfony/monolog-bundle": "~2.4",
        "sensio/distribution-bundle": "~2.3",
        "sensio/framework-extra-bundle": "~3.0",
        "sensio/generator-bundle": "~2.3",
        "incenteev/composer-parameter-handler": "~2.0",
        "gedmo/doctrine-extensions": "dev-master",
        "jms/security-extra-bundle": "dev-master",
        "stof/doctrine-extensions-bundle": "dev-master",
        "sonata-project/admin-bundle": "dev-master",
        "sonata-project/intl-bundle": "dev-master",
        "sonata-project/doctrine-orm-admin-bundle": "dev-master",
        "sonata-project/cache-bundle": "dev-master",
        "sonata-project/block-bundle": "dev-master",
        "sonata-project/jquery-bundle": "dev-master",
        "knplabs/knp-menu" : "dev-master",
        "knplabs/knp-menu-bundle": "dev-master",
        "knplabs/knp-paginator-bundle": "dev-master",
        "stfalcon/tinymce-bundle": "dev-master",
        "liip/imagine-bundle": "*@dev",
        "knplabs/knp-snappy-bundle" : "dev-master",
        "egeloen/ckeditor-bundle": "dev-master",
        "liuggio/excelbundle": "dev-master",
        "mikehaertl/phpwkhtmltopdf": "^2.3",
        "dompdf/dompdf": "^0.8.3"
    },
    "scripts": {
        "post-install-cmd": [
            "Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile"
        ],
        "post-update-cmd": [
            "Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile"
        ]
    },
    "config": {
        "bin-dir": "bin"
    },
    "minimum-stability": "RC",
    "extra": {
        "symfony-app-dir": "app",
        "symfony-web-dir": "web",
        "incenteev-parameters": {
            "file": "app/config/parameters.yml"
        },
        "branch-alias": {
            "dev-master": "2.4-dev"
        }
    }
}

Et du coup, mon composer veut rien update en local car il me sort ça :
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

Problem 1
- Root composer.json requires gedmo/doctrine-extensions dev-master, found gedmo/doctrine-extensions[dev-main, dev-archive/wip-v2.4.0-2019-03-17, dev-archive/master-2019-03-17, dev-archive/2.2.x-2019-03-17, dev-3.0/psalm, dev-php74, v2.2.0, ..., v2.4.x-dev, v3.0.0-beta, ..., 3.12.x-dev (alias of dev-main)] but these do not match your constraint and are therefore not installable. Make sure you either fix the constraint or avoid updating this package to keep the one present in the lock file (gedmo/doctrine-extensions[dev-master]).
Problem 2
- Root composer.json requires stof/doctrine-extensions-bundle dev-master, found stof/doctrine-extensions-bundle[dev-main, 1.0.1, ..., 1.x-dev (alias of dev-main)] but these do not match your constraint and are therefore not installable. Make sure you either fix the constraint or avoid updating this package to keep the one present in the lock file (stof/doctrine-extensions-bundle[dev-master]).
Problem 3
- Root composer.json requires sonata-project/admin-bundle dev-master, found sonata-project/admin-bundle[dev-jordisala1991-patch-1, dev-4.x-dev-kit, 2.0.0, ..., 2.x-dev, 3.0.0, ..., 3.x-dev, 4.0.0-alpha-1, ..., 4.x-dev, 5.x-dev] but these do not match your constraint and are therefore not installable. Make sure you either fix the constraint or avoid updating this package to keep the one present in the lock file (sonata-project/admin-bundle[dev-master]).
Problem 4
- Root composer.json requires sonata-project/intl-bundle dev-master, found sonata-project/intl-bundle[dev-fixLocal, dev-3.x-dev-kit, 2.1.0, ..., 2.x-dev, 3.0.0-alpha1, ..., 3.x-dev, 4.x-dev] but these do not match your constraint and are therefore not installable. Make sure you either fix the constraint or avoid updating this package to keep the one present in the lock file (sonata-project/intl-bundle[dev-master]).
Problem 5
- Root composer.json requires sonata-project/doctrine-orm-admin-bundle dev-master, found sonata-project/doctrine-orm-admin-bundle[dev-4.x-dev-kit, dev-5.x-dev-kit, 2.0.0, ..., 2.x-dev, 3.0.0, ..., 3.x-dev, 4.0.0-alpha-1, ..., 4.x-dev, 5.x-dev] but these do not match your constraint and are therefore not installable. Make sure you either fix the constraint or avoid updating this package to keep the one present in the lock file (sonata-project/doctrine-orm-admin-bundle[dev-master]).
Problem 6
- Root composer.json requires sonata-project/cache-bundle dev-master, found sonata-project/cache-bundle[dev-3.x-dev-kit, 2.0.0, ..., 2.x-dev, 3.0.0, ..., 3.x-dev, 4.x-dev] but these do not match your constraint and are therefore not installable. Make sure you either fix the constraint or avoid updating this package to keep the one present in the lock file (sonata-project/cache-bundle[dev-master]).
Problem 7
- Root composer.json requires sonata-project/block-bundle dev-master, found sonata-project/block-bundle[dev-VincentLanglet-patch-1, dev-4.x-dev-kit, dev-5.x-dev-kit, 2.1.0, ..., 2.3.12, 3.0.0, ..., 3.x-dev, 4.0.0, ..., 4.x-dev, 5.x-dev] but these do not match your constraint and are therefore not installable. Make sure you either fix the constraint or avoid updating this package to keep the one present in the lock file (sonata-project/block-bundle[dev-master]).
Problem 8
- Root composer.json requires knplabs/knp-menu dev-master -> satisfiable by knplabs/knp-menu[dev-master].
- knplabs/knp-menu dev-master requires php ^7.4 || ^8.0 -> your php version (5.6.5; overridden via config.platform, actual: 5.6.40) does not satisfy that requirement.
Problem 9
- Root composer.json requires knplabs/knp-menu-bundle dev-master -> satisfiable by knplabs/knp-menu-bundle[dev-master].
- knplabs/knp-menu-bundle dev-master requires php ^7.4 || ^8.0 -> your php version (5.6.5; overridden via config.platform, actual: 5.6.40) does not satisfy that requirement.
Problem 10
- Root composer.json requires knplabs/knp-paginator-bundle dev-master -> satisfiable by knplabs/knp-paginator-bundle[dev-master].
- knplabs/knp-paginator-bundle dev-master requires php ^8.0 -> your php version (5.6.5; overridden via config.platform, actual: 5.6.40) does not satisfy that requirement.
Problem 11
- Root composer.json requires stfalcon/tinymce-bundle dev-master -> satisfiable by stfalcon/tinymce-bundle[dev-master].
- stfalcon/tinymce-bundle dev-master requires php ^7.2.5|^8.0 -> your php version (5.6.5; overridden via config.platform, actual: 5.6.40) does not satisfy that requirement.
Problem 12
- Root composer.json requires knplabs/knp-snappy-bundle dev-master -> satisfiable by knplabs/knp-snappy-bundle[dev-master].
- knplabs/knp-snappy-bundle dev-master requires php >=7.4 -> your php version (5.6.5; overridden via config.platform, actual: 5.6.40) does not satisfy that requirement.

Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.
Quelqu'un saurait-il comment je peux faire pour update mes dépendances en local du coup ?

Est-ce vraiment nécessaire d'update mes dépendances ou mon "pansement" fera-t-il l'affaire ?

Je précise que c'est un projet entamé par quelqu'un d'autre en 2012 que je maintiens depuis un bout de temps, mais je n'ai pas créé ce projet à la base, je ne sais pas comment la personne a fait son composer, ses dépendances etc ... Et ce développeur est injoignable depuis un bout de temps donc je peux pas le contacter.

Du coup, je peux pas vraiment prendre le risque de mettre à jour tout en local, que ça marche et ensuite commit en production vu que Centos je maitrise pas beaucoup. Si je vautre le site Web, je sais absolument pas comment le remettre en place après ...

Merci à qui pourra m'aider !