Mascotte de Publicitem, agence de communication et publicité

PublicitemOui, publie si t’aimes !Téléphone pictogramme Conseil gratuit

Upgrader vlucas/phpdotenv v2.6.1 dans Drupal 8 et suivant

Portrait de Françoise Lindon
07
12
2019

Venant tout juste d’installer une nouvelle occurrence de Drupal 8 dans sa dernière version, je constate qu’une dépendance n’est toujours pas passée dans sa version à jour. Ça n’empêche pas Drupal de bien travailler et servir les pages, mais nous allons tout de même prendre le temps d’avoir un CMS bien au carré et uptodate.

Mettons le site en maintenance. Comme vous pouvez le constater dans la ligne de code suivante, vlucas/phpdotenv v2.6.1 existe déjà dans sa version 4 :

  1. $ composer outdated --direct
  2. vlucas/phpdotenv v2.6.1 v4.0.0 Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.

Quelle version est déclarée dans notre composer.json ? À partir de la version 2.4 comme l’atteste cette commande :

  1. cat composer.json| grep lucas
  2.         "vlucas/phpdotenv": "^2.4",
  3.  

Faisons un backup de notre fichier load.environment.php :

  1. cp load.environment.php load.environment.php.BAK

Éditons, avec vim ou équivalent, le fichier composer.json pour indiquer à Drupal qu’on désire une version supérieure à la version 4 :

  1. cat composer.json| grep lucas
  2.         "vlucas/phpdotenv": "^4.0",

Rafraîchissons les modules :

  1. composer update
  2. > DrupalProject\composer\ScriptHandler::checkComposerVersion
  3. Loading composer repositories with package information
  4. Updating dependencies (including require-dev)
  5. Package operations: 1 install, 5 updates, 0 removals
  6.   - Installing phpoption/phpoption (1.6.0): Downloading (100%)        
  7.   - Updating vlucas/phpdotenv (v2.6.1 => v4.0.0): Downloading (100%)        
  8.   - Updating marc1706/fast-image-size (v1.1.5 => v1.1.6): Loading from cache
  9.   - Removing dnoegel/php-xdg-base-dir (0.1)
  10.   - Installing dnoegel/php-xdg-base-dir (v0.1.1): Loading from cache
  11.   - Updating psy/psysh (v0.9.11 => v0.9.12): Loading from cache
  12.   - Updating drupal/embed (1.0.0 => 1.1.0): Loading from cache
  13. Package container-interop/container-interop is abandoned, you should avoid using it. Use psr/container instead.
  14. Writing lock file
  15. Generating autoload files

Enfin éditons le fichier load.environment.php et faisons-le ressembler à ça :

  1. <?php
  2.  
  3. /**
  4.  * This file is included very early. See autoload.files in composer.json and
  5.  * https://getcomposer.org/doc/04-schema.md#files
  6.  */
  7.  
  8. use Dotenv\Dotenv;
  9. use Dotenv\Exception\InvalidPathException;
  10.  
  11. /**
  12.  * Load any .env file. See /.env.example.
  13.  */
  14. $dotenv = Dotenv::createImmutable(__DIR__);
  15. try {
  16.   $dotenv->load();
  17. }
  18. catch (InvalidPathException $e) {
  19.   // Do nothing. Production environments rarely use .env files.
  20. }

Faisons un petit drush updb et un petit drush cr et remettons en ligne le site en le sortant du mode maintenance. Et voilà le travail. Pour en savoir plus sur ce module, vous pouvez consulter cette page

Catégorie : 

Soumis par Françoise Lindon le sam, 07/12/2019 - 16:27

Ajouter un commentaire