Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PHP 8.1 #246

Closed
ruudk opened this issue Nov 12, 2021 · 7 comments · Fixed by #250
Closed

PHP 8.1 #246

ruudk opened this issue Nov 12, 2021 · 7 comments · Fixed by #250

Comments

@ruudk
Copy link
Contributor

ruudk commented Nov 12, 2021

I tried to use Pickle on PHP 8.1 RC6 but I'm getting a lot of errors:

pickle -v
PHP Deprecated:  Return type of Symfony\Component\Console\Helper\HelperSet::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///Volumes/CS/www/website/var/pickle.phar/vendor/symfony/console/Helper/HelperSet.php on line 94
PHP Stack trace:
PHP   1. {main}() /Volumes/CS/www/website/var/pickle.phar:0
PHP   2. require() /Volumes/CS/www/website/var/pickle.phar:10
PHP   3. Symfony\Component\Console\Application->run($input = *uninitialized*, $output = *uninitialized*) phar:///Volumes/CS/www/website/var/pickle.phar/bin/pickle:38
PHP   4. Symfony\Component\Console\Application->doRun($input = class Symfony\Component\Console\Input\ArgvInput { protected $definition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = [...]; private $requiredCount = 0; private $hasAnArrayArgument = FALSE; private $hasOptional = TRUE; private $options = [...]; private $shortcuts = [...] }; protected $stream = NULL; protected $options = ['verbose' => TRUE]; protected $arguments = []; protected $interactive = TRUE; private $tokens = [0 => '-v']; private $parsed = [] }, $output = class Symfony\Component\Console\Output\ConsoleOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 64; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { private $decorated = TRUE; private $styles = [...]; private $styleStack = class Symfony\Component\Console\Formatter\OutputFormatterStyleStack { ... } }; private ${Symfony\Component\Console\Output\StreamOutput}stream = resource(74) of type (stream); private $stderr = class Symfony\Component\Console\Output\StreamOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 64; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { ... }; private $stream = resource(89) of type (stream) }; private $consoleSectionOutputs = [] }) phar:///Volumes/CS/www/website/var/pickle.phar/vendor/symfony/console/Application.php:166
PHP   5. Symfony\Component\Console\Application->find($name = 'list') phar:///Volumes/CS/www/website/var/pickle.phar/vendor/symfony/console/Application.php:254
PHP   6. Symfony\Component\Console\Application->init() phar:///Volumes/CS/www/website/var/pickle.phar/vendor/symfony/console/Application.php:628
PHP   7. Symfony\Component\Console\Application->add($command = class Symfony\Component\Console\Command\HelpCommand { private ${Symfony\Component\Console\Command\Command}application = class Pickle\Console\Application { private ${Symfony\Component\Console\Application}commands = [...]; private ${Symfony\Component\Console\Application}wantHelps = FALSE; private ${Symfony\Component\Console\Application}runningCommand = NULL; private ${Symfony\Component\Console\Application}name = '\n ██████╗ ██╗ ██████╗██╗  ██╗██╗     ███████╗\n ██╔══██╗██║██╔════╝██║ ██╔╝██║     ██╔════╝\n ██████╔╝██║██║     █████╔╝ ██║     █████╗\n ██╔═══╝ ██║██║     ██╔═██╗ ██║     ██╔══╝\n ██║     ██║╚██████╗██║  ██╗�'; private ${Symfony\Component\Console\Application}version = 'v0.7.7'; private ${Symfony\Component\Console\Application}commandLoader = NULL; private ${Symfony\Component\Console\Application}catchExceptions = TRUE; private ${Symfony\Component\Console\Application}autoExit = TRUE; private ${Symfony\Component\Console\Application}definition = class Symfony\Component\Console\Input\InputDefinition { ... }; private ${Symfony\Component\Console\Application}helperSet = NULL; private ${Symfony\Component\Console\Application}dispatcher = NULL; private ${Symfony\Component\Console\Application}terminal = class Symfony\Component\Console\Terminal { ... }; private ${Symfony\Component\Console\Application}defaultCommand = 'list'; private ${Symfony\Component\Console\Application}singleCommand = FALSE; private ${Symfony\Component\Console\Application}initialized = TRUE; private ${Symfony\Component\Console\Application}signalRegistry = class Symfony\Component\Console\SignalRegistry\SignalRegistry { ... }; private ${Symfony\Component\Console\Application}signalsToDispatchEvent = [...] }; private ${Symfony\Component\Console\Command\Command}name = 'help'; private ${Symfony\Component\Console\Command\Command}processTitle = NULL; private ${Symfony\Component\Console\Command\Command}aliases = []; private ${Symfony\Component\Console\Command\Command}definition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = [...]; private $requiredCount = 0; private $hasAnArrayArgument = FALSE; private $hasOptional = TRUE; private $options = [...]; private $shortcuts = [...] }; private ${Symfony\Component\Console\Command\Command}hidden = FALSE; private ${Symfony\Component\Console\Command\Command}help = 'The <info>%command.name%</info> command displays help for a given command:\n\n  <info>%command.full_name% list</info>\n\nYou can also output the help in other formats by using the <comment>--format</comment> option:\n\n  <info>%command.full_name% --format=xml list</info>\n\nTo display the list of available commands, please use the <info>list</info> command.'; private ${Symfony\Component\Console\Command\Command}description = 'Displays help for a command'; private ${Symfony\Component\Console\Command\Command}fullDefinition = NULL; private ${Symfony\Component\Console\Command\Command}ignoreValidationErrors = TRUE; private ${Symfony\Component\Console\Command\Command}code = NULL; private ${Symfony\Component\Console\Command\Command}synopsis = []; private ${Symfony\Component\Console\Command\Command}usages = []; private ${Symfony\Component\Console\Command\Command}helperSet = NULL; private $command = NULL }) phar:///Volumes/CS/www/website/var/pickle.phar/vendor/symfony/console/Application.php:1230
PHP   8. Symfony\Component\Console\Command\Command->setApplication($application = class Pickle\Console\Application { private ${Symfony\Component\Console\Application}commands = []; private ${Symfony\Component\Console\Application}wantHelps = FALSE; private ${Symfony\Component\Console\Application}runningCommand = NULL; private ${Symfony\Component\Console\Application}name = '\n ██████╗ ██╗ ██████╗██╗  ██╗██╗     ███████╗\n ██╔══██╗██║██╔════╝██║ ██╔╝██║     ██╔════╝\n ██████╔╝██║██║     █████╔╝ ██║     █████╗\n ██╔═══╝ ██║██║     ██╔═██╗ ██║     ██╔══╝\n ██║     ██║╚██████╗██║  ██╗�'; private ${Symfony\Component\Console\Application}version = 'v0.7.7'; private ${Symfony\Component\Console\Application}commandLoader = NULL; private ${Symfony\Component\Console\Application}catchExceptions = TRUE; private ${Symfony\Component\Console\Application}autoExit = TRUE; private ${Symfony\Component\Console\Application}definition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = [...]; private $requiredCount = 0; private $hasAnArrayArgument = FALSE; private $hasOptional = TRUE; private $options = [...]; private $shortcuts = [...] }; private ${Symfony\Component\Console\Application}helperSet = NULL; private ${Symfony\Component\Console\Application}dispatcher = NULL; private ${Symfony\Component\Console\Application}terminal = class Symfony\Component\Console\Terminal {  }; private ${Symfony\Component\Console\Application}defaultCommand = 'list'; private ${Symfony\Component\Console\Application}singleCommand = FALSE; private ${Symfony\Component\Console\Application}initialized = TRUE; private ${Symfony\Component\Console\Application}signalRegistry = class Symfony\Component\Console\SignalRegistry\SignalRegistry { private $signalHandlers = [...] }; private ${Symfony\Component\Console\Application}signalsToDispatchEvent = [0 => 2, 1 => 15, 2 => 30, 3 => 31] }) phar:///Volumes/CS/www/website/var/pickle.phar/vendor/symfony/console/Application.php:484
PHP   9. Symfony\Component\Console\Application->getHelperSet() phar:///Volumes/CS/www/website/var/pickle.phar/vendor/symfony/console/Command/Command.php:96
PHP  10. Pickle\Console\Application->getDefaultHelperSet() phar:///Volumes/CS/www/website/var/pickle.phar/vendor/symfony/console/Application.php:316
PHP  11. Symfony\Component\Console\Application->getDefaultHelperSet() phar:///Volumes/CS/www/website/var/pickle.phar/src/Console/Application.php:58
PHP  12. Composer\Autoload\ClassLoader->loadClass($class = 'Symfony\\Component\\Console\\Helper\\HelperSet') phar:///Volumes/CS/www/website/var/pickle.phar/vendor/symfony/console/Application.php:1059
PHP  13. Composer\Autoload\includeFile($file = 'phar:///Volumes/CS/www/website/var/pickle.phar/vendor/composer/../symfony/console/Helper/HelperSet.php') phar:///Volumes/CS/www/website/var/pickle.phar/vendor/composer/ClassLoader.php:346
PHP  14. include() phar:///Volumes/CS/www/website/var/pickle.phar/vendor/composer/ClassLoader.php:480

Deprecated: Return type of Symfony\Component\Console\Helper\HelperSet::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///Volumes/CS/www/website/var/pickle.phar/vendor/symfony/console/Helper/HelperSet.php on line 94

Call Stack:
    0.0071    3211904   1. {main}() /Volumes/CS/www/website/var/pickle.phar:0
    0.0071    3208512   2. require('phar:///Volumes/CS/www/website/var/pickle.phar/bin/pickle') /Volumes/CS/www/website/var/pickle.phar:10
    0.0103    3773640   3. Symfony\Component\Console\Application->run($input = ???, $output = ???) phar:///Volumes/CS/www/website/var/pickle.phar/bin/pickle:38
    0.0218    4072008   4. Symfony\Component\Console\Application->doRun($input = class Symfony\Component\Console\Input\ArgvInput { protected $definition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = [...]; private $requiredCount = 0; private $hasAnArrayArgument = FALSE; private $hasOptional = TRUE; private $options = [...]; private $shortcuts = [...] }; protected $stream = NULL; protected $options = ['verbose' => TRUE]; protected $arguments = []; protected $interactive = TRUE; private $tokens = [0 => '-v']; private $parsed = [] }, $output = class Symfony\Component\Console\Output\ConsoleOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 64; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { private $decorated = TRUE; private $styles = [...]; private $styleStack = class Symfony\Component\Console\Formatter\OutputFormatterStyleStack { ... } }; private ${Symfony\Component\Console\Output\StreamOutput}stream = resource(74) of type (stream); private $stderr = class Symfony\Component\Console\Output\StreamOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 64; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { ... }; private $stream = resource(89) of type (stream) }; private $consoleSectionOutputs = [] }) phar:///Volumes/CS/www/website/var/pickle.phar/vendor/symfony/console/Application.php:166
    0.0221    4166032   5. Symfony\Component\Console\Application->find($name = 'list') phar:///Volumes/CS/www/website/var/pickle.phar/vendor/symfony/console/Application.php:254
    0.0221    4166032   6. Symfony\Component\Console\Application->init() phar:///Volumes/CS/www/website/var/pickle.phar/vendor/symfony/console/Application.php:628
    0.0238    4354112   7. Symfony\Component\Console\Application->add($command = class Symfony\Component\Console\Command\HelpCommand { private ${Symfony\Component\Console\Command\Command}application = class Pickle\Console\Application { private ${Symfony\Component\Console\Application}commands = [...]; private ${Symfony\Component\Console\Application}wantHelps = FALSE; private ${Symfony\Component\Console\Application}runningCommand = NULL; private ${Symfony\Component\Console\Application}name = '\n ██████╗ ██╗ ██████╗██╗  ██╗██╗     ███████╗\n ██╔══██╗██║██╔════╝██║ ██╔╝██║     ██╔════╝\n ██████╔╝██║██║     █████╔╝ ██║     █████╗\n ██╔═══╝ ██║██║     ██╔═██╗ ██║     ██╔══╝\n ██║     ██║╚██████╗██║  ██╗�'; private ${Symfony\Component\Console\Application}version = 'v0.7.7'; private ${Symfony\Component\Console\Application}commandLoader = NULL; private ${Symfony\Component\Console\Application}catchExceptions = TRUE; private ${Symfony\Component\Console\Application}autoExit = TRUE; private ${Symfony\Component\Console\Application}definition = class Symfony\Component\Console\Input\InputDefinition { ... }; private ${Symfony\Component\Console\Application}helperSet = NULL; private ${Symfony\Component\Console\Application}dispatcher = NULL; private ${Symfony\Component\Console\Application}terminal = class Symfony\Component\Console\Terminal { ... }; private ${Symfony\Component\Console\Application}defaultCommand = 'list'; private ${Symfony\Component\Console\Application}singleCommand = FALSE; private ${Symfony\Component\Console\Application}initialized = TRUE; private ${Symfony\Component\Console\Application}signalRegistry = class Symfony\Component\Console\SignalRegistry\SignalRegistry { ... }; private ${Symfony\Component\Console\Application}signalsToDispatchEvent = [...] }; private ${Symfony\Component\Console\Command\Command}name = 'help'; private ${Symfony\Component\Console\Command\Command}processTitle = NULL; private ${Symfony\Component\Console\Command\Command}aliases = []; private ${Symfony\Component\Console\Command\Command}definition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = [...]; private $requiredCount = 0; private $hasAnArrayArgument = FALSE; private $hasOptional = TRUE; private $options = [...]; private $shortcuts = [...] }; private ${Symfony\Component\Console\Command\Command}hidden = FALSE; private ${Symfony\Component\Console\Command\Command}help = 'The <info>%command.name%</info> command displays help for a given command:\n\n  <info>%command.full_name% list</info>\n\nYou can also output the help in other formats by using the <comment>--format</comment> option:\n\n  <info>%command.full_name% --format=xml list</info>\n\nTo display the list of available commands, please use the <info>list</info> command.'; private ${Symfony\Component\Console\Command\Command}description = 'Displays help for a command'; private ${Symfony\Component\Console\Command\Command}fullDefinition = NULL; private ${Symfony\Component\Console\Command\Command}ignoreValidationErrors = TRUE; private ${Symfony\Component\Console\Command\Command}code = NULL; private ${Symfony\Component\Console\Command\Command}synopsis = []; private ${Symfony\Component\Console\Command\Command}usages = []; private ${Symfony\Component\Console\Command\Command}helperSet = NULL; private $command = NULL }) phar:///Volumes/CS/www/website/var/pickle.phar/vendor/symfony/console/Application.php:1230
    0.0238    4354112   8. Symfony\Component\Console\Command\Command->setApplication($application = class Pickle\Console\Application { private ${Symfony\Component\Console\Application}commands = []; private ${Symfony\Component\Console\Application}wantHelps = FALSE; private ${Symfony\Component\Console\Application}runningCommand = NULL; private ${Symfony\Component\Console\Application}name = '\n ██████╗ ██╗ ██████╗██╗  ██╗██╗     ███████╗\n ██╔══██╗██║██╔════╝██║ ██╔╝██║     ██╔════╝\n ██████╔╝██║██║     █████╔╝ ██║     █████╗\n ██╔═══╝ ██║██║     ██╔═██╗ ██║     ██╔══╝\n ██║     ██║╚██████╗██║  ██╗�'; private ${Symfony\Component\Console\Application}version = 'v0.7.7'; private ${Symfony\Component\Console\Application}commandLoader = NULL; private ${Symfony\Component\Console\Application}catchExceptions = TRUE; private ${Symfony\Component\Console\Application}autoExit = TRUE; private ${Symfony\Component\Console\Application}definition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = [...]; private $requiredCount = 0; private $hasAnArrayArgument = FALSE; private $hasOptional = TRUE; private $options = [...]; private $shortcuts = [...] }; private ${Symfony\Component\Console\Application}helperSet = NULL; private ${Symfony\Component\Console\Application}dispatcher = NULL; private ${Symfony\Component\Console\Application}terminal = class Symfony\Component\Console\Terminal {  }; private ${Symfony\Component\Console\Application}defaultCommand = 'list'; private ${Symfony\Component\Console\Application}singleCommand = FALSE; private ${Symfony\Component\Console\Application}initialized = TRUE; private ${Symfony\Component\Console\Application}signalRegistry = class Symfony\Component\Console\SignalRegistry\SignalRegistry { private $signalHandlers = [...] }; private ${Symfony\Component\Console\Application}signalsToDispatchEvent = [0 => 2, 1 => 15, 2 => 30, 3 => 31] }) phar:///Volumes/CS/www/website/var/pickle.phar/vendor/symfony/console/Application.php:484
    0.0238    4354112   9. Symfony\Component\Console\Application->getHelperSet() phar:///Volumes/CS/www/website/var/pickle.phar/vendor/symfony/console/Command/Command.php:96
    0.0238    4354112  10. Pickle\Console\Application->getDefaultHelperSet() phar:///Volumes/CS/www/website/var/pickle.phar/vendor/symfony/console/Application.php:316
    0.0238    4354112  11. Symfony\Component\Console\Application->getDefaultHelperSet() phar:///Volumes/CS/www/website/var/pickle.phar/src/Console/Application.php:58
    0.0238    4354112  12. Composer\Autoload\ClassLoader->loadClass($class = 'Symfony\\Component\\Console\\Helper\\HelperSet') phar:///Volumes/CS/www/website/var/pickle.phar/vendor/symfony/console/Application.php:1059
    0.0238    4354112  13. Composer\Autoload\includeFile($file = 'phar:///Volumes/CS/www/website/var/pickle.phar/vendor/composer/../symfony/console/Helper/HelperSet.php') phar:///Volumes/CS/www/website/var/pickle.phar/vendor/composer/ClassLoader.php:346
    0.0240    4360808  14. include('phar:///Volumes/CS/www/website/var/pickle.phar/vendor/symfony/console/Helper/HelperSet.php') phar:///Volumes/CS/www/website/var/pickle.phar/vendor/composer/ClassLoader.php:480


 ██████╗ ██╗ ██████╗██╗  ██╗██╗     ███████╗
 ██╔══██╗██║██╔════╝██║ ██╔╝██║     ██╔════╝
 ██████╔╝██║██║     █████╔╝ ██║     █████╗
 ██╔═══╝ ██║██║     ██╔═██╗ ██║     ██╔══╝
 ██║     ██║╚██████╗██║  ██╗███████╗███████╗
 ╚═╝     ╚═╝ ╚═════╝╚═╝  ╚═╝╚══════╝╚══════╝  v0.7.7

Usage:
  command [options] [arguments]

PHP Deprecated:  mb_detect_encoding(): Passing null to parameter #1 ($string) of type string is deprecated in phar:///Volumes/CS/www/website/var/pickle.phar/vendor/symfony/console/Helper/Helper.php on line 48
PHP Stack trace:
PHP   1. {main}() /Volumes/CS/www/website/var/pickle.phar:0
PHP   2. require() /Volumes/CS/www/website/var/pickle.phar:10
PHP   3. Symfony\Component\Console\Application->run($input = *uninitialized*, $output = *uninitialized*) phar:///Volumes/CS/www/website/var/pickle.phar/bin/pickle:38
PHP   4. Symfony\Component\Console\Application->doRun($input = class Symfony\Component\Console\Input\ArgvInput { protected $definition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = [...]; private $requiredCount = 0; private $hasAnArrayArgument = FALSE; private $hasOptional = TRUE; private $options = [...]; private $shortcuts = [...] }; protected $stream = NULL; protected $options = ['verbose' => TRUE]; protected $arguments = []; protected $interactive = TRUE; private $tokens = [0 => '-v']; private $parsed = [] }, $output = class Symfony\Component\Console\Output\ConsoleOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 64; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { private $decorated = TRUE; private $styles = [...]; private $styleStack = class Symfony\Component\Console\Formatter\OutputFormatterStyleStack { ... } }; private ${Symfony\Component\Console\Output\StreamOutput}stream = resource(74) of type (stream); private $stderr = class Symfony\Component\Console\Output\StreamOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 64; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { ... }; private $stream = resource(89) of type (stream) }; private $consoleSectionOutputs = [] }) phar:///Volumes/CS/www/website/var/pickle.phar/vendor/symfony/console/Application.php:166
PHP   5. Symfony\Component\Console\Application->doRunCommand($command = class Symfony\Component\Console\Command\ListCommand { private ${Symfony\Component\Console\Command\Command}application = class Pickle\Console\Application { private ${Symfony\Component\Console\Application}commands = [...]; private ${Symfony\Component\Console\Application}wantHelps = FALSE; private ${Symfony\Component\Console\Application}runningCommand = ...; private ${Symfony\Component\Console\Application}name = '\n ██████╗ ██╗ ██████╗██╗  ██╗██╗     ███████╗\n ██╔══██╗██║██╔════╝██║ ██╔╝██║     ██╔════╝\n ██████╔╝██║██║     █████╔╝ ██║     █████╗\n ██╔═══╝ ██║██║     ██╔═██╗ ██║     ██╔══╝\n ██║     ██║╚██████╗██║  ██╗�'; private ${Symfony\Component\Console\Application}version = 'v0.7.7'; private ${Symfony\Component\Console\Application}commandLoader = NULL; private ${Symfony\Component\Console\Application}catchExceptions = TRUE; private ${Symfony\Component\Console\Application}autoExit = TRUE; private ${Symfony\Component\Console\Application}definition = class Symfony\Component\Console\Input\InputDefinition { ... }; private ${Symfony\Component\Console\Application}helperSet = class Symfony\Component\Console\Helper\HelperSet { ... }; private ${Symfony\Component\Console\Application}dispatcher = NULL; private ${Symfony\Component\Console\Application}terminal = class Symfony\Component\Console\Terminal { ... }; private ${Symfony\Component\Console\Application}defaultCommand = 'list'; private ${Symfony\Component\Console\Application}singleCommand = FALSE; private ${Symfony\Component\Console\Application}initialized = TRUE; private ${Symfony\Component\Console\Application}signalRegistry = class Symfony\Component\Console\SignalRegistry\SignalRegistry { ... }; private ${Symfony\Component\Console\Application}signalsToDispatchEvent = [...] }; private ${Symfony\Component\Console\Command\Command}name = 'list'; private ${Symfony\Component\Console\Command\Command}processTitle = NULL; private ${Symfony\Component\Console\Command\Command}aliases = []; private ${Symfony\Component\Console\Command\Command}definition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = [...]; private $requiredCount = 0; private $hasAnArrayArgument = FALSE; private $hasOptional = TRUE; private $options = [...]; private $shortcuts = [...] }; private ${Symfony\Component\Console\Command\Command}hidden = FALSE; private ${Symfony\Component\Console\Command\Command}help = 'The <info>%command.name%</info> command lists all commands:\n\n  <info>%command.full_name%</info>\n\nYou can also display the commands for a specific namespace:\n\n  <info>%command.full_name% test</info>\n\nYou can also output the information in other formats by using the <comment>--format</comment> option:\n\n  <info>%command.full_name% --format=xml</info>\n\nIt\'s also possible to get raw list of commands (useful for embedding command runner):\n\n  <info>%command.full_name% --raw</info>'; private ${Symfony\Component\Console\Command\Command}description = 'Lists commands'; private ${Symfony\Component\Console\Command\Command}fullDefinition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = [...]; private $requiredCount = 0; private $hasAnArrayArgument = FALSE; private $hasOptional = TRUE; private $options = [...]; private $shortcuts = [...] }; private ${Symfony\Component\Console\Command\Command}ignoreValidationErrors = FALSE; private ${Symfony\Component\Console\Command\Command}code = NULL; private ${Symfony\Component\Console\Command\Command}synopsis = []; private ${Symfony\Component\Console\Command\Command}usages = []; private ${Symfony\Component\Console\Command\Command}helperSet = class Symfony\Component\Console\Helper\HelperSet { private $helpers = [...]; private $command = NULL } }, $input = class Symfony\Component\Console\Input\ArgvInput { protected $definition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = [...]; private $requiredCount = 0; private $hasAnArrayArgument = FALSE; private $hasOptional = TRUE; private $options = [...]; private $shortcuts = [...] }; protected $stream = NULL; protected $options = ['verbose' => TRUE]; protected $arguments = []; protected $interactive = TRUE; private $tokens = [0 => '-v']; private $parsed = [] }, $output = class Symfony\Component\Console\Output\ConsoleOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 64; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { private $decorated = TRUE; private $styles = [...]; private $styleStack = class Symfony\Component\Console\Formatter\OutputFormatterStyleStack { ... } }; private ${Symfony\Component\Console\Output\StreamOutput}stream = resource(74) of type (stream); private $stderr = class Symfony\Component\Console\Output\StreamOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 64; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { ... }; private $stream = resource(89) of type (stream) }; private $consoleSectionOutputs = [] }) phar:///Volumes/CS/www/website/var/pickle.phar/vendor/symfony/console/Application.php:290
PHP   6. Symfony\Component\Console\Command\Command->run($input = class Symfony\Component\Console\Input\ArgvInput { protected $definition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = [...]; private $requiredCount = 0; private $hasAnArrayArgument = FALSE; private $hasOptional = TRUE; private $options = [...]; private $shortcuts = [...] }; protected $stream = NULL; protected $options = ['verbose' => TRUE]; protected $arguments = []; protected $interactive = TRUE; private $tokens = [0 => '-v']; private $parsed = [] }, $output = class Symfony\Component\Console\Output\ConsoleOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 64; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { private $decorated = TRUE; private $styles = [...]; private $styleStack = class Symfony\Component\Console\Formatter\OutputFormatterStyleStack { ... } }; private ${Symfony\Component\Console\Output\StreamOutput}stream = resource(74) of type (stream); private $stderr = class Symfony\Component\Console\Output\StreamOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 64; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { ... }; private $stream = resource(89) of type (stream) }; private $consoleSectionOutputs = [] }) phar:///Volumes/CS/www/website/var/pickle.phar/vendor/symfony/console/Application.php:971
@llaville
Copy link

Tried with stable version of PHP 8.1.0 too ! (deprecated messages)

[email protected] in /shared/backups/php $ php -v
PHP 8.1.0 (cli) (built: Nov 30 2021 06:55:03) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.0, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.0, Copyright (c), by Zend Technologies
    with Xdebug v3.1.1, Copyright (c) 2002-2021, by Derick Rethans
[email protected] in /shared/backups/php $ pickle --version

 ██████╗ ██╗ ██████╗██╗  ██╗██╗     ███████╗
 ██╔══██╗██║██╔════╝██║ ██╔╝██║     ██╔════╝
 ██████╔╝██║██║     █████╔╝ ██║     █████╗
 ██╔═══╝ ██║██║     ██╔═██╗ ██║     ██╔══╝
 ██║     ██║╚██████╗██║  ██╗███████╗███████╗
 ╚═╝     ╚═╝ ╚═════╝╚═╝  ╚═╝╚══════╝╚══════╝  v0.7.7
[email protected] in /shared/backups/php $ pickle info mcrypt

Deprecated: Return type of Symfony\Component\Console\Helper\HelperSet::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///usr/local/bin/pickle/vendor/symfony/console/Helper/HelperSet.php on line 94
  - Installing mcrypt (latest-stable):
Deprecated: Return type of Symfony\Component\Finder\Finder::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///usr/local/bin/pickle/vendor/symfony/finder/Finder.php on line 607

Deprecated: Return type of Symfony\Component\Finder\Finder::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///usr/local/bin/pickle/vendor/symfony/finder/Finder.php on line 676

Deprecated: Return type of Symfony\Component\Finder\Iterator\RecursiveDirectoryIterator::getChildren() should either be compatible with RecursiveDirectoryIterator::getChildren(): RecursiveDirectoryIterator, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///usr/local/bin/pickle/vendor/symfony/finder/Iterator/RecursiveDirectoryIterator.php on line 85

Deprecated: Return type of Symfony\Component\Finder\Iterator\RecursiveDirectoryIterator::rewind() should either be compatible with FilesystemIterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///usr/local/bin/pickle/vendor/symfony/finder/Iterator/RecursiveDirectoryIterator.php on line 113

Deprecated: Return type of Symfony\Component\Finder\Iterator\RecursiveDirectoryIterator::current() should either be compatible with FilesystemIterator::current(): SplFileInfo|FilesystemIterator|string, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///usr/local/bin/pickle/vendor/symfony/finder/Iterator/RecursiveDirectoryIterator.php on line 61

Deprecated: Return type of Symfony\Component\Finder\Iterator\DepthRangeFilterIterator::accept() should either be compatible with FilterIterator::accept(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///usr/local/bin/pickle/vendor/symfony/finder/Iterator/DepthRangeFilterIterator.php on line 41

Deprecated: Return type of Symfony\Component\Process\Process::getIterator(int $flags = 0) should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///usr/local/bin/pickle/vendor/symfony/process/Process.php on line 610
Downloading (100%)

Deprecated: Return type of Symfony\Component\Finder\Iterator\FilenameFilterIterator::accept() should either be compatible with FilterIterator::accept(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///usr/local/bin/pickle/vendor/symfony/finder/Iterator/FilenameFilterIterator.php on line 28
+-----------------------------------+--------+
| Package name                      | mcrypt |
| Package version (current release) | 1.0.4  |
| Package status                    | stable |
+-----------------------------------+--------+

Bindings for the libmcrypt library

Configure options
+------+--------------------+---------+
| Type | Description        | Default |
+------+--------------------+---------+
| with | for mcrypt support |         |
+------+--------------------+---------+

[email protected] in /shared/backups/php $ pickle install mcrypt

Deprecated: Return type of Symfony\Component\Console\Helper\HelperSet::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///usr/local/bin/pickle/vendor/symfony/console/Helper/HelperSet.php on line 94
  - Installing mcrypt (latest-stable):
Deprecated: Return type of Symfony\Component\Finder\Finder::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///usr/local/bin/pickle/vendor/symfony/finder/Finder.php on line 607

Deprecated: Return type of Symfony\Component\Finder\Finder::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///usr/local/bin/pickle/vendor/symfony/finder/Finder.php on line 676

Deprecated: Return type of Symfony\Component\Finder\Iterator\RecursiveDirectoryIterator::getChildren() should either be compatible with RecursiveDirectoryIterator::getChildren(): RecursiveDirectoryIterator, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///usr/local/bin/pickle/vendor/symfony/finder/Iterator/RecursiveDirectoryIterator.php on line 85

Deprecated: Return type of Symfony\Component\Finder\Iterator\RecursiveDirectoryIterator::rewind() should either be compatible with FilesystemIterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///usr/local/bin/pickle/vendor/symfony/finder/Iterator/RecursiveDirectoryIterator.php on line 113

Deprecated: Return type of Symfony\Component\Finder\Iterator\RecursiveDirectoryIterator::current() should either be compatible with FilesystemIterator::current(): SplFileInfo|FilesystemIterator|string, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///usr/local/bin/pickle/vendor/symfony/finder/Iterator/RecursiveDirectoryIterator.php on line 61

Deprecated: Return type of Symfony\Component\Finder\Iterator\DepthRangeFilterIterator::accept() should either be compatible with FilterIterator::accept(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///usr/local/bin/pickle/vendor/symfony/finder/Iterator/DepthRangeFilterIterator.php on line 41

Deprecated: Return type of Symfony\Component\Process\Process::getIterator(int $flags = 0) should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///usr/local/bin/pickle/vendor/symfony/process/Process.php on line 610
Downloading (100%)

Deprecated: Return type of Symfony\Component\Finder\Iterator\FilenameFilterIterator::accept() should either be compatible with FilterIterator::accept(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///usr/local/bin/pickle/vendor/symfony/finder/Iterator/FilenameFilterIterator.php on line 28
+-----------------------------------+--------+
| Package name                      | mcrypt |
| Package version (current release) | 1.0.4  |
| Package status                    | stable |
+-----------------------------------+--------+

ruudk added a commit to ruudk/pickle that referenced this issue Dec 13, 2021
ruudk added a commit to ruudk/pickle that referenced this issue Dec 13, 2021
ruudk added a commit to ruudk/pickle that referenced this issue Dec 13, 2021
@llaville
Copy link

llaville commented Dec 19, 2021

Raise symfony/console minimum to 5.3.7 will fix part of this issue.

Here are what I've applied on current copy of Pickle (commit d69ff6f6).

composer update to upgrade dependencies ; current version is symfony/console 5.4.1

Build the PHAR distribution with box 3.14.0@78b88c4
box compile

And run tests again

[email protected] in /shared/backups/github/pickle $ ./pickle.phar info mcrypt

Deprecated: Return type of HumbugBox3140\KevinGH\RequirementChecker\RequirementCollection::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///shared/backups/github/pickle/pickle.phar/.box/src/RequirementCollection.php on line 14

Deprecated: Return type of HumbugBox3140\KevinGH\RequirementChecker\RequirementCollection::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///shared/backups/github/pickle/pickle.phar/.box/src/RequirementCollection.php on line 19
  - Installing mcrypt (latest-stable): Downloading (100%)
+-----------------------------------+--------+
| Package name                      | mcrypt |
| Package version (current release) | 1.0.4  |
| Package status                    | stable |
+-----------------------------------+--------+

Bindings for the libmcrypt library

Configure options
+------+--------------------+---------+
| Type | Description        | Default |
+------+--------------------+---------+
| with | for mcrypt support |         |
+------+--------------------+---------+

And test to install extension

[email protected] in /shared/backups/github/pickle $ ./pickle.phar install mcrypt

Deprecated: Return type of HumbugBox3140\KevinGH\RequirementChecker\RequirementCollection::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///shared/backups/github/pickle/pickle.phar/.box/src/RequirementCollection.php on line 14

Deprecated: Return type of HumbugBox3140\KevinGH\RequirementChecker\RequirementCollection::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///shared/backups/github/pickle/pickle.phar/.box/src/RequirementCollection.php on line 19
  - Installing mcrypt (latest-stable): Downloading (100%)
+-----------------------------------+--------+
| Package name                      | mcrypt |
| Package version (current release) | 1.0.4  |
| Package status                    | stable |
+-----------------------------------+--------+

ruudk added a commit to ruudk/pickle that referenced this issue Dec 19, 2021
@ruudk
Copy link
Contributor Author

ruudk commented Dec 19, 2021

Updated #248 to use 5.4.1

@llaville
Copy link

@ruudk you misunderstood what I would like to say when I upgraded to symfony/console 5.4.1
This is the latest version available in branch 5.x and not the minimum requirements.
I let you confirm that 5 3.7 is the min

@ruudk
Copy link
Contributor Author

ruudk commented Dec 19, 2021

Hmm, ok. Updated the PR back to 5.3.7

@llaville
Copy link

For remaining deprecated errors

Deprecated: Return type of HumbugBox3140\KevinGH\RequirementChecker\RequirementCollection::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///shared/backups/github/pickle/pickle.phar/.box/src/RequirementCollection.php on line 14

Deprecated: Return type of HumbugBox3140\KevinGH\RequirementChecker\RequirementCollection::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///shared/backups/github/pickle/pickle.phar/.box/src/RequirementCollection.php on line 19

This is due to box-project and humbug/php-scoper dependency that have not yet a PHP 8.1 compatible version: see explains I've provided at box-project/box#562 (comment)

@llaville
Copy link

@mlocati I can confirm that v0.7.9 fixed the problem !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants