Page 1 sur 1

inclure les besoins en PHP dans le composer json ?

Publié : 02 mai 2023, 19:17
par Bertrand

Salut à tous,

Voyez-vous un inconvénient à inclure les besoins en PHP et ses modules dans le composer json ?

Code : Tout sélectionner

{
  "require": {
    "php": "^8.0.0",
    "ext-curl": "*",
    "ext-dom": "*",
    "ext-gd": "*",
    "ext-imagick": "*",
    "ext-imap": "*",
    "ext-gnupg": "*",
    "ext-intl": "*",
    "ext-soap": "*",
    "ext-xml": "*",
    "ext-yaml": "*",
    "ext-zip": "*",
    "ext-bcmath": "*",
    "ext-mbstring": "*"
  }
}

Re: inclure les besoins en PHP dans le composer json ?

Publié : 02 mai 2023, 21:08
par marsante

Le seul inconvénient que je vois, c'est le jour de sorti de php9, sinon ça ne présente que des avantages. La sortie est verbeuse et explique bien comment corriger.

Code : Tout sélectionner

Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Root composer.json requires PHP extension ext-gd * but it is missing from your system. Install or enable PHP's gd extension.
...

To enable extensions, verify that they are enabled in your .ini files:
    - /usr/local/etc/php/php-cli.ini
    - /usr/local/etc/php/conf.d/docker-php-ext-bz2.ini
....

You can also run `php --ini` in a terminal to see which files are used by PHP in CLI mode.
Alternatively, you can run Composer with `--ignore-platform-req=ext-gd --ignore-platform-req=ext-imagick --ignore-platform-req=ext-imap --ignore-platform-req=ext-gnupg --ignore-platform-req=ext-intl --ignore-platform-req=ext-soap --ignore-platform-req=ext-yaml` to temporarily ignore these required extensions.

Re: inclure les besoins en PHP dans le composer json ?

Publié : 03 mai 2023, 10:59
par Bertrand

Non a priori pas de problème, car ici la syntaxe dit version 8 minimum.

B.


Re: inclure les besoins en PHP dans le composer json ?

Publié : 03 mai 2023, 14:12
par marsante

La syntaxe

Code : Tout sélectionner

^8.0.0

indique que php8.0 est requis et toutes ses versions mineures comme php8.0.1 php8.1.0, mais pas 9.0.0

Pour traduire une version minimum requise sans limites pour les versions majeures suivantes :

Code : Tout sélectionner

 "php": ">=8.0.0",

Les deux ont des avantages et des inconvénients, je ne sais pas quel comportement est souhaité ?


Re: inclure les besoins en PHP dans le composer json ?

Publié : 04 mai 2023, 18:11
par Bertrand

Arrrfff alors chatGPT m'aurait sorti une nouvelle connerie ? :D

On va utiliser >= alors !
Merci.

B.


Re: inclure les besoins en PHP dans le composer json ?

Publié : 04 mai 2023, 19:55
par marsante

Ça ne doit pas être évident pour une IA de comprendre la différence sémantique entre les deux :lol: .

Il y a un calculateur ici pour tester toutes les possibilités https://semver.npmjs.com/.

Les dépendances qui cassent à la version suivante sont déjà en ^ dans le composer.json donc c'est bon a priori.