Skip to content

Commands on php 8.1 - PHP Deprecated errors #4341

@robertfoleyjr

Description

@robertfoleyjr

Code - Drupal Console on php 8.1 throws errors on every command

Problem/Motivation

Running Drupal Console 1.9.8 in PHP 8.1 throws errors on any and all commands.

Details to include:

  • Why are we doing this? Above all, a summary should explain why a change is needed, in a few short sentences.

How to reproduce

While running PHP 8.1
Install Drupal Console via composer, issue a command

Error produces:

PHP Deprecated: preg_replace_callback(): Passing null to parameter #3 ($subject) of type array|string is deprecated in phar:///usr/local/bin/drupal/vendor/dflydev/placeholder-resolver/src/Dflydev/PlaceholderResolver/RegexPlaceholderResolver.php on line 57
PHP Stack trace:
PHP 1. {main}() /usr/local/bin/drupal:0
PHP 2. require() /usr/local/bin/drupal:10
PHP 3. require() phar:///usr/local/bin/drupal/bin/drupal:3
PHP 4. Drupal\Console\Core\Utils\ConfigurationManager->loadConfiguration($directory = '/srv/drupal/drupal9/ncela/code/pantheon-d9') phar:///usr/local/bin/drupal/bin/drupal.php:50
PHP 5. Dflydev\DotAccessConfiguration\AbstractConfiguration->get($key = 'application.extras.aliases') phar:///usr/local/bin/drupal/vendor/drupal/console-core/src/Utils/ConfigurationManager.php:83
PHP 6. Dflydev\DotAccessConfiguration\AbstractConfiguration->resolveValues($input = NULL) phar:///usr/local/bin/drupal/vendor/dflydev/dot-access-configuration/src/Dflydev/DotAccessConfiguration/AbstractConfiguration.php:42
PHP 7. Dflydev\PlaceholderResolver\RegexPlaceholderResolver->resolvePlaceholder($placeholder = NULL) phar:///usr/local/bin/drupal/vendor/dflydev/dot-access-configuration/src/Dflydev/DotAccessConfiguration/AbstractConfiguration.php:156
PHP 8. preg_replace_callback($pattern = '/%([a-zA-Z0-9\.\(\)_\:]+?)%/', $callback = [0 => class Dflydev\PlaceholderResolver\RegexPlaceholderResolverCallback { private $dataSource = class Dflydev\DotAccessConfiguration\ConfigurationDataSource { ... } }, 1 => 'callback'], $subject = NULL) phar:///usr/local/bin/drupal/vendor/dflydev/placeholder-resolver/src/Dflydev/PlaceholderResolver/RegexPlaceholderResolver.php:57

Details to include:

  • Drupal version 9.4.5
  • Console version 1.9.8
  • Console Launcher version 1.9.8
  • Steps to reproduce
    issue any command: drupal [command]

Solution

For now I attempt to run commands even with errors.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions