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.4 support #74

Open
Kapeli opened this issue Mar 6, 2025 · 1 comment
Open

PHP 8.4 support #74

Kapeli opened this issue Mar 6, 2025 · 1 comment
Assignees
Labels
bug Something isn't working
Milestone

Comments

@Kapeli
Copy link

Kapeli commented Mar 6, 2025

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!

@williamdes williamdes self-assigned this Mar 7, 2025
@williamdes williamdes added the bug Something isn't working label Mar 7, 2025
@williamdes williamdes added this to the v5.6.0 milestone Mar 7, 2025
@williamdes
Copy link
Member

Hi!
see #70 and #72
currently the support is on the road, but one more vendor still has to do fixes: erusev/parsedown#900

"Call to undefined function Doctum\error_reporting()" this is weird

Thanks for opening this issue, I will let you know

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Development

No branches or pull requests

2 participants