[wp-trac] [WordPress Trac] #60077: Class UnexpectedValueException not found

WordPress Trac noreply at wordpress.org
Thu Dec 14 20:22:35 UTC 2023


#60077: Class UnexpectedValueException not found
--------------------------+-----------------------------
 Reporter:  vikram6       |      Owner:  (none)
     Type:  defect (bug)  |     Status:  assigned
 Priority:  normal        |  Milestone:  Awaiting Review
Component:  Database      |    Version:  6.4.2
 Severity:  critical      |   Keywords:
  Focuses:                |
--------------------------+-----------------------------
 I'm seeing the following error when running certain wp cli commands -

 {{{
 PHP Fatal error:  Uncaught Error: Class
 "WpOrg\Requests\UnexpectedValueException" not found in wp-
 includes/Requests/src/Iri.php:726
 }}}

 I believe this bug was introduced recently in this commit -
 https://core.trac.wordpress.org/changeset/56835.
 {{{UnexpectedValueException}}} is missing the backslash {{{\}}} and hence
 PHP is trying to find it in the {{{WpOrg\Requests}}} namespace instead of
 the global namespace. The lines of code that are referencing
 {{{UnexpectedValueException}}} should be updated to the following -
 {{{
 throw new \UnexpectedValueException();
 }}}

 Full stack trace -


 {{{
 PHP Fatal error:  Uncaught Error: Class
 "WpOrg\Requests\UnexpectedValueException" not found in wp-
 includes/Requests/src/Iri.php:726
 Stack trace:
 #0 [internal function]: WpOrg\Requests\Iri->__wakeup()
 #1 phar:///usr/share/wp-cli.phar/vendor/wp-cli/search-replace-
 command/src/WP_CLI/SearchReplacer.php(86): unserialize()
 #2 phar:///usr/share/wp-cli.phar/vendor/wp-cli/search-replace-
 command/src/WP_CLI/SearchReplacer.php(57):
 WP_CLI\SearchReplacer->run_recursively()
 #3 phar:///usr/share/wp-cli.phar/vendor/wp-cli/search-replace-
 command/src/Search_Replace_Command.php(580): WP_CLI\SearchReplacer->run()
 #4 phar:///usr/share/wp-cli.phar/vendor/wp-cli/search-replace-
 command/src/Search_Replace_Command.php(400):
 Search_Replace_Command->php_handle_col()
 #5 [internal function]: Search_Replace_Command->__invoke()
 #6 phar:///usr/share/wp-cli.phar/vendor/wp-cli/wp-
 cli/php/WP_CLI/Dispatcher/CommandFactory.php(100): call_user_func()
 #7 [internal function]:
 WP_CLI\Dispatcher\CommandFactory::WP_CLI\Dispatcher\{closure}()
 #8 phar:///usr/share/wp-cli.phar/vendor/wp-cli/wp-
 cli/php/WP_CLI/Dispatcher/Subcommand.php(491): call_user_func()
 #9 phar:///usr/share/wp-cli.phar/vendor/wp-cli/wp-
 cli/php/WP_CLI/Runner.php(417): WP_CLI\Dispatcher\Subcommand->invoke()
 #10 phar:///usr/share/wp-cli.phar/vendor/wp-cli/wp-
 cli/php/WP_CLI/Runner.php(440): WP_CLI\Runner->run_command()
 #11 phar:///usr/share/wp-cli.phar/vendor/wp-cli/wp-
 cli/php/WP_CLI/Runner.php(1237): WP_CLI\Runner->run_command_and_exit()
 #12 phar:///usr/share/wp-cli.phar/vendor/wp-cli/wp-
 cli/php/WP_CLI/Bootstrap/LaunchRunner.php(28): WP_CLI\Runner->start()
 #13 phar:///usr/share/wp-cli.phar/vendor/wp-cli/wp-
 cli/php/bootstrap.php(78): WP_CLI\Bootstrap\LaunchRunner->process()
 #14 phar:///usr/share/wp-cli.phar/vendor/wp-cli/wp-cli/php/wp-cli.php(27):
 WP_CLI\bootstrap()
 #15 phar:///usr/share/wp-cli.phar/php/boot-phar.php(11): include('...')
 #16 /usr/share/wp-cli.phar(4): include('...')
 #17 {main}
 }}}

 More details -

 - WordPress version - 6.4.2
 - WP CLI command - {{{wp search-replace foo bar --regex --skip-plugins
 --skip-themes}}}
 - The database needs to have a certain format of serialized data to
 reproduce this but I'm not exactly sure what that format is.

-- 
Ticket URL: <https://core.trac.wordpress.org/ticket/60077>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list