Skip to content

PHP 8.4 support #74

@Kapeli

Description

@Kapeli

Hi. I want to use Doctum within Dash, but I'm not able to get it to work with PHP 8.4. The dev and stable releases of Doctum give this error:

PHP Deprecated:  Symfony\Component\Console\Application::run(): Implicitly marking parameter $input as nullable is deprecated, the explicit nullable type must be used instead in phar:///Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar/vendor/symfony/console/Application.php on line 137

Deprecated: Symfony\Component\Console\Application::run(): Implicitly marking parameter $input as nullable is deprecated, the explicit nullable type must be used instead in phar:///Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar/vendor/symfony/console/Application.php on line 137
PHP Deprecated:  Symfony\Component\Console\Application::run(): Implicitly marking parameter $output as nullable is deprecated, the explicit nullable type must be used instead in phar:///Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar/vendor/symfony/console/Application.php on line 137

Deprecated: Symfony\Component\Console\Application::run(): Implicitly marking parameter $output as nullable is deprecated, the explicit nullable type must be used instead in phar:///Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar/vendor/symfony/console/Application.php on line 137
PHP Deprecated:  Symfony\Component\Console\Application::all(): Implicitly marking parameter $namespace as nullable is deprecated, the explicit nullable type must be used instead in phar:///Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar/vendor/symfony/console/Application.php on line 781

Deprecated: Symfony\Component\Console\Application::all(): Implicitly marking parameter $namespace as nullable is deprecated, the explicit nullable type must be used instead in phar:///Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar/vendor/symfony/console/Application.php on line 781
PHP Deprecated:  Symfony\Component\Console\Application::extractNamespace(): Implicitly marking parameter $limit as nullable is deprecated, the explicit nullable type must be used instead in phar:///Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar/vendor/symfony/console/Application.php on line 1150

Deprecated: Symfony\Component\Console\Application::extractNamespace(): Implicitly marking parameter $limit as nullable is deprecated, the explicit nullable type must be used instead in phar:///Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar/vendor/symfony/console/Application.php on line 1150
PHP Deprecated:  Constant Doctum\E_STRICT is deprecated in phar:///Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar/src/ErrorHandler.php on line 24

Deprecated: Constant Doctum\E_STRICT is deprecated in phar:///Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar/src/ErrorHandler.php on line 24
PHP Fatal error:  Uncaught ErrorException: Deprecated: Symfony\Component\Console\Command\Command::__construct(): Implicitly marking parameter $name as nullable is deprecated, the explicit nullable type must be used instead in phar:///Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar/vendor/symfony/console/Command/Command.php line 99 in phar:///Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar/src/ErrorHandler.php:53
Stack trace:
#0 phar:///Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar/vendor/composer/ClassLoader.php(576): Doctum\ErrorHandler->handle(8192, 'Symfony\\Compone...', 'phar:///Users/b...', 99)
#1 phar:///Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar/vendor/composer/ClassLoader.php(576): include()
#2 phar:///Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar/vendor/composer/ClassLoader.php(427): {closure:Composer\Autoload\ClassLoader::initializeIncludeClosure():575}('phar:///Users/b...')
#3 phar:///Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar/src/Console/Command/VersionCommand.php(21): Composer\Autoload\ClassLoader->loadClass('Symfony\\Compone...')
#4 phar:///Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar/vendor/composer/ClassLoader.php(576): include('phar:///Users/b...')
#5 phar:///Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar/vendor/composer/ClassLoader.php(427): {closure:Composer\Autoload\ClassLoader::initializeIncludeClosure():575}('phar:///Users/b...')
#6 phar:///Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar/src/Console/Application.php(34): Composer\Autoload\ClassLoader->loadClass('Doctum\\Console\\...')
#7 phar:///Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar/bin/doctum-binary.php(25): Doctum\Console\Application->__construct()
#8 /Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar(16): include('phar:///Users/b...')
#9 {main}
  thrown in phar:///Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar/src/ErrorHandler.php on line 53

Fatal error: Uncaught ErrorException: Deprecated: Symfony\Component\Console\Command\Command::__construct(): Implicitly marking parameter $name as nullable is deprecated, the explicit nullable type must be used instead in phar:///Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar/vendor/symfony/console/Command/Command.php line 99 in phar:///Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar/src/ErrorHandler.php:53
Stack trace:
#0 phar:///Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar/vendor/composer/ClassLoader.php(576): Doctum\ErrorHandler->handle(8192, 'Symfony\\Compone...', 'phar:///Users/b...', 99)
#1 phar:///Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar/vendor/composer/ClassLoader.php(576): include()
#2 phar:///Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar/vendor/composer/ClassLoader.php(427): {closure:Composer\Autoload\ClassLoader::initializeIncludeClosure():575}('phar:///Users/b...')
#3 phar:///Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar/src/Console/Command/VersionCommand.php(21): Composer\Autoload\ClassLoader->loadClass('Symfony\\Compone...')
#4 phar:///Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar/vendor/composer/ClassLoader.php(576): include('phar:///Users/b...')
#5 phar:///Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar/vendor/composer/ClassLoader.php(427): {closure:Composer\Autoload\ClassLoader::initializeIncludeClosure():575}('phar:///Users/b...')
#6 phar:///Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar/src/Console/Application.php(34): Composer\Autoload\ClassLoader->loadClass('Doctum\\Console\\...')
#7 phar:///Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar/bin/doctum-binary.php(25): Doctum\Console\Application->__construct()
#8 /Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar(16): include('phar:///Users/b...')
#9 {main}
  thrown in phar:///Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar/src/ErrorHandler.php on line 53

I've also made a phar from the latest commit, by running composer install and then sh scripts/make-release.sh, and running that phar gives this error:

Fatal error: Uncaught Error: Call to undefined function Doctum\error_reporting() in phar:///Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar/src/ErrorHandler.php:46
Stack trace:
#0 phar:///Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar/vendor/composer/ClassLoader.php(576): Doctum\ErrorHandler->handle(8192, 'Parsedown::bloc...', 'phar:///Users/b...', 715)
#1 phar:///Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar/vendor/composer/ClassLoader.php(576): include()
#2 phar:///Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar/vendor/composer/ClassLoader.php(427): {closure:Composer\Autoload\ClassLoader::initializeIncludeClosure():575}('phar:///Users/b...')
#3 phar:///Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar/src/Renderer/TwigExtension.php(180): Composer\Autoload\ClassLoader->loadClass('Parsedown')
#4 phar:///Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar/src/Renderer/Renderer.php(351): Doctum\Renderer\TwigExtension->markdownToHtml('A reusable attr...')
#5 phar:///Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar/src/Renderer/Renderer.php(130): Doctum\Renderer\Renderer->getSearchIndex(Object(Doctum\Project))
#6 phar:///Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar/src/Renderer/Renderer.php(86): Doctum\Renderer\Renderer->renderGlobalTemplates(Object(Doctum\Project), Array)
#7 phar:///Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar/src/Project.php(748): Doctum\Renderer\Renderer->render(Object(Doctum\Project), Array, false)
#8 phar:///Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar/src/Project.php(138): Doctum\Project->renderVersion(Object(Doctum\Version\Version), NULL, Array, false)
#9 phar:///Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar/src/Console/Command/Command.php(193): Doctum\Project->update(Array, false)
#10 phar:///Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar/src/Console/Command/UpdateCommand.php(58): Doctum\Console\Command\Command->update(Object(Doctum\Project))
#11 phar:///Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar/vendor/symfony/console/Command/Command.php(326): Doctum\Console\Command\UpdateCommand->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#12 phar:///Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar/vendor/symfony/console/Application.php(1078): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#13 phar:///Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar/vendor/symfony/console/Application.php(324): Symfony\Component\Console\Application->doRunCommand(Object(Doctum\Console\Command\UpdateCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#14 phar:///Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar/vendor/symfony/console/Application.php(175): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#15 phar:///Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar/bin/doctum-binary.php(26): Symfony\Component\Console\Application->run()
#16 /Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar(16): include('phar:///Users/b...')
#17 {main}
  thrown in phar:///Users/bogdan/Desktop/src/Seldaek-monolog-aef6ee7/doctum.phar/src/ErrorHandler.php on line 46

I'm not very good with PHP, so I'm not sure if this gives you enough information to figure out what is going wrong (or what I'm doing wrong). Please let me know if you need me to do anything.

Thanks for the help!

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions